[gcc r11-4839] libstdc++: Use 'inline' consistently in std::exception_ptr [PR 97729]

Jonathan Wakely redi@gcc.gnu.org
Mon Nov 9 14:29:04 GMT 2020


https://gcc.gnu.org/g:0af3930a497e022597a08fa1bcef5e453bfa636f

commit r11-4839-g0af3930a497e022597a08fa1bcef5e453bfa636f
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Mon Nov 9 10:16:07 2020 +0000

    libstdc++: Use 'inline' consistently in std::exception_ptr [PR 97729]
    
    With PR c++/67453 fixed we can rely on the 'used' attribute to emit
    inline constructors and destructors in libsupc++/eh_ptr.cc. This means
    we don't need to suppress the 'inline' keyword on them in that file, and
    don't need to force 'always_inline' on them in other files.
    
    libstdc++-v3/ChangeLog:
    
            PR libstdc++/97729
            * libsupc++/exception_ptr.h (exception_ptr::exception_ptr())
            (exception_ptr::exception_ptr(const exception_ptr&))
            (exception_ptr::~exception_ptr()): Remove 'always_inline'
            attributes. Use 'inline' unconditionally.

Diff:
---
 libstdc++-v3/libsupc++/exception_ptr.h | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/libstdc++-v3/libsupc++/exception_ptr.h b/libstdc++-v3/libsupc++/exception_ptr.h
index 001343ac049..6ae4d4ca944 100644
--- a/libstdc++-v3/libsupc++/exception_ptr.h
+++ b/libstdc++-v3/libsupc++/exception_ptr.h
@@ -174,19 +174,13 @@ namespace std
     };
 
     _GLIBCXX_EH_PTR_USED
-#ifndef  _GLIBCXX_EH_PTR_COMPAT
-    __attribute__((__always_inline__)) // XXX see PR 97729
     inline
-#endif
     exception_ptr::exception_ptr() _GLIBCXX_NOEXCEPT
     : _M_exception_object(0)
     { }
 
     _GLIBCXX_EH_PTR_USED
-#ifndef  _GLIBCXX_EH_PTR_COMPAT
-    __attribute__((__always_inline__))
     inline
-#endif
     exception_ptr::exception_ptr(const exception_ptr& __other) _GLIBCXX_NOEXCEPT
     : _M_exception_object(__other._M_exception_object)
     {
@@ -195,10 +189,7 @@ namespace std
     }
 
     _GLIBCXX_EH_PTR_USED
-#ifndef  _GLIBCXX_EH_PTR_COMPAT
-    __attribute__((__always_inline__))
     inline
-#endif
     exception_ptr::~exception_ptr() _GLIBCXX_USE_NOEXCEPT
     {
       if (_M_exception_object)


More information about the Libstdc++-cvs mailing list