re PR libstdc++/64276 (would be better to use __cpp_exceptions rather than __EXCEPTIO...
authorJonathan Wakely <jwakely@redhat.com>
Fri, 12 Dec 2014 15:58:49 +0000 (15:58 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Fri, 12 Dec 2014 15:58:49 +0000 (15:58 +0000)
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.

From-SVN: r218679

24 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/doc/doxygen/user.cfg.in
libstdc++-v3/doc/html/manual/using_exceptions.html
libstdc++-v3/doc/xml/manual/using_exceptions.xml
libstdc++-v3/include/bits/c++config
libstdc++-v3/include/bits/locale_classes.tcc
libstdc++-v3/include/bits/shared_ptr.h
libstdc++-v3/include/bits/shared_ptr_base.h
libstdc++-v3/include/debug/formatter.h
libstdc++-v3/include/experimental/any
libstdc++-v3/include/ext/rope
libstdc++-v3/include/ext/ropeimpl.h
libstdc++-v3/include/std/functional
libstdc++-v3/include/tr1/functional
libstdc++-v3/include/tr1/shared_ptr.h
libstdc++-v3/libsupc++/eh_call.cc
libstdc++-v3/libsupc++/eh_personality.cc
libstdc++-v3/libsupc++/exception_defines.h
libstdc++-v3/libsupc++/exception_ptr.h
libstdc++-v3/libsupc++/guard.cc
libstdc++-v3/libsupc++/pbase_type_info.cc
libstdc++-v3/libsupc++/pointer_type_info.cc
libstdc++-v3/libsupc++/vterminate.cc
libstdc++-v3/src/c++11/thread.cc

index 52f6d009353f127a193792a0f8e1b133cddc1ec1..7c3910362a3c7dabe121d9967a605fae93cbb89c 100644 (file)
@@ -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.
index 7ec91a16fdb7c54dec390cbdac45ed6ad3ff855e..019462e92ad7d8b46ed0ec580691292f2f63e21d 100644 (file)
@@ -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=// \
index 83e4ba6eec94010fd5ef5c54d6deb476bcbe873e..f1dd0996758f14a86ce204bc6641fe97ec2f456a 100644 (file)
@@ -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>
index 698b2fbf632344d46e4a34d480d0d87333613c8a..840c12b972b3a3138304bb621b13e338482f1377 100644 (file)
@@ -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
index bb58a9b9748a6e2b35fd5dee07e809c84d906226..337f1e51c634dd801e065d2afdcd469dc17f60a6 100644 (file)
 #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())
index f0188ef62d2134a12ac158e71fbc9254f1552d28..9ca324103e2dd5d7e29b3db434afbaa4613443b8 100644 (file)
@@ -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]);
index 22cb58a89fe86d987c0a401577639e9c82ad89e4..59f8567c20be7a63caec17d1663811a152b610e3 100644 (file)
@@ -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;
index fe397d0e7e9bd311d365d9f8ed1e2c8bd7565c57..737a1a2553fd56145a721f37674add32cffba65b 100644 (file)
@@ -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>
index e8ab724fe221ba7bd125dd4b316a8a60f9e182b5..78386c2712d329a7b60a442d585cb62e8f794dcd 100644 (file)
@@ -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;
index 1de467c1254cf2a71f84e5cf0154a5abcf8d8fec..87dd7a16019f75a78a3c30f1c80bc6c4626e01ff 100644 (file)
@@ -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>::
index 147b335a8b845e26a7995b889603a402662af89c..28593c8789ba9b3d86eca015930ab3c7963b89a3 100644 (file)
@@ -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() { };
index 8363e74bb34ff6aa507d1ca47cddc5bd87c962ab..935f4ef947aeefa3af547164662d1b2dc8da25c4 100644 (file)
@@ -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
              }
index 158dfa11606e1fa2b88e4415c5c64cb60d4499bd..5f76766490a7019fb631454166fb37b1df1ef931 100644 (file)
@@ -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...)>::
index 58af9102441277bfc61b79e8b8db218857cfcf86..90ded0b97ed314feadd8ac6884c489895f0a4557 100644 (file)
@@ -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...)>::
index b13f434d65c2ee4642626b1fd382e108bfed77a6..13ea0f603483c69e04b6ed1b52514b726b42a7bb 100644 (file)
@@ -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;
index 76776927aeef48238dcbbf30d62d0e4e5631155e..d204ddb49c84987895cad8d8aee14286292d844a 100644 (file)
@@ -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
index cb4467aa0327d7db32891c5927cf11e71fb64dcf..915f9ae189b37ab9638909418cd18058a31b319f 100644 (file)
@@ -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();
index 89ea52af5bb936123d2260fff0caafc8c7de82e0..768c14296e9d8f0b01c1ee1900a68ba33759d4f8 100644 (file)
@@ -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)
index 8b27359357fa9de75b6a8ee8d2cdfeb1919e9700..7775278d52b1598abb9f6ddfdcbe1cd416233cc7 100644 (file)
@@ -168,7 +168,7 @@ namespace std
     exception_ptr 
     make_exception_ptr(_Ex __ex) _GLIBCXX_USE_NOEXCEPT
     {
-#ifdef __EXCEPTIONS
+#if __cpp_exceptions
       try
        {
          throw __ex;
index 54f745876d4088e87ec9d39522725517d2459056..3f9c7a6a1935c584729e74c422796309e0c41aa5 100644 (file)
@@ -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().
index 8b9cdef55fa5268b96041fc45353cd79309e59c8..4bd8b9f52800a449673a3fb820d12fae7d781d84 100644 (file)
@@ -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
index bee8072cf85dd403ec755c1534c4795df2783a9d..61cff0c86402cd7543e9dcdda670744636e54c25 100644 (file)
@@ -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
index 1935479850c71d03e812f8ef8e83869c5f5486ff..7a4c49bce251a94b4fefd169d4a5cb87f5ddd37a 100644 (file)
@@ -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();
index bbcc99c56b89fe9bfe4b1bd2774721f224e58513..2c89d03ed901abbcd2bf288b25c397735f6834f3 100644 (file)
@@ -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