diff options
author | redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-12-12 15:58:49 +0000 |
---|---|---|
committer | redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-12-12 15:58:49 +0000 |
commit | 0fcfaa33cbf333ac69cc2b01a7277e5272ff8a3d (patch) | |
tree | a9b9668f40f36dc496d6b038eeb7f0d316b8f099 /libstdc++-v3 | |
parent | 3ccf08bc5682eb45d60d84e0274017947027f179 (diff) | |
download | gcc-0fcfaa33cbf333ac69cc2b01a7277e5272ff8a3d.tar.gz |
PR libstdc++/64276
* doc/doxygen/user.cfg.in: Define __cpp_exceptions and __cpp_rtti.
* doc/html/manual/using_exceptions.html: Regenerate.
* doc/xml/manual/using_exceptions.xml: Use SD-6 feature-testing
macros, __cpp_exceptions and __cpp_rtti, instead of __EXCEPTIONS and
__GXX_RTTI.
* include/bits/c++config: Likewise.
* include/bits/locale_classes.tcc: Likewise.
* include/bits/shared_ptr.h: Likewise.
* include/bits/shared_ptr_base.h: Likewise.
* include/debug/formatter.h: Likewise.
* include/experimental/any: Likewise.
* include/ext/rope: Likewise.
* include/ext/ropeimpl.h: Likewise.
* include/std/functional: Likewise.
* include/tr1/functional: Likewise.
* include/tr1/shared_ptr.h: Likewise.
* libsupc++/eh_call.cc: Likewise.
* libsupc++/eh_personality.cc: Likewise.
* libsupc++/exception_defines.h: Likewise.
* libsupc++/exception_ptr.h: Likewise.
* libsupc++/guard.cc: Likewise.
* libsupc++/pbase_type_info.cc: Likewise.
* libsupc++/pointer_type_info.cc: Likewise.
* libsupc++/vterminate.cc: Likewise.
* src/c++11/thread.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218679 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3')
24 files changed, 84 insertions, 57 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 52f6d009353..7c3910362a3 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -5,6 +5,33 @@ disabled. * testsuite/18_support/exception_ptr/64241.cc: New. + PR libstdc++/64276 + * doc/doxygen/user.cfg.in: Define __cpp_exceptions and __cpp_rtti. + * doc/html/manual/using_exceptions.html: Regenerate. + * doc/xml/manual/using_exceptions.xml: Use SD-6 feature-testing + macros, __cpp_exceptions and __cpp_rtti, instead of __EXCEPTIONS and + __GXX_RTTI. + * include/bits/c++config: Likewise. + * include/bits/locale_classes.tcc: Likewise. + * include/bits/shared_ptr.h: Likewise. + * include/bits/shared_ptr_base.h: Likewise. + * include/debug/formatter.h: Likewise. + * include/experimental/any: Likewise. + * include/ext/rope: Likewise. + * include/ext/ropeimpl.h: Likewise. + * include/std/functional: Likewise. + * include/tr1/functional: Likewise. + * include/tr1/shared_ptr.h: Likewise. + * libsupc++/eh_call.cc: Likewise. + * libsupc++/eh_personality.cc: Likewise. + * libsupc++/exception_defines.h: Likewise. + * libsupc++/exception_ptr.h: Likewise. + * libsupc++/guard.cc: Likewise. + * libsupc++/pbase_type_info.cc: Likewise. + * libsupc++/pointer_type_info.cc: Likewise. + * libsupc++/vterminate.cc: Likewise. + * src/c++11/thread.cc: Likewise. + 2014-12-12 Jonathan Wakely <jwakely@redhat.com> * include/bits/stl_iterator.h (make_reverse_iterator): LWG DR 2285. diff --git a/libstdc++-v3/doc/doxygen/user.cfg.in b/libstdc++-v3/doc/doxygen/user.cfg.in index 7ec91a16fdb..019462e92ad 100644 --- a/libstdc++-v3/doc/doxygen/user.cfg.in +++ b/libstdc++-v3/doc/doxygen/user.cfg.in @@ -2142,8 +2142,8 @@ PREDEFINED = __cplusplus=201103L \ _GLIBCXX_USE_C99_STDINT_TR1 \ _GLIBCXX_USE_SCHED_YIELD \ _GLIBCXX_USE_NANOSLEEP \ - __EXCEPTIONS \ - __GXX_RTTI \ + __cpp_exceptions \ + __cpp_rtti \ ATOMIC_INT_LOCK_FREE \ PB_DS_DATA_TRUE_INDICATOR \ PB_DS_STATIC_ASSERT=// \ diff --git a/libstdc++-v3/doc/html/manual/using_exceptions.html b/libstdc++-v3/doc/html/manual/using_exceptions.html index 83e4ba6eec9..f1dd0996758 100644 --- a/libstdc++-v3/doc/html/manual/using_exceptions.html +++ b/libstdc++-v3/doc/html/manual/using_exceptions.html @@ -151,7 +151,7 @@ exception neutrality and exception safety. and <code class="literal">__throw_exception_again</code>. They are defined as follows. </p><pre class="programlisting"> -#ifdef __EXCEPTIONS +#if __cpp_exceptions # define __try try # define __catch(X) catch(X) # define __throw_exception_again throw @@ -165,7 +165,7 @@ exception neutrality and exception safety. class <code class="classname">exception</code>, there exists a corresponding function with C language linkage. An example: </p><pre class="programlisting"> -#ifdef __EXCEPTIONS +#if __cpp_exceptions void __throw_bad_exception(void) { throw bad_exception(); } #else @@ -310,4 +310,4 @@ is called. <a class="link" href="http://gcc.gnu.org/PR25191" target="_top"> GCC Bug 25191: exception_defines.h #defines try/catch </a> - </em>. </span></p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="using_concurrency.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="using.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="debug.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Concurrency </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Debugging Support</td></tr></table></div></body></html>
\ No newline at end of file + </em>. </span></p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="using_concurrency.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="using.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="debug.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Concurrency </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Debugging Support</td></tr></table></div></body></html> diff --git a/libstdc++-v3/doc/xml/manual/using_exceptions.xml b/libstdc++-v3/doc/xml/manual/using_exceptions.xml index 698b2fbf632..840c12b972b 100644 --- a/libstdc++-v3/doc/xml/manual/using_exceptions.xml +++ b/libstdc++-v3/doc/xml/manual/using_exceptions.xml @@ -251,7 +251,7 @@ exception neutrality and exception safety. </para> <programlisting> -#ifdef __EXCEPTIONS +#if __cpp_exceptions # define __try try # define __catch(X) catch(X) # define __throw_exception_again throw @@ -269,7 +269,7 @@ exception neutrality and exception safety. </para> <programlisting> -#ifdef __EXCEPTIONS +#if __cpp_exceptions void __throw_bad_exception(void) { throw bad_exception(); } #else diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config index bb58a9b9748..337f1e51c63 100644 --- a/libstdc++-v3/include/bits/c++config +++ b/libstdc++-v3/include/bits/c++config @@ -121,7 +121,7 @@ #endif #ifndef _GLIBCXX_THROW_OR_ABORT -# if __EXCEPTIONS +# if __cpp_exceptions # define _GLIBCXX_THROW_OR_ABORT(_EXC) (throw (_EXC)) # else # define _GLIBCXX_THROW_OR_ABORT(_EXC) (__builtin_abort()) diff --git a/libstdc++-v3/include/bits/locale_classes.tcc b/libstdc++-v3/include/bits/locale_classes.tcc index f0188ef62d2..9ca324103e2 100644 --- a/libstdc++-v3/include/bits/locale_classes.tcc +++ b/libstdc++-v3/include/bits/locale_classes.tcc @@ -106,7 +106,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const size_t __i = _Facet::id._M_id(); const locale::facet** __facets = __loc._M_impl->_M_facets; return (__i < __loc._M_impl->_M_facets_size -#ifdef __GXX_RTTI +#if __cpp_rtti && dynamic_cast<const _Facet*>(__facets[__i])); #else && static_cast<const _Facet*>(__facets[__i])); @@ -135,7 +135,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const locale::facet** __facets = __loc._M_impl->_M_facets; if (__i >= __loc._M_impl->_M_facets_size || !__facets[__i]) __throw_bad_cast(); -#ifdef __GXX_RTTI +#if __cpp_rtti return dynamic_cast<const _Facet&>(*__facets[__i]); #else return static_cast<const _Facet&>(*__facets[__i]); diff --git a/libstdc++-v3/include/bits/shared_ptr.h b/libstdc++-v3/include/bits/shared_ptr.h index 22cb58a89fe..59f8567c20b 100644 --- a/libstdc++-v3/include/bits/shared_ptr.h +++ b/libstdc++-v3/include/bits/shared_ptr.h @@ -75,7 +75,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline _Del* get_deleter(const __shared_ptr<_Tp, _Lp>& __p) noexcept { -#ifdef __GXX_RTTI +#if __cpp_rtti return static_cast<_Del*>(__p._M_get_deleter(typeid(_Del))); #else return 0; diff --git a/libstdc++-v3/include/bits/shared_ptr_base.h b/libstdc++-v3/include/bits/shared_ptr_base.h index fe397d0e7e9..737a1a2553f 100644 --- a/libstdc++-v3/include/bits/shared_ptr_base.h +++ b/libstdc++-v3/include/bits/shared_ptr_base.h @@ -476,7 +476,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION virtual void* _M_get_deleter(const std::type_info& __ti) noexcept { -#ifdef __GXX_RTTI +#if __cpp_rtti // _GLIBCXX_RESOLVE_LIB_DEFECTS // 2400. shared_ptr's get_deleter() should use addressof() return __ti == typeid(_Deleter) @@ -544,7 +544,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION virtual void* _M_get_deleter(const std::type_info& __ti) noexcept { -#ifdef __GXX_RTTI +#if __cpp_rtti if (__ti == typeid(_Sp_make_shared_tag)) return const_cast<typename remove_cv<_Tp>::type*>(_M_ptr()); #endif @@ -1087,7 +1087,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION owner_before(__weak_ptr<_Tp1, _Lp> const& __rhs) const { return _M_refcount._M_less(__rhs._M_refcount); } -#ifdef __GXX_RTTI +#if __cpp_rtti protected: // This constructor is non-standard, it is used by allocate_shared. template<typename _Alloc, typename... _Args> diff --git a/libstdc++-v3/include/debug/formatter.h b/libstdc++-v3/include/debug/formatter.h index e8ab724fe22..78386c2712d 100644 --- a/libstdc++-v3/include/debug/formatter.h +++ b/libstdc++-v3/include/debug/formatter.h @@ -218,7 +218,7 @@ namespace __gnu_debug { _M_variant._M_iterator._M_name = __name; _M_variant._M_iterator._M_address = &__it; -#ifdef __GXX_RTTI +#if __cpp_rtti _M_variant._M_iterator._M_type = &typeid(__it); #else _M_variant._M_iterator._M_type = 0; @@ -228,7 +228,7 @@ namespace __gnu_debug typename _Sequence::iterator>:: __value ? __mutable_iterator : __const_iterator; _M_variant._M_iterator._M_sequence = __it._M_get_sequence(); -#ifdef __GXX_RTTI +#if __cpp_rtti _M_variant._M_iterator._M_seq_type = &typeid(_Sequence); #else _M_variant._M_iterator._M_seq_type = 0; @@ -256,7 +256,7 @@ namespace __gnu_debug { _M_variant._M_iterator._M_name = __name; _M_variant._M_iterator._M_address = &__it; -#ifdef __GXX_RTTI +#if __cpp_rtti _M_variant._M_iterator._M_type = &typeid(__it); #else _M_variant._M_iterator._M_type = 0; @@ -266,7 +266,7 @@ namespace __gnu_debug typename _Sequence::local_iterator>:: __value ? __mutable_iterator : __const_iterator; _M_variant._M_iterator._M_sequence = __it._M_get_sequence(); -#ifdef __GXX_RTTI +#if __cpp_rtti _M_variant._M_iterator._M_seq_type = &typeid(_Sequence); #else _M_variant._M_iterator._M_seq_type = 0; @@ -291,7 +291,7 @@ namespace __gnu_debug { _M_variant._M_iterator._M_name = __name; _M_variant._M_iterator._M_address = &__it; -#ifdef __GXX_RTTI +#if __cpp_rtti _M_variant._M_iterator._M_type = &typeid(__it); #else _M_variant._M_iterator._M_type = 0; @@ -308,7 +308,7 @@ namespace __gnu_debug { _M_variant._M_iterator._M_name = __name; _M_variant._M_iterator._M_address = &__it; -#ifdef __GXX_RTTI +#if __cpp_rtti _M_variant._M_iterator._M_type = &typeid(__it); #else _M_variant._M_iterator._M_type = 0; @@ -325,7 +325,7 @@ namespace __gnu_debug { _M_variant._M_iterator._M_name = __name; _M_variant._M_iterator._M_address = &__it; -#ifdef __GXX_RTTI +#if __cpp_rtti _M_variant._M_iterator._M_type = &typeid(__it); #else _M_variant._M_iterator._M_type = 0; @@ -345,7 +345,7 @@ namespace __gnu_debug _M_variant._M_sequence._M_name = __name; _M_variant._M_sequence._M_address = static_cast<const _Sequence*>(&__seq); -#ifdef __GXX_RTTI +#if __cpp_rtti _M_variant._M_sequence._M_type = &typeid(_Sequence); #else _M_variant._M_sequence._M_type = 0; @@ -358,7 +358,7 @@ namespace __gnu_debug { _M_variant._M_sequence._M_name = __name; _M_variant._M_sequence._M_address = &__seq; -#ifdef __GXX_RTTI +#if __cpp_rtti _M_variant._M_sequence._M_type = &typeid(_Sequence); #else _M_variant._M_sequence._M_type = 0; diff --git a/libstdc++-v3/include/experimental/any b/libstdc++-v3/include/experimental/any index 1de467c1254..87dd7a16019 100644 --- a/libstdc++-v3/include/experimental/any +++ b/libstdc++-v3/include/experimental/any @@ -74,7 +74,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION [[gnu::noreturn]] inline void __throw_bad_any_cast() { -#ifdef __EXCEPTIONS +#if __cpp_exceptions throw bad_any_cast{}; #else __builtin_abort(); @@ -111,7 +111,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _Manager_internal<_Tp>, _Manager_external<_Tp>>; -#ifdef __GXX_RTTI +#if __cpp_rtti // When RTTI is disabled __any_caster assumes the manager is either // _Manager_internal or _Manager_external, so this type must not be used. template<typename _Tp, typename _Alloc> @@ -169,7 +169,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template <typename _Allocator> any(allocator_arg_t, const _Allocator&) noexcept : any() { } -#ifdef __GXX_RTTI +#if __cpp_rtti /// Construct with a copy of @p __value as the contained object. template <typename _Allocator, typename _ValueType, typename _Tp = _Decay<_ValueType>, @@ -249,7 +249,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION /// Reports whether there is a contained object or not. bool empty() const noexcept { return _M_manager == nullptr; } -#ifdef __GXX_RTTI +#if __cpp_rtti /// The @c typeid of the contained object, or @c typeid(void) if empty. const type_info& type() const noexcept { @@ -281,7 +281,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template<typename _Tp> friend void* __any_caster(const any* __any) { -#ifdef __GXX_RTTI +#if __cpp_rtti if (__any->type() != typeid(_Tp)) return nullptr; #else @@ -335,7 +335,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } }; -#ifdef __GXX_RTTI +#if __cpp_rtti // Manage external contained object using an allocator template<typename _Tp, typename _Alloc> struct _Manager_alloc @@ -446,7 +446,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } // @} -#ifdef __GXX_RTTI +#if __cpp_rtti template<typename _Tp, typename _Alloc> struct any::_Manager_alloc<_Tp, _Alloc>::_Data { @@ -524,7 +524,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __arg->_M_obj = const_cast<_Tp*>(__ptr); break; case _Op_get_type_info: -#ifdef __GXX_RTTI +#if __cpp_rtti __arg->_M_typeinfo = &typeid(_Tp); #endif break; @@ -550,7 +550,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __arg->_M_obj = const_cast<_Tp*>(__ptr); break; case _Op_get_type_info: -#ifdef __GXX_RTTI +#if __cpp_rtti __arg->_M_typeinfo = &typeid(_Tp); #endif break; @@ -563,7 +563,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } } -#ifdef __GXX_RTTI +#if __cpp_rtti template<typename _Tp, typename _Alloc> void any::_Manager_alloc<_Tp, _Alloc>:: diff --git a/libstdc++-v3/include/ext/rope b/libstdc++-v3/include/ext/rope index 147b335a8b8..28593c8789b 100644 --- a/libstdc++-v3/include/ext/rope +++ b/libstdc++-v3/include/ext/rope @@ -923,7 +923,7 @@ protected: ~_Rope_self_destruct_ptr() { _Rope_RopeRep<_CharT, _Alloc>::_S_unref(_M_ptr); } -#ifdef __EXCEPTIONS +#if __cpp_exceptions _Rope_self_destruct_ptr() : _M_ptr(0) { }; #else _Rope_self_destruct_ptr() { }; diff --git a/libstdc++-v3/include/ext/ropeimpl.h b/libstdc++-v3/include/ext/ropeimpl.h index 8363e74bb34..935f4ef947a 100644 --- a/libstdc++-v3/include/ext/ropeimpl.h +++ b/libstdc++-v3/include/ext/ropeimpl.h @@ -1223,7 +1223,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #endif __result = _S_concat(__forest[__i], __result); __forest[__i]->_M_unref_nonnil(); -#if !defined(__GC) && defined(__EXCEPTIONS) +#if !defined(__GC) && __cpp_exceptions __forest[__i] = 0; #endif } diff --git a/libstdc++-v3/include/std/functional b/libstdc++-v3/include/std/functional index 158dfa11606..5f76766490a 100644 --- a/libstdc++-v3/include/std/functional +++ b/libstdc++-v3/include/std/functional @@ -1733,7 +1733,7 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type) { switch (__op) { -#ifdef __GXX_RTTI +#if __cpp_rtti case __get_type_info: __dest._M_access<const type_info*>() = &typeid(_Functor); break; @@ -1799,7 +1799,7 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type) { switch (__op) { -#ifdef __GXX_RTTI +#if __cpp_rtti case __get_type_info: __dest._M_access<const type_info*>() = &typeid(_Functor); break; @@ -1936,7 +1936,7 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type) { switch (__op) { -#ifdef __GXX_RTTI +#if __cpp_rtti case __get_type_info: __dest._M_access<const type_info*>() = &typeid(_Functor); break; @@ -2198,7 +2198,7 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type) */ _Res operator()(_ArgTypes... __args) const; -#ifdef __GXX_RTTI +#if __cpp_rtti // [3.7.2.5] function target access /** * @brief Determine the type of the target of this function object @@ -2271,7 +2271,7 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type) return _M_invoker(_M_functor, std::forward<_ArgTypes>(__args)...); } -#ifdef __GXX_RTTI +#if __cpp_rtti template<typename _Res, typename... _ArgTypes> const type_info& function<_Res(_ArgTypes...)>:: diff --git a/libstdc++-v3/include/tr1/functional b/libstdc++-v3/include/tr1/functional index 58af9102441..90ded0b97ed 100644 --- a/libstdc++-v3/include/tr1/functional +++ b/libstdc++-v3/include/tr1/functional @@ -1659,7 +1659,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { switch (__op) { -#ifdef __GXX_RTTI +#if __cpp_rtti case __get_type_info: __dest._M_access<const type_info*>() = &typeid(_Functor); break; @@ -1725,7 +1725,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { switch (__op) { -#ifdef __GXX_RTTI +#if __cpp_rtti case __get_type_info: __dest._M_access<const type_info*>() = &typeid(_Functor); break; @@ -1859,7 +1859,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { switch (__op) { -#ifdef __GXX_RTTI +#if __cpp_rtti case __get_type_info: __dest._M_access<const type_info*>() = &typeid(_Functor); break; @@ -2066,7 +2066,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION */ _Res operator()(_ArgTypes... __args) const; -#ifdef __GXX_RTTI +#if __cpp_rtti // [3.7.2.5] function target access /** * @brief Determine the type of the target of this function object @@ -2146,7 +2146,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return _M_invoker(_M_functor, __args...); } -#ifdef __GXX_RTTI +#if __cpp_rtti template<typename _Res, typename... _ArgTypes> const type_info& function<_Res(_ArgTypes...)>:: diff --git a/libstdc++-v3/include/tr1/shared_ptr.h b/libstdc++-v3/include/tr1/shared_ptr.h index b13f434d65c..13ea0f60348 100644 --- a/libstdc++-v3/include/tr1/shared_ptr.h +++ b/libstdc++-v3/include/tr1/shared_ptr.h @@ -259,7 +259,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION virtual void* _M_get_deleter(const std::type_info& __ti) { -#ifdef __GXX_RTTI +#if __cpp_rtti return __ti == typeid(_Deleter) ? &_M_del : 0; #else return 0; @@ -788,7 +788,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline _Del* get_deleter(const __shared_ptr<_Tp, _Lp>& __p) { -#ifdef __GXX_RTTI +#if __cpp_rtti return static_cast<_Del*>(__p._M_get_deleter(typeid(_Del))); #else return 0; diff --git a/libstdc++-v3/libsupc++/eh_call.cc b/libstdc++-v3/libsupc++/eh_call.cc index 76776927aee..d204ddb49c8 100644 --- a/libstdc++-v3/libsupc++/eh_call.cc +++ b/libstdc++-v3/libsupc++/eh_call.cc @@ -149,7 +149,7 @@ __cxa_call_unexpected(void* exc_obj_in) } // If the exception spec allows std::bad_exception, throw that. -#ifdef __EXCEPTIONS +#if __cpp_exceptions if (bad_exception_allowed) throw std::bad_exception(); #endif diff --git a/libstdc++-v3/libsupc++/eh_personality.cc b/libstdc++-v3/libsupc++/eh_personality.cc index cb4467aa032..915f9ae189b 100644 --- a/libstdc++-v3/libsupc++/eh_personality.cc +++ b/libstdc++-v3/libsupc++/eh_personality.cc @@ -551,7 +551,7 @@ PERSONALITY_FUNCTION (int version, else if (!foreign_exception) thrown_ptr = __get_object_from_ue (ue_header); #else -#ifdef __GXX_RTTI +#if __cpp_rtti // During forced unwinding, match a magic exception type. if (actions & _UA_FORCE_UNWIND) { @@ -777,7 +777,7 @@ __cxa_call_unexpected (void *exc_obj_in) // If the exception spec allows std::bad_exception, throw that. // We don't have a thrown object to compare against, but since // bad_exception doesn't have virtual bases, that's OK; just pass 0. -#if defined(__EXCEPTIONS) && defined(__GXX_RTTI) +#if __cpp_exceptions && __cpp_rtti const std::type_info &bad_exc = typeid (std::bad_exception); if (check_exception_spec (&info, &bad_exc, 0, xh_switch_value)) throw std::bad_exception(); diff --git a/libstdc++-v3/libsupc++/exception_defines.h b/libstdc++-v3/libsupc++/exception_defines.h index 89ea52af5bb..768c14296e9 100644 --- a/libstdc++-v3/libsupc++/exception_defines.h +++ b/libstdc++-v3/libsupc++/exception_defines.h @@ -30,7 +30,7 @@ #ifndef _EXCEPTION_DEFINES_H #define _EXCEPTION_DEFINES_H 1 -#ifndef __EXCEPTIONS +#if ! __cpp_exceptions // Iff -fno-exceptions, transform error handling code to work without it. # define __try if (true) # define __catch(X) if (false) diff --git a/libstdc++-v3/libsupc++/exception_ptr.h b/libstdc++-v3/libsupc++/exception_ptr.h index 8b27359357f..7775278d52b 100644 --- a/libstdc++-v3/libsupc++/exception_ptr.h +++ b/libstdc++-v3/libsupc++/exception_ptr.h @@ -168,7 +168,7 @@ namespace std exception_ptr make_exception_ptr(_Ex __ex) _GLIBCXX_USE_NOEXCEPT { -#ifdef __EXCEPTIONS +#if __cpp_exceptions try { throw __ex; diff --git a/libstdc++-v3/libsupc++/guard.cc b/libstdc++-v3/libsupc++/guard.cc index 54f745876d4..3f9c7a6a193 100644 --- a/libstdc++-v3/libsupc++/guard.cc +++ b/libstdc++-v3/libsupc++/guard.cc @@ -203,7 +203,7 @@ namespace __cxxabiv1 static inline void throw_recursive_init_exception() { -#ifdef __EXCEPTIONS +#if __cpp_exceptions throw __gnu_cxx::recursive_init_error(); #else // Use __builtin_trap so we don't require abort(). diff --git a/libstdc++-v3/libsupc++/pbase_type_info.cc b/libstdc++-v3/libsupc++/pbase_type_info.cc index 8b9cdef55fa..4bd8b9f5280 100644 --- a/libstdc++-v3/libsupc++/pbase_type_info.cc +++ b/libstdc++-v3/libsupc++/pbase_type_info.cc @@ -37,7 +37,7 @@ __do_catch (const type_info *thr_type, if (*this == *thr_type) return true; // same type -#ifdef __GXX_RTTI +#if __cpp_rtti if (typeid (*this) != typeid (*thr_type)) return false; // not both same kind of pointers #endif diff --git a/libstdc++-v3/libsupc++/pointer_type_info.cc b/libstdc++-v3/libsupc++/pointer_type_info.cc index bee8072cf85..61cff0c8640 100644 --- a/libstdc++-v3/libsupc++/pointer_type_info.cc +++ b/libstdc++-v3/libsupc++/pointer_type_info.cc @@ -40,7 +40,7 @@ __pointer_catch (const __pbase_type_info *thrown_type, void **thr_obj, unsigned outer) const { -#ifdef __GXX_RTTI +#if __cpp_rtti if (outer < 2 && *__pointee == typeid (void)) { // conversion to void diff --git a/libstdc++-v3/libsupc++/vterminate.cc b/libstdc++-v3/libsupc++/vterminate.cc index 1935479850c..7a4c49bce25 100644 --- a/libstdc++-v3/libsupc++/vterminate.cc +++ b/libstdc++-v3/libsupc++/vterminate.cc @@ -78,7 +78,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION // If the exception is derived from std::exception, we can // give more information. __try { __throw_exception_again; } -#ifdef __EXCEPTIONS +#if __cpp_exceptions __catch(const exception& exc) { char const *w = exc.what(); diff --git a/libstdc++-v3/src/c++11/thread.cc b/libstdc++-v3/src/c++11/thread.cc index bbcc99c56b8..2c89d03ed90 100644 --- a/libstdc++-v3/src/c++11/thread.cc +++ b/libstdc++-v3/src/c++11/thread.cc @@ -130,7 +130,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION thread::_M_start_thread(__shared_base_type __b) { if (!__gthread_active_p()) -#if __EXCEPTIONS +#if __cpp_exceptions throw system_error(make_error_code(errc::operation_not_permitted), "Enable multithreading to use std::thread"); #else |