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.

commit e6703d881a2ec1cf8463d7a7864b2382b4cb4432
Author: Jonathan Wakely <jwak...@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

Reply via email to