aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDhruv Chawla <dhruvc@nvidia.com>2024-08-26 11:09:19 +0530
committerJonathan Wakely <redi@gcc.gnu.org>2024-09-03 15:07:15 +0100
commitefe6efb6f315c7f97be8a850e0a84ff7f6651d85 (patch)
tree1f3e140f3264e85c5ff10819ec5f4490eea4b2f8
parentd82edbe92eed53a479736fcbbe6d54d0fb42daa4 (diff)
downloadgcc-efe6efb6f315c7f97be8a850e0a84ff7f6651d85.zip
gcc-efe6efb6f315c7f97be8a850e0a84ff7f6651d85.tar.gz
gcc-efe6efb6f315c7f97be8a850e0a84ff7f6651d85.tar.bz2
libstdc++: Add missing feature-test macro in various headers
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.
-rw-r--r--libstdc++-v3/include/std/deque1
-rw-r--r--libstdc++-v3/include/std/forward_list1
-rw-r--r--libstdc++-v3/include/std/list1
-rw-r--r--libstdc++-v3/include/std/map1
-rw-r--r--libstdc++-v3/include/std/scoped_allocator3
-rw-r--r--libstdc++-v3/include/std/set1
-rw-r--r--libstdc++-v3/include/std/string1
-rw-r--r--libstdc++-v3/include/std/unordered_map1
-rw-r--r--libstdc++-v3/include/std/unordered_set1
-rw-r--r--libstdc++-v3/include/std/vector1
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/memory/version.cc8
-rw-r--r--libstdc++-v3/testsuite/20_util/scoped_allocator/version.cc8
-rw-r--r--libstdc++-v3/testsuite/21_strings/headers/string/version.cc8
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/version.cc8
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/version.cc8
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/version.cc8
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/version.cc8
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/version.cc8
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/version.cc8
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/version.cc8
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/version.cc8
21 files changed, 100 insertions, 0 deletions
diff --git a/libstdc++-v3/include/std/deque b/libstdc++-v3/include/std/deque
index 0bf8309..69f8c0d 100644
--- a/libstdc++-v3/include/std/deque
+++ b/libstdc++-v3/include/std/deque
@@ -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>
diff --git a/libstdc++-v3/include/std/forward_list b/libstdc++-v3/include/std/forward_list
index 5ac7436..dfd7d48 100644
--- a/libstdc++-v3/include/std/forward_list
+++ b/libstdc++-v3/include/std/forward_list
@@ -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
diff --git a/libstdc++-v3/include/std/list b/libstdc++-v3/include/std/list
index fce4e3d..ff632fc 100644
--- a/libstdc++-v3/include/std/list
+++ b/libstdc++-v3/include/std/list
@@ -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
diff --git a/libstdc++-v3/include/std/map b/libstdc++-v3/include/std/map
index 4a96e59..6520d9f 100644
--- a/libstdc++-v3/include/std/map
+++ b/libstdc++-v3/include/std/map
@@ -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
diff --git a/libstdc++-v3/include/std/scoped_allocator b/libstdc++-v3/include/std/scoped_allocator
index dbe7bf3..532a446 100644
--- a/libstdc++-v3/include/std/scoped_allocator
+++ b/libstdc++-v3/include/std/scoped_allocator
@@ -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
diff --git a/libstdc++-v3/include/std/set b/libstdc++-v3/include/std/set
index bf2474c..95cc800 100644
--- a/libstdc++-v3/include/std/set
+++ b/libstdc++-v3/include/std/set
@@ -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
diff --git a/libstdc++-v3/include/std/string b/libstdc++-v3/include/std/string
index 5514440..8db0802 100644
--- a/libstdc++-v3/include/std/string
+++ b/libstdc++-v3/include/std/string
@@ -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
diff --git a/libstdc++-v3/include/std/unordered_map b/libstdc++-v3/include/std/unordered_map
index ea6129d..f9a948c 100644
--- a/libstdc++-v3/include/std/unordered_map
+++ b/libstdc++-v3/include/std/unordered_map
@@ -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
diff --git a/libstdc++-v3/include/std/unordered_set b/libstdc++-v3/include/std/unordered_set
index a48fe0c..aa5b702 100644
--- a/libstdc++-v3/include/std/unordered_set
+++ b/libstdc++-v3/include/std/unordered_set
@@ -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
diff --git a/libstdc++-v3/include/std/vector b/libstdc++-v3/include/std/vector
index a1f7ef8..906c162 100644
--- a/libstdc++-v3/include/std/vector
+++ b/libstdc++-v3/include/std/vector
@@ -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
index 0000000..c82c9a0
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/headers/memory/version.cc
@@ -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
index 0000000..c5a1b11
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/scoped_allocator/version.cc
@@ -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
index 0000000..a546b75
--- /dev/null
+++ b/libstdc++-v3/testsuite/21_strings/headers/string/version.cc
@@ -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
index 0000000..09d71cb
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/deque/version.cc
@@ -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
index 0000000..7a02039
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/version.cc
@@ -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
index 0000000..3ac63e0
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/list/version.cc
@@ -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
index 0000000..31a228d
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/map/version.cc
@@ -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
index 0000000..eb49b23
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/set/version.cc
@@ -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
index 0000000..946d7c2
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/version.cc
@@ -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
index 0000000..d22adfb
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/version.cc
@@ -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
index 0000000..0c8e415
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/vector/version.cc
@@ -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