[gcc r14-11193] libstdc++: Use feature test macro for pmr::polymorphic_allocator<>
Jonathan Wakely
redi@gcc.gnu.org
Thu Jan 9 23:54:56 GMT 2025
https://gcc.gnu.org/g:a4c0f16f048b64c1ab3b2521e3a1595afc64462b
commit r14-11193-ga4c0f16f048b64c1ab3b2521e3a1595afc64462b
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Tue Dec 10 14:35:07 2024 +0000
libstdc++: Use feature test macro for pmr::polymorphic_allocator<>
Check the __glibcxx_polymorphic_allocator macro instead of just checking
whether __cplusplus > 201703L.
libstdc++-v3/ChangeLog:
* include/bits/memory_resource.h (polymoprhic_allocator): Use
feature test macro for P0339R6 features.
(cherry picked from commit b26d92f4f71594206385d6f645ff626c0bf9b59c)
Diff:
---
libstdc++-v3/include/bits/memory_resource.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libstdc++-v3/include/bits/memory_resource.h b/libstdc++-v3/include/bits/memory_resource.h
index db515fb30ef9..9bfeaedf078d 100644
--- a/libstdc++-v3/include/bits/memory_resource.h
+++ b/libstdc++-v3/include/bits/memory_resource.h
@@ -168,7 +168,7 @@ namespace pmr
__attribute__((__nonnull__))
{ _M_resource->deallocate(__p, __n * sizeof(_Tp), alignof(_Tp)); }
-#if __cplusplus > 201703L
+#ifdef __glibcxx_polymorphic_allocator // >= C++20
[[nodiscard]] void*
allocate_bytes(size_t __nbytes,
size_t __alignment = alignof(max_align_t))
@@ -218,9 +218,9 @@ namespace pmr
__p->~_Up();
deallocate_object(__p);
}
-#endif // C++2a
+#endif // C++20
-#if ! __glibcxx_make_obj_using_allocator
+#if ! __glibcxx_make_obj_using_allocator // >= C++20
template<typename _Tp1, typename... _Args>
__attribute__((__nonnull__))
typename __not_pair<_Tp1>::type
@@ -336,7 +336,7 @@ namespace pmr
#endif
private:
-#if ! __glibcxx_make_obj_using_allocator
+#if ! __glibcxx_make_obj_using_allocator // >= C++20
using __uses_alloc1_ = __uses_alloc1<polymorphic_allocator>;
using __uses_alloc2_ = __uses_alloc2<polymorphic_allocator>;
More information about the Libstdc++-cvs
mailing list