diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2020-03-28 21:52:13 +0000 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2020-03-28 21:52:13 +0000 |
commit | f6b2b79040dea3cac4eb77684c4dbe12927f0b9c (patch) | |
tree | 652a1ddbceb4d178843056f892fcfc2e5c5bdd12 | |
parent | 42cda3ba45fca30e73e1c35d8e19b5ec8af24d98 (diff) | |
download | gcc-f6b2b79040dea3cac4eb77684c4dbe12927f0b9c.zip gcc-f6b2b79040dea3cac4eb77684c4dbe12927f0b9c.tar.gz gcc-f6b2b79040dea3cac4eb77684c4dbe12927f0b9c.tar.bz2 |
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.
-rw-r--r-- | libstdc++-v3/ChangeLog | 5 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/is_constructible/value-2.cc | 4 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/time_point/cons/81468.cc | 8 |
3 files changed, 14 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index a016f64..912bab2 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,10 @@ 2020-03-28 Jonathan Wakely <jwakely@redhat.com> + * 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. + * include/bits/stl_iterator.h (reverse_iterator): Use requires-clause to constrain C++20 versions of comparison operators. Fix backwards logic of relational operators. 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 c73cab8..c54b749 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 6f3e920..99ded47 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"); |