From 549b1796f1d6789ac8d4fec44d1e8f6442369f59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Dumont?= Date: Tue, 20 Feb 2018 20:51:44 +0000 Subject: [PATCH] aligned_buffer.h [...] (template<> __aligned_buffer): Define as __aligned_membuf alias. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2018-02-20 François Dumont * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION] (template<> __aligned_buffer): Define as __aligned_membuf alias. From-SVN: r257861 --- libstdc++-v3/ChangeLog | 5 +++++ libstdc++-v3/include/ext/aligned_buffer.h | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 0305de11d59..a0bee0e048a 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2018-02-20 François Dumont + + * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION] + (template<> __aligned_buffer): Define as __aligned_membuf alias. + 2018-02-19 Igor Tsimbalist PR target/84148 diff --git a/libstdc++-v3/include/ext/aligned_buffer.h b/libstdc++-v3/include/ext/aligned_buffer.h index 94a2ff0e67a..81fb797723c 100644 --- a/libstdc++-v3/include/ext/aligned_buffer.h +++ b/libstdc++-v3/include/ext/aligned_buffer.h @@ -75,6 +75,10 @@ namespace __gnu_cxx { return static_cast(_M_addr()); } }; +#if _GLIBCXX_INLINE_VERSION + template + using __aligned_buffer = __aligned_membuf<_Tp>; +#else // Similar to __aligned_membuf but aligned for complete objects, not members. // This type is used in , , // and , but ideally they would use __aligned_membuf @@ -113,6 +117,7 @@ namespace __gnu_cxx _M_ptr() const noexcept { return static_cast(_M_addr()); } }; +#endif } // namespace