libstdc++: Skip tests that fail with _GLIBCXX_CONCEPT_CHECKS
authorJonathan Wakely <jwakely@redhat.com>
Fri, 24 Sep 2021 13:23:36 +0000 (14:23 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Tue, 28 Sep 2021 19:22:51 +0000 (20:22 +0100)
The extension that allows implicitly rebinding a container's allocator
is not allowed when _GLIBCXX_CONCEPT_CHECKS is defined, so skip the
tests for that extension.

Signed-off-by: Jonathan Wakely <jwakely@redhat.com>
libstdc++-v3/ChangeLog:

* testsuite/23_containers/deque/requirements/explicit_instantiation/3.cc:
Do not test implicit allocator rebinding when _GLIBCXX_CONCEPT_CHECKS
is defined.
* testsuite/23_containers/forward_list/requirements/explicit_instantiation/3.cc:
Likewise.
* testsuite/23_containers/list/requirements/explicit_instantiation/3.cc:
Likewise.
* testsuite/23_containers/list/requirements/explicit_instantiation/5.cc:
Likewise.
* testsuite/23_containers/map/requirements/explicit_instantiation/3.cc:
Likewise.
* testsuite/23_containers/map/requirements/explicit_instantiation/5.cc:
Likewise.
* testsuite/23_containers/multimap/requirements/explicit_instantiation/3.cc:
Likewise.
* testsuite/23_containers/multimap/requirements/explicit_instantiation/5.cc:
Likewise.
* testsuite/23_containers/multiset/requirements/explicit_instantiation/3.cc:
Likewise.
* testsuite/23_containers/multiset/requirements/explicit_instantiation/5.cc:
Likewise.
* testsuite/23_containers/set/requirements/explicit_instantiation/3.cc:
Likewise.
* testsuite/23_containers/set/requirements/explicit_instantiation/5.cc:
Likewise.
* testsuite/23_containers/unordered_map/requirements/explicit_instantiation/3.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/3.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/3.cc:
Likewise.
* testsuite/23_containers/unordered_set/requirements/explicit_instantiation/3.cc:
Likewise.
* testsuite/23_containers/vector/ext_pointer/explicit_instantiation/3.cc:
Likewise.
* testsuite/23_containers/vector/requirements/explicit_instantiation/3.cc:
Likewise.

18 files changed:
libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/3.cc
libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/3.cc
libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/3.cc
libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/5.cc
libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/3.cc
libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/5.cc
libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/3.cc
libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/5.cc
libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/3.cc
libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/5.cc
libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/3.cc
libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/5.cc
libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/3.cc
libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/3.cc
libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/3.cc
libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/3.cc
libstdc++-v3/testsuite/23_containers/vector/ext_pointer/explicit_instantiation/3.cc
libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/3.cc

index 0cbedf4..2a23eaa 100644 (file)
@@ -22,7 +22,7 @@
 
 // { dg-do compile }
 // The extension that implicitly rebinds allocators is in gnu++98/11/14/17 only
-// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" } }
+// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" "-D_GLIBCXX_CONCEPT_CHECKS*" } }
 
 // libstdc++/21770
 template class std::deque<int, std::allocator<char> >;
index 58ea6b1..60dd1a8 100644 (file)
@@ -23,7 +23,7 @@
 
 // { dg-do compile { target c++11 } }
 // The extension that implicitly rebinds allocators is in gnu++98/11/14/17 only
-// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" } }
+// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" "-D_GLIBCXX_CONCEPT_CHECKS*" } }
 
 // libstdc++/21770
 template class std::forward_list<int, std::allocator<char> >;
index 735ae11..f4e42ff 100644 (file)
@@ -22,7 +22,7 @@
 
 // { dg-do compile }
 // The extension that implicitly rebinds allocators is in gnu++98/11/14/17 only
-// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" } }
+// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" "-D_GLIBCXX_CONCEPT_CHECKS*" } }
 
 // libstdc++/21770
 template class std::list<int, std::allocator<char> >;
index 24219bc..4844324 100644 (file)
@@ -24,6 +24,7 @@
 
 // libstdc++/50118
 template class std::list<int, __gnu_test::ExplicitConsAlloc<int> >;
-#if !defined __STRICT_ANSI__ && __cplusplus <= 201703L
+#if !defined __STRICT_ANSI__ && __cplusplus <= 201703L \
+    && !defined _GLIBCXX_CONCEPT_CHECKS
 template class std::list<int, __gnu_test::ExplicitConsAlloc<char> >;
 #endif
index c281f1f..f0d5e8a 100644 (file)
@@ -22,7 +22,7 @@
 
 // { dg-do compile }
 // The extension that implicitly rebinds allocators is in gnu++98/11/14/17 only
-// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" } }
+// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" "-D_GLIBCXX_CONCEPT_CHECKS*" } }
 
 // libstdc++/21770
 template class std::map<int, double, std::less<int>, std::allocator<char> >;
index 1764722..62d4868 100644 (file)
@@ -27,7 +27,8 @@ using __gnu_test::ExplicitConsAlloc;
 // libstdc++/50118
 template class std::map<int, int, std::less<int>,
                        ExplicitConsAlloc<std::pair<const int, int> > >;
-#if !defined __STRICT_ANSI__ && __cplusplus <= 201703L
+#if !defined __STRICT_ANSI__ && __cplusplus <= 201703L \
+    && !defined _GLIBCXX_CONCEPT_CHECKS
 template class std::map<int, int, std::less<int>,
                        ExplicitConsAlloc<char> >;
 #endif
index 083061c..3c7c0af 100644 (file)
@@ -22,7 +22,7 @@
 
 // { dg-do compile }
 // The extension that implicitly rebinds allocators is in gnu++98/11/14/17 only
-// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" } }
+// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" "-D_GLIBCXX_CONCEPT_CHECKS*" } }
 
 // libstdc++/21770
 template class std::multimap<int, double, std::less<int>, std::allocator<char> >;
index d0b9209..87f5ae4 100644 (file)
@@ -27,7 +27,8 @@ using __gnu_test::ExplicitConsAlloc;
 // libstdc++/50118
 template class std::multimap<int, int, std::less<int>,
                             ExplicitConsAlloc<std::pair<const int, int> > >;
-#if !defined __STRICT_ANSI__ && __cplusplus <= 201703L
+#if !defined __STRICT_ANSI__ && __cplusplus <= 201703L \
+    && !defined _GLIBCXX_CONCEPT_CHECKS
 template class std::multimap<int, int, std::less<int>,
                             ExplicitConsAlloc<char> >;
 #endif
index 1e6dbf9..19d64c2 100644 (file)
@@ -22,7 +22,7 @@
 
 // { dg-do compile }
 // The extension that implicitly rebinds allocators is in gnu++98/11/14/17 only
-// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" } }
+// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" "-D_GLIBCXX_CONCEPT_CHECKS*" } }
 
 // libstdc++/21770
 template class std::multiset<int, std::less<int>, std::allocator<char> >;
index b66d59d..00f7fde 100644 (file)
@@ -25,7 +25,8 @@
 // libstdc++/50118
 template class std::multiset<int, std::less<int>,
                             __gnu_test::ExplicitConsAlloc<int> >;
-#if !defined __STRICT_ANSI__ && __cplusplus <= 201703L
+#if !defined __STRICT_ANSI__ && __cplusplus <= 201703L \
+    && !defined _GLIBCXX_CONCEPT_CHECKS
 template class std::multiset<int, std::less<int>,
                             __gnu_test::ExplicitConsAlloc<char> >;
 #endif
index b55d518..17c2177 100644 (file)
@@ -22,7 +22,7 @@
 
 // { dg-do compile }
 // The extension that implicitly rebinds allocators is in gnu++98/11/14/17 only
-// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" } }
+// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" "-D_GLIBCXX_CONCEPT_CHECKS*" } }
 
 // libstdc++/21770
 template class std::set<int, std::less<int>, std::allocator<char> >;
index 29e3ec3..d224e85 100644 (file)
@@ -25,7 +25,8 @@
 // libstdc++/50118
 template class std::set<int, std::less<int>,
                        __gnu_test::ExplicitConsAlloc<int> >;
-#if !defined __STRICT_ANSI__ && __cplusplus <= 201703L
+#if !defined __STRICT_ANSI__ && __cplusplus <= 201703L \
+    && !defined _GLIBCXX_CONCEPT_CHECKS
 template class std::set<int, std::less<int>,
                        __gnu_test::ExplicitConsAlloc<char> >;
 #endif
index 7985f7a..e9c9367 100644 (file)
@@ -1,6 +1,6 @@
 // { dg-do compile { target c++11 } }
 // The extension that implicitly rebinds allocators is in gnu++98/11/14/17 only
-// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" } }
+// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" "-D_GLIBCXX_CONCEPT_CHECKS*" } }
 
 // Copyright (C) 2007-2021 Free Software Foundation, Inc.
 //
index 3d39b88..35a47fa 100644 (file)
@@ -1,6 +1,6 @@
 // { dg-do compile { target c++11 } }
 // The extension that implicitly rebinds allocators is in gnu++98/11/14/17 only
-// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" } }
+// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" "-D_GLIBCXX_CONCEPT_CHECKS*" } }
 
 // Copyright (C) 2007-2021 Free Software Foundation, Inc.
 //
index 4c6c984..3effea3 100644 (file)
@@ -1,6 +1,6 @@
 // { dg-do compile { target c++11 } }
 // The extension that implicitly rebinds allocators is in gnu++98/11/14/17 only
-// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" } }
+// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" "-D_GLIBCXX_CONCEPT_CHECKS*" } }
 
 // Copyright (C) 2007-2021 Free Software Foundation, Inc.
 //
index da47539..bd86858 100644 (file)
@@ -1,6 +1,6 @@
 // { dg-do compile { target c++11 } }
 // The extension that implicitly rebinds allocators is in gnu++98/11/14/17 only
-// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" } }
+// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" "-D_GLIBCXX_CONCEPT_CHECKS*" } }
 
 // Copyright (C) 2007-2021 Free Software Foundation, Inc.
 //
index 1614989..0dcfbd6 100644 (file)
@@ -25,7 +25,7 @@
 
 // { dg-do compile }
 // The extension that implicitly rebinds allocators is in gnu++98/11/14/17 only
-// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" } }
+// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" "-D_GLIBCXX_CONCEPT_CHECKS*" } }
 
 // libstdc++/21770
 template class std::vector<int, __gnu_cxx::_ExtPtr_allocator<char> >;
index 8c96e9a..39316ee 100644 (file)
@@ -22,7 +22,7 @@
 
 // { dg-do compile }
 // The extension that implicitly rebinds allocators is in gnu++98/11/14/17 only
-// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" } }
+// { dg-skip-if "" { *-*-* } { "-std=c++*" "-std=gnu++2*" "-D_GLIBCXX_CONCEPT_CHECKS*" } }
 
 // libstdc++/21770
 template class std::vector<int, std::allocator<char> >;