diff mbox series

[committed] libstdc++: Fix two tests that fail in C++20 mode

Message ID 20200328222153.GA597667@redhat.com
State New
Headers show
Series [committed] libstdc++: Fix two tests that fail in C++20 mode | expand

Commit Message

Li, Pan2 via Gcc-patches March 28, 2020, 10:21 p.m. UTC
* testsuite/20_util/is_constructible/value-2.cc: Fix test to account
	for changes due to parenthesized aggregate-initialization in C++20.
	* testsuite/20_util/time_point/cons/81468.cc: Fix test to not clash
	with std::chrono::sys_time in C++20.

Tested powerpc64le-linux, committed to master.
commit f6b2b79040dea3cac4eb77684c4dbe12927f0b9c
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Sat Mar 28 21:52:13 2020 +0000

    libstdc++: Fix two tests that fail in C++20 mode
    
            * testsuite/20_util/is_constructible/value-2.cc: Fix test to account
            for changes due to parenthesized aggregate-initialization in C++20.
            * testsuite/20_util/time_point/cons/81468.cc: Fix test to not clash
            with std::chrono::sys_time in C++20.
diff mbox series

Patch

diff --git a/libstdc++-v3/testsuite/20_util/is_constructible/value-2.cc b/libstdc++-v3/testsuite/20_util/is_constructible/value-2.cc
index c73cab8c02b..c54b749c046 100644
--- a/libstdc++-v3/testsuite/20_util/is_constructible/value-2.cc
+++ b/libstdc++-v3/testsuite/20_util/is_constructible/value-2.cc
@@ -107,7 +107,9 @@  static_assert(!std::is_constructible<Abstract, std::nullptr_t>::value, "Error");
 static_assert(!std::is_constructible<std::nullptr_t, Abstract>::value, "Error");
 static_assert(!std::is_constructible<Abstract, int[]>::value, "Error");
 static_assert(std::is_constructible<B, D>::value, "Error");
+#ifndef __cpp_aggregate_paren_init
 static_assert(!std::is_constructible<D, B>::value, "Error");
+#endif
 static_assert(!std::is_constructible<int[], int[1]>::value, "Error");
 static_assert(!std::is_constructible<int[1], int[]>::value, "Error");
 static_assert(!std::is_constructible<int[], Empty>::value, "Error");
@@ -416,7 +418,9 @@  static_assert(!std::is_constructible<int(&)[1], int(&)[2]>::value, "Error");
 static_assert(!std::is_constructible<int(&)[1], int&>::value, "Error");
 static_assert(!std::is_constructible<int&, int(&)[1]>::value, "Error");
 
+#ifndef __cpp_aggregate_paren_init
 static_assert(!std::is_constructible<U, int>::value, "Error");
+#endif
 static_assert(!std::is_constructible<U, Empty>::value, "Error");
 
 static_assert(!std::is_constructible<void(), void()>::value, "Error");
diff --git a/libstdc++-v3/testsuite/20_util/time_point/cons/81468.cc b/libstdc++-v3/testsuite/20_util/time_point/cons/81468.cc
index 6f3e920d789..99ded478d3f 100644
--- a/libstdc++-v3/testsuite/20_util/time_point/cons/81468.cc
+++ b/libstdc++-v3/testsuite/20_util/time_point/cons/81468.cc
@@ -20,11 +20,13 @@ 
 #include <chrono>
 #include <type_traits>
 
-using namespace std;
-using namespace std::chrono;
+using std::is_constructible;
+using std::chrono::seconds;
+using std::chrono::milliseconds;
 
 template <class Duration>
-    using sys_time = time_point<system_clock, Duration>;
+    using sys_time
+      = std::chrono::time_point<std::chrono::system_clock, Duration>;
 
 static_assert(is_constructible<sys_time<milliseconds>, sys_time<seconds>>{},
     "Can construct time_point from one with lower precision duration");