]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Add missing feature-test macro in various headers
authorDhruv Chawla <dhruvc@nvidia.com>
Mon, 26 Aug 2024 05:39:19 +0000 (11:09 +0530)
committerJonathan Wakely <redi@gcc.gnu.org>
Tue, 3 Sep 2024 14:07:15 +0000 (15:07 +0100)
version.syn#2 requires various headers to define
__cpp_lib_allocator_traits_is_always_equal. Currently, only <memory> was
defining this macro. Implement fixes for the other headers as well.

Signed-off-by: Dhruv Chawla <dhruvc@nvidia.com>
libstdc++-v3/ChangeLog:

* include/std/deque: Define macro
__glibcxx_want_allocator_traits_is_always_equal.
* include/std/forward_list: Likewise.
* include/std/list: Likewise.
* include/std/map: Likewise.
* include/std/scoped_allocator: Likewise.
* include/std/set: Likewise.
* include/std/string: Likewise.
* include/std/unordered_map: Likewise.
* include/std/unordered_set: Likewise.
* include/std/vector: Likewise.
* testsuite/20_util/headers/memory/version.cc: New test.
* testsuite/20_util/scoped_allocator/version.cc: Likewise.
* testsuite/21_strings/headers/string/version.cc: Likewise.
* testsuite/23_containers/deque/version.cc: Likewise.
* testsuite/23_containers/forward_list/version.cc: Likewise.
* testsuite/23_containers/list/version.cc: Likewise.
* testsuite/23_containers/map/version.cc: Likewise.
* testsuite/23_containers/set/version.cc: Likewise.
* testsuite/23_containers/unordered_map/version.cc: Likewise.
* testsuite/23_containers/unordered_set/version.cc: Likewise.
* testsuite/23_containers/vector/version.cc: Likewise.

21 files changed:
libstdc++-v3/include/std/deque
libstdc++-v3/include/std/forward_list
libstdc++-v3/include/std/list
libstdc++-v3/include/std/map
libstdc++-v3/include/std/scoped_allocator
libstdc++-v3/include/std/set
libstdc++-v3/include/std/string
libstdc++-v3/include/std/unordered_map
libstdc++-v3/include/std/unordered_set
libstdc++-v3/include/std/vector
libstdc++-v3/testsuite/20_util/headers/memory/version.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/scoped_allocator/version.cc [new file with mode: 0644]
libstdc++-v3/testsuite/21_strings/headers/string/version.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/deque/version.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/forward_list/version.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/list/version.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/map/version.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/set/version.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_map/version.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_set/version.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/vector/version.cc [new file with mode: 0644]

index 0bf8309c19a763b8b6f7c3fd62851015604b7be6..69f8c0dcdccf3ee4a0351ca0ec85335da6dc39e5 100644 (file)
@@ -68,6 +68,7 @@
 #include <bits/range_access.h>
 #include <bits/deque.tcc>
 
+#define __glibcxx_want_allocator_traits_is_always_equal
 #define __glibcxx_want_erase_if
 #define __glibcxx_want_nonmember_container_access
 #include <bits/version.h>
index 5ac74360808d81355379ea2c7ee1041146e9aa4c..dfd7d48d1219a7146d76df2a86aeb2fa618a8f37 100644 (file)
@@ -45,6 +45,7 @@
 # include <debug/forward_list>
 #endif
 
+#define __glibcxx_want_allocator_traits_is_always_equal
 #define __glibcxx_want_erase_if
 #define __glibcxx_want_incomplete_container_elements
 #define __glibcxx_want_list_remove_return_type
index fce4e3d925b17d9e9d4b6248b812e5b645561eaa..ff632fc1ab2f86837844939e30e2de0c12427fe6 100644 (file)
@@ -69,6 +69,7 @@
 # include <debug/list>
 #endif
 
+#define __glibcxx_want_allocator_traits_is_always_equal
 #define __glibcxx_want_erase_if
 #define __glibcxx_want_incomplete_container_elements
 #define __glibcxx_want_list_remove_return_type
index 4a96e59a5bc18d7e07c3c6269c4848c37d8f24e8..6520d9f744fe261078bdf17cd29d6127f024ef92 100644 (file)
@@ -69,6 +69,7 @@
 # include <debug/map>
 #endif
 
+#define __glibcxx_want_allocator_traits_is_always_equal
 #define __glibcxx_want_erase_if
 #define __glibcxx_want_generic_associative_lookup
 #define __glibcxx_want_map_try_emplace
index dbe7bf3cbf65fc66f5fec13ca285546e4a3ba29f..532a44691ba0b1a04e50b1c6278cd037a5376201 100644 (file)
@@ -43,6 +43,9 @@
 # include <bits/uses_allocator_args.h>
 #endif
 
+#define __glibcxx_want_allocator_traits_is_always_equal
+#include <bits/version.h>
+
 namespace std _GLIBCXX_VISIBILITY(default)
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
index bf2474c7eb24a8908bbfd3adf4a0b9c8ab70fdc7..95cc8005a1929dc8f86c627e2a016f7020d87f18 100644 (file)
@@ -69,6 +69,7 @@
 # include <debug/set>
 #endif
 
+#define __glibcxx_want_allocator_traits_is_always_equal
 #define __glibcxx_want_erase_if
 #define __glibcxx_want_generic_associative_lookup
 #define __glibcxx_want_node_extract
index 55144409cca28d99cc6ec6a0aa4967d096ac2dd6..8db0802a2827694ed145789f47633a2420401146 100644 (file)
@@ -54,6 +54,7 @@
 #include <bits/basic_string.h>
 #include <bits/basic_string.tcc>
 
+#define __glibcxx_want_allocator_traits_is_always_equal
 #define __glibcxx_want_constexpr_char_traits
 #define __glibcxx_want_constexpr_string
 #define __glibcxx_want_erase_if
index ea6129d64946382155e0a1c2ab67a3f07f771a9d..f9a948c3873b1fdfd3c04b6b5cd5fda5abf7f340 100644 (file)
@@ -46,6 +46,7 @@
 # include <debug/unordered_map>
 #endif
 
+#define __glibcxx_want_allocator_traits_is_always_equal
 #define __glibcxx_want_erase_if
 #define __glibcxx_want_generic_unordered_lookup
 #define __glibcxx_want_node_extract
index a48fe0cd5635046e950e7dfedb7e66143ac325e5..aa5b702ff4d347a10856f975eabe81357b00ee25 100644 (file)
@@ -46,6 +46,7 @@
 # include <debug/unordered_set>
 #endif
 
+#define __glibcxx_want_allocator_traits_is_always_equal
 #define __glibcxx_want_erase_if
 #define __glibcxx_want_generic_unordered_lookup
 #define __glibcxx_want_node_extract
index a1f7ef86824250dfba07c2c72c9d181f5f4fea2c..906c16279359bd105962e2e59d19c2949d3059c8 100644 (file)
@@ -76,6 +76,7 @@
 # include <debug/vector>
 #endif
 
+#define __glibcxx_want_allocator_traits_is_always_equal
 #define __glibcxx_want_constexpr_vector
 #define __glibcxx_want_erase_if
 #define __glibcxx_want_incomplete_container_elements
diff --git a/libstdc++-v3/testsuite/20_util/headers/memory/version.cc b/libstdc++-v3/testsuite/20_util/headers/memory/version.cc
new file mode 100644 (file)
index 0000000..c82c9a0
--- /dev/null
@@ -0,0 +1,8 @@
+// { dg-do preprocess { target c++17 } }
+// { dg-add-options no_pch }
+
+#include <memory>
+
+#if __cpp_lib_allocator_traits_is_always_equal != 201411L
+# error "Feature-test macro __cpp_lib_allocator_traits_is_always_equal has wrong value in <version>"
+#endif
diff --git a/libstdc++-v3/testsuite/20_util/scoped_allocator/version.cc b/libstdc++-v3/testsuite/20_util/scoped_allocator/version.cc
new file mode 100644 (file)
index 0000000..c5a1b11
--- /dev/null
@@ -0,0 +1,8 @@
+// { dg-do preprocess { target c++17 } }
+// { dg-add-options no_pch }
+
+#include <scoped_allocator>
+
+#if __cpp_lib_allocator_traits_is_always_equal != 201411L
+# error "Feature-test macro __cpp_lib_allocator_traits_is_always_equal has wrong value in <version>"
+#endif
diff --git a/libstdc++-v3/testsuite/21_strings/headers/string/version.cc b/libstdc++-v3/testsuite/21_strings/headers/string/version.cc
new file mode 100644 (file)
index 0000000..a546b75
--- /dev/null
@@ -0,0 +1,8 @@
+// { dg-do preprocess { target c++17 } }
+// { dg-add-options no_pch }
+
+#include <string>
+
+#if __cpp_lib_allocator_traits_is_always_equal != 201411L
+# error "Feature-test macro __cpp_lib_allocator_traits_is_always_equal has wrong value in <version>"
+#endif
diff --git a/libstdc++-v3/testsuite/23_containers/deque/version.cc b/libstdc++-v3/testsuite/23_containers/deque/version.cc
new file mode 100644 (file)
index 0000000..09d71cb
--- /dev/null
@@ -0,0 +1,8 @@
+// { dg-do preprocess { target c++17 } }
+// { dg-add-options no_pch }
+
+#include <deque>
+
+#if __cpp_lib_allocator_traits_is_always_equal != 201411L
+# error "Feature-test macro __cpp_lib_allocator_traits_is_always_equal has wrong value in <version>"
+#endif
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/version.cc b/libstdc++-v3/testsuite/23_containers/forward_list/version.cc
new file mode 100644 (file)
index 0000000..7a02039
--- /dev/null
@@ -0,0 +1,8 @@
+// { dg-do preprocess { target c++17 } }
+// { dg-add-options no_pch }
+
+#include <forward_list>
+
+#if __cpp_lib_allocator_traits_is_always_equal != 201411L
+# error "Feature-test macro __cpp_lib_allocator_traits_is_always_equal has wrong value in <version>"
+#endif
diff --git a/libstdc++-v3/testsuite/23_containers/list/version.cc b/libstdc++-v3/testsuite/23_containers/list/version.cc
new file mode 100644 (file)
index 0000000..3ac63e0
--- /dev/null
@@ -0,0 +1,8 @@
+// { dg-do preprocess { target c++17 } }
+// { dg-add-options no_pch }
+
+#include <list>
+
+#if __cpp_lib_allocator_traits_is_always_equal != 201411L
+# error "Feature-test macro __cpp_lib_allocator_traits_is_always_equal has wrong value in <version>"
+#endif
diff --git a/libstdc++-v3/testsuite/23_containers/map/version.cc b/libstdc++-v3/testsuite/23_containers/map/version.cc
new file mode 100644 (file)
index 0000000..31a228d
--- /dev/null
@@ -0,0 +1,8 @@
+// { dg-do preprocess { target c++17 } }
+// { dg-add-options no_pch }
+
+#include <map>
+
+#if __cpp_lib_allocator_traits_is_always_equal != 201411L
+# error "Feature-test macro __cpp_lib_allocator_traits_is_always_equal has wrong value in <version>"
+#endif
diff --git a/libstdc++-v3/testsuite/23_containers/set/version.cc b/libstdc++-v3/testsuite/23_containers/set/version.cc
new file mode 100644 (file)
index 0000000..eb49b23
--- /dev/null
@@ -0,0 +1,8 @@
+// { dg-do preprocess { target c++17 } }
+// { dg-add-options no_pch }
+
+#include <set>
+
+#if __cpp_lib_allocator_traits_is_always_equal != 201411L
+# error "Feature-test macro __cpp_lib_allocator_traits_is_always_equal has wrong value in <version>"
+#endif
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/version.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/version.cc
new file mode 100644 (file)
index 0000000..946d7c2
--- /dev/null
@@ -0,0 +1,8 @@
+// { dg-do preprocess { target c++17 } }
+// { dg-add-options no_pch }
+
+#include <unordered_map>
+
+#if __cpp_lib_allocator_traits_is_always_equal != 201411L
+# error "Feature-test macro __cpp_lib_allocator_traits_is_always_equal has wrong value in <version>"
+#endif
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/version.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/version.cc
new file mode 100644 (file)
index 0000000..d22adfb
--- /dev/null
@@ -0,0 +1,8 @@
+// { dg-do preprocess { target c++17 } }
+// { dg-add-options no_pch }
+
+#include <unordered_set>
+
+#if __cpp_lib_allocator_traits_is_always_equal != 201411L
+# error "Feature-test macro __cpp_lib_allocator_traits_is_always_equal has wrong value in <version>"
+#endif
diff --git a/libstdc++-v3/testsuite/23_containers/vector/version.cc b/libstdc++-v3/testsuite/23_containers/vector/version.cc
new file mode 100644 (file)
index 0000000..0c8e415
--- /dev/null
@@ -0,0 +1,8 @@
+// { dg-do preprocess { target c++17 } }
+// { dg-add-options no_pch }
+
+#include <vector>
+
+#if __cpp_lib_allocator_traits_is_always_equal != 201411L
+# error "Feature-test macro __cpp_lib_allocator_traits_is_always_equal has wrong value in <version>"
+#endif