Some tests are XPASS because array assertions have been disabled for a good reason in C++11.

I wonder if the respective non-constexpr _GLIBCXX_ASSERTION checks shouldn't target C++14 too. At the moment they are failing as expected but because of an Undefined Behavior no ?

The other test is failing because of some cleanup in headers which makes <memory> include necessary.

    libstdc++: Fix several _GLIBCXX_DEBUG tests

    libstdc++-v3/ChangeLog:

            * testsuite/23_containers/array/debug/back2_neg.cc: target c++14 because assertion
            for constexpr is disabled in C++11.
            * testsuite/23_containers/array/debug/front2_neg.cc: Likewise.
            * testsuite/23_containers/array/debug/square_brackets_operator2_neg.cc: Likewise.             * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Include <memory>
            for shared_ptr.

Ok to commit ?

François

diff --git a/libstdc++-v3/testsuite/23_containers/array/debug/back2_neg.cc b/libstdc++-v3/testsuite/23_containers/array/debug/back2_neg.cc
index b14a3ec8c04..0066c671c42 100644
--- a/libstdc++-v3/testsuite/23_containers/array/debug/back2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/debug/back2_neg.cc
@@ -16,7 +16,7 @@
 // <http://www.gnu.org/licenses/>.
 //
 // { dg-options "-D_GLIBCXX_ASSERTIONS" }
-// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-do run { target c++14 xfail *-*-* } }
 
 #include <array>
 
diff --git a/libstdc++-v3/testsuite/23_containers/array/debug/front2_neg.cc b/libstdc++-v3/testsuite/23_containers/array/debug/front2_neg.cc
index e099e6eb46b..a6118cfce3a 100644
--- a/libstdc++-v3/testsuite/23_containers/array/debug/front2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/debug/front2_neg.cc
@@ -16,7 +16,7 @@
 // <http://www.gnu.org/licenses/>.
 //
 // { dg-options "-D_GLIBCXX_ASSERTIONS" }
-// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-do run { target c++14 xfail *-*-* } }
 
 #include <array>
 
diff --git a/libstdc++-v3/testsuite/23_containers/array/debug/square_brackets_operator2_neg.cc b/libstdc++-v3/testsuite/23_containers/array/debug/square_brackets_operator2_neg.cc
index 4e93c8a7d68..efb28d715e9 100644
--- a/libstdc++-v3/testsuite/23_containers/array/debug/square_brackets_operator2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/debug/square_brackets_operator2_neg.cc
@@ -16,7 +16,7 @@
 // <http://www.gnu.org/licenses/>.
 //
 // { dg-options "-D_GLIBCXX_ASSERTIONS" }
-// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-do run { target c++14 xfail *-*-* } }
 
 #include <array>
 
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/multithreaded_swap.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/multithreaded_swap.cc
index 0d795147644..a0050ec764c 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/multithreaded_swap.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/multithreaded_swap.cc
@@ -26,6 +26,7 @@
 // mode as it requires acquiring 2 locks at the same time.
 
 #include <vector>
+#include <memory>
 #include <thread>
 #include <functional>
 #include <testsuite_hooks.h>

Reply via email to