[PATCH] Conditionally disable tests of non-standard extensions

Jonathan Wakely jwakely@redhat.com
Fri Oct 19 21:52:00 GMT 2018


These tests include uses of the extension to allow allocators with the
wrong value_type in containers. Skip those parts of the tests when
__STRICT_ANIS__ is defined.

	* testsuite/23_containers/forward_list/requirements/
	explicit_instantiation/5.cc [__STRICT_ANSI__]: Don't test non-standard
	extension.
	* testsuite/23_containers/list/requirements/explicit_instantiation/
	5.cc [__STRICT_ANSI__]: Likewise.
	* testsuite/23_containers/map/requirements/explicit_instantiation/5.cc
	[__STRICT_ANSI__]: Likewise.
	* testsuite/23_containers/multimap/requirements/explicit_instantiation/
	5.cc [__STRICT_ANSI__]: Likewise.
	* testsuite/23_containers/multiset/requirements/explicit_instantiation/
	5.cc [__STRICT_ANSI__]: Likewise.
	* testsuite/23_containers/set/requirements/explicit_instantiation/5.cc
	[__STRICT_ANSI__]: Likewise.
	* testsuite/23_containers/unordered_map/requirements/debug_container.cc
	[__STRICT_ANSI__]: Likewise.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation/5.cc [__STRICT_ANSI__]: Likewise.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation/5.cc [__STRICT_ANSI__]: Likewise.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation/5.cc [__STRICT_ANSI__]: Likewise.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation/5.cc [__STRICT_ANSI__]: Likewise.
       
Tested powerpc64le-linux, committed to trunk.

-------------- next part --------------
commit e6703d881a2ec1cf8463d7a7864b2382b4cb4432
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Fri Oct 19 22:15:20 2018 +0100

    Conditionally disable tests of non-standard extensions
    
    These tests include uses of the extension to allow allocators with the
    wrong value_type in containers. Skip those parts of the tests when
    __STRICT_ANIS__ is defined.
    
            * testsuite/23_containers/forward_list/requirements/
            explicit_instantiation/5.cc [__STRICT_ANSI__]: Don't test non-standard
            extension.
            * testsuite/23_containers/list/requirements/explicit_instantiation/
            5.cc [__STRICT_ANSI__]: Likewise.
            * testsuite/23_containers/map/requirements/explicit_instantiation/5.cc
            [__STRICT_ANSI__]: Likewise.
            * testsuite/23_containers/multimap/requirements/explicit_instantiation/
            5.cc [__STRICT_ANSI__]: Likewise.
            * testsuite/23_containers/multiset/requirements/explicit_instantiation/
            5.cc [__STRICT_ANSI__]: Likewise.
            * testsuite/23_containers/set/requirements/explicit_instantiation/5.cc
            [__STRICT_ANSI__]: Likewise.
            * testsuite/23_containers/unordered_map/requirements/debug_container.cc
            [__STRICT_ANSI__]: Likewise.
            * testsuite/23_containers/unordered_map/requirements/
            explicit_instantiation/5.cc [__STRICT_ANSI__]: Likewise.
            * testsuite/23_containers/unordered_multimap/requirements/
            explicit_instantiation/5.cc [__STRICT_ANSI__]: Likewise.
            * testsuite/23_containers/unordered_multiset/requirements/
            explicit_instantiation/5.cc [__STRICT_ANSI__]: Likewise.
            * testsuite/23_containers/unordered_set/requirements/
            explicit_instantiation/5.cc [__STRICT_ANSI__]: Likewise.

diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/5.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/5.cc
index 2060ac7db6d..beb2da4f3ac 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/5.cc
@@ -25,4 +25,6 @@
 
 // libstdc++/50118
 template class std::forward_list<int, __gnu_test::ExplicitConsAlloc<int>>;
+#ifndef __STRICT_ANSI__
 template class std::forward_list<int, __gnu_test::ExplicitConsAlloc<char>>;
+#endif
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/5.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/5.cc
index c34afd0d42f..36d0ac33f13 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/5.cc
@@ -24,4 +24,6 @@
 
 // libstdc++/50118
 template class std::list<int, __gnu_test::ExplicitConsAlloc<int> >;
+#ifndef __STRICT_ANSI__
 template class std::list<int, __gnu_test::ExplicitConsAlloc<char> >;
+#endif
diff --git a/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/5.cc b/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/5.cc
index 9dde5bca362..2e86fb03156 100644
--- a/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/5.cc
@@ -22,8 +22,12 @@
 
 // { dg-do compile }
 
+using __gnu_test::ExplicitConsAlloc;
+
 // libstdc++/50118
 template class std::map<int, int, std::less<int>,
-			__gnu_test::ExplicitConsAlloc<int> >;
+			ExplicitConsAlloc<std::pair<const int, int> > >;
+#ifndef __STRICT_ANSI__
 template class std::map<int, int, std::less<int>,
-			__gnu_test::ExplicitConsAlloc<char> >;
+			ExplicitConsAlloc<char> >;
+#endif
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/5.cc b/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/5.cc
index 00f987d1f43..655d3dc9f50 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/5.cc
@@ -22,8 +22,12 @@
 
 // { dg-do compile }
 
+using __gnu_test::ExplicitConsAlloc;
+
 // libstdc++/50118
 template class std::multimap<int, int, std::less<int>,
-			     __gnu_test::ExplicitConsAlloc<int> >;
+			     ExplicitConsAlloc<std::pair<const int, int> > >;
+#ifndef __STRICT_ANSI__
 template class std::multimap<int, int, std::less<int>,
-			     __gnu_test::ExplicitConsAlloc<char> >;
+			     ExplicitConsAlloc<char> >;
+#endif
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/5.cc b/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/5.cc
index 0abadf4afa8..36a1c7e28b0 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/5.cc
@@ -25,5 +25,7 @@
 // libstdc++/50118
 template class std::multiset<int, std::less<int>,
 			     __gnu_test::ExplicitConsAlloc<int> >;
+#ifndef __STRICT_ANSI__
 template class std::multiset<int, std::less<int>,
 			     __gnu_test::ExplicitConsAlloc<char> >;
+#endif
diff --git a/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/5.cc b/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/5.cc
index cbbbcc1b6dc..f0edffe0a41 100644
--- a/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/5.cc
@@ -25,5 +25,7 @@
 // libstdc++/50118
 template class std::set<int, std::less<int>,
 			__gnu_test::ExplicitConsAlloc<int> >;
+#ifndef __STRICT_ANSI__
 template class std::set<int, std::less<int>,
 			__gnu_test::ExplicitConsAlloc<char> >;
+#endif
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_container.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_container.cc
index 6fe5d6f96d3..1af0f5a688a 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_container.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_container.cc
@@ -30,6 +30,8 @@ template class __gnu_debug::unordered_map<string, float>;
 template class __gnu_debug::unordered_map<string, int,
                                           hash<string>, equal_to<string>, 
                                           allocator<pair<const string, int>>>;
+#ifndef __STRICT_ANSI__
 template class __gnu_debug::unordered_map<string, float,
                                           hash<string>, equal_to<string>, 
                                           allocator<char>>;
+#endif
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/5.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/5.cc
index afe3d648cd8..2bedfc28516 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/5.cc
@@ -23,8 +23,12 @@
 
 // { dg-do compile { target c++11 } }
 
+using __gnu_test::ExplicitConsAlloc;
+
 // libstdc++/50118
 template class std::unordered_map<int, int, std::hash<int>, std::equal_to<int>,
-				  __gnu_test::ExplicitConsAlloc<int>>;
+				  ExplicitConsAlloc<std::pair<const int, int>>>;
+#ifndef __STRICT_ANSI__
 template class std::unordered_map<int, int, std::hash<int>, std::equal_to<int>,
-				  __gnu_test::ExplicitConsAlloc<char>>;
+				  ExplicitConsAlloc<char>>;
+#endif
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/5.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/5.cc
index 6cdf0f3f3ca..938cea5964d 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/5.cc
@@ -28,6 +28,8 @@ using __gnu_test::ExplicitConsAlloc;
 template class
   std::unordered_multimap<int, int, std::hash<int>, std::equal_to<int>,
 			  ExplicitConsAlloc<std::pair<const int, int>>>;
+#ifndef __STRICT_ANSI__
 template class std::unordered_multimap<int, int, std::hash<int>,
 				       std::equal_to<int>,
 				       ExplicitConsAlloc<char>>;
+#endif
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/5.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/5.cc
index 5645a715db5..59b509b7782 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/5.cc
@@ -26,5 +26,7 @@
 // libstdc++/50118
 template class std::unordered_multiset<int, std::hash<int>, std::equal_to<int>,
 				       __gnu_test::ExplicitConsAlloc<int>>;
+#ifndef __STRICT_ANSI__
 template class std::unordered_multiset<int, std::hash<int>, std::equal_to<int>,
 				       __gnu_test::ExplicitConsAlloc<char>>;
+#endif
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/5.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/5.cc
index ae117ee772c..b3358c3a8ad 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/5.cc
@@ -26,5 +26,7 @@
 // libstdc++/50118
 template class std::unordered_set<int, std::hash<int>, std::equal_to<int>,
 				  __gnu_test::ExplicitConsAlloc<int>>;
+#ifndef __STRICT_ANSI__
 template class std::unordered_set<int, std::hash<int>, std::equal_to<int>,
 				  __gnu_test::ExplicitConsAlloc<char>>;
+#endif


More information about the Libstdc++ mailing list