This header should use _GLIBCXX_THROW to make it C++17-friendly.

       * include/ext/bitmap_allocator.h (bitmap_allocator::_S_refill_pool)
       (bitmap_allocator::_M_allocate_single_object)
       (bitmap_allocator::_M_get): Use _GLIBCXX_THROW macro.

Tested powerpc64le-linux, committed to trunk.

commit 88a365b3cc85fdb5260bb6673a6cd1bbff24de72
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Wed Dec 7 13:22:24 2016 +0000

    Use _GLIBCXX_THROW macro in bitmap_allocator
    
        * include/ext/bitmap_allocator.h (bitmap_allocator::_S_refill_pool)
        (bitmap_allocator::_M_allocate_single_object)
        (bitmap_allocator::_M_get): Use _GLIBCXX_THROW macro.

diff --git a/libstdc++-v3/include/ext/bitmap_allocator.h 
b/libstdc++-v3/include/ext/bitmap_allocator.h
index 836abc8..80ea64f 100644
--- a/libstdc++-v3/include/ext/bitmap_allocator.h
+++ b/libstdc++-v3/include/ext/bitmap_allocator.h
@@ -648,7 +648,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
      *  equal to that requested.
      */
     size_t*
-    _M_get(size_t __sz) throw(std::bad_alloc);
+    _M_get(size_t __sz) _GLIBCXX_THROW(std::bad_alloc);
 
     /** @brief  This function just clears the internal Free List, and
      *  gives back all the memory to the OS.
@@ -766,7 +766,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  the newly acquired block. Having a tight bound.
        */
       void 
-      _S_refill_pool() throw(std::bad_alloc)
+      _S_refill_pool() _GLIBCXX_THROW(std::bad_alloc)
       {
 #if defined _GLIBCXX_DEBUG
        _S_check_for_free_blocks();
@@ -824,7 +824,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
        *  Amortized Constant time.
        */
       pointer 
-      _M_allocate_single_object() throw(std::bad_alloc)
+      _M_allocate_single_object() _GLIBCXX_THROW(std::bad_alloc)
       {
 #if defined __GTHREADS
        __scoped_lock __bit_lock(_S_mut);

Reply via email to