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 * 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 __throw_exception_again. They are defined as follows.

-#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 exception, there exists a corresponding
   function with C language linkage. An example:
 

-#ifdef __EXCEPTIONS
+#if __cpp_exceptions
   void __throw_bad_exception(void)
   { throw bad_exception(); }
 #else
@@ -310,4 +310,4 @@ is called.
 	
       GCC Bug 25191: exception_defines.h #defines try/catch
 	
-      . 

\ No newline at end of file + .

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. -#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. -#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(__facets[__i])); #else && static_cast(__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(*__facets[__i]); #else return static_cast(*__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::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 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(&__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 @@ -169,7 +169,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template 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 , @@ -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 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 struct _Manager_alloc @@ -446,7 +446,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } // @} -#ifdef __GXX_RTTI +#if __cpp_rtti template 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 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() = &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() = &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() = &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 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() = &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() = &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() = &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 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