aligned_buffer.h [...] (template<> __aligned_buffer): Define as __aligned_membuf...
authorFrançois Dumont <fdumont@gcc.gnu.org>
Tue, 20 Feb 2018 20:51:44 +0000 (20:51 +0000)
committerFrançois Dumont <fdumont@gcc.gnu.org>
Tue, 20 Feb 2018 20:51:44 +0000 (20:51 +0000)
2018-02-20  François Dumont  <fdumont@gcc.gnu.org>

* include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
(template<> __aligned_buffer): Define as __aligned_membuf alias.

From-SVN: r257861

libstdc++-v3/ChangeLog
libstdc++-v3/include/ext/aligned_buffer.h

index 0305de11d59e4d54a4a80da34fde935d24f22936..a0bee0e048a7775b484e4eb318628f6a7cb39aee 100644 (file)
@@ -1,3 +1,8 @@
+2018-02-20  François Dumont  <fdumont@gcc.gnu.org>
+
+       * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
+       (template<> __aligned_buffer): Define as __aligned_membuf alias.
+
 2018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
 
        PR target/84148
index 94a2ff0e67acad2a2a471db69b57c63e48ec4b2b..81fb797723c6041cf62cd36f447e11e5e0d49887 100644 (file)
@@ -75,6 +75,10 @@ namespace __gnu_cxx
       { return static_cast<const _Tp*>(_M_addr()); }
     };
 
+#if _GLIBCXX_INLINE_VERSION
+  template<typename _Tp>
+    using __aligned_buffer = __aligned_membuf<_Tp>;
+#else
   // Similar to __aligned_membuf but aligned for complete objects, not members.
   // This type is used in <forward_list>, <future>, <bits/shared_ptr_base.h>
   // and <bits/hashtable_policy.h>, but ideally they would use __aligned_membuf
@@ -113,6 +117,7 @@ namespace __gnu_cxx
       _M_ptr() const noexcept
       { return static_cast<const _Tp*>(_M_addr()); }
     };
+#endif
 
 } // namespace