diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2022-03-03 22:28:48 +0000 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2022-03-03 22:28:48 +0000 |
commit | 5706a5db88a0eeaf82071debe1364f4533896a65 (patch) | |
tree | 672cbf958b9a0b77482846b5e817a706e2d1043c | |
parent | 64cdf49962996747b4c5687a705551d5fc61fac8 (diff) | |
download | gcc-5706a5db88a0eeaf82071debe1364f4533896a65.zip gcc-5706a5db88a0eeaf82071debe1364f4533896a65.tar.gz gcc-5706a5db88a0eeaf82071debe1364f4533896a65.tar.bz2 |
libstdc++: Use non-debug vector in constexpr test [PR104748]
The std::__debug::vector isn't usable in constant expressions, so this
test fails in debug mode. Until the debug vector is fixed we can just
make the test use the non-debug one.
libstdc++-v3/ChangeLog:
PR libstdc++/104748
* testsuite/std/ranges/adaptors/all.cc: Use non-debug vector for
constexpr test.
-rw-r--r-- | libstdc++-v3/testsuite/std/ranges/adaptors/all.cc | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/libstdc++-v3/testsuite/std/ranges/adaptors/all.cc b/libstdc++-v3/testsuite/std/ranges/adaptors/all.cc index e457462..a4924b9 100644 --- a/libstdc++-v3/testsuite/std/ranges/adaptors/all.cc +++ b/libstdc++-v3/testsuite/std/ranges/adaptors/all.cc @@ -164,20 +164,26 @@ test07() constexpr bool test08() { +#ifdef _GLIBCXX_DEBUG + using std::_GLIBCXX_STD_C::vector; +#else + using std::vector; +#endif + // Verify P2415R2 "What is a view?" changes. // In particular, rvalue non-view non-borrowed ranges are now viewable. - static_assert(ranges::viewable_range<std::vector<int>&&>); - static_assert(!ranges::viewable_range<const std::vector<int>&&>); + static_assert(ranges::viewable_range<vector<int>&&>); + static_assert(!ranges::viewable_range<const vector<int>&&>); static_assert(ranges::viewable_range<std::initializer_list<int>&>); static_assert(ranges::viewable_range<const std::initializer_list<int>&>); static_assert(!ranges::viewable_range<std::initializer_list<int>&&>); static_assert(!ranges::viewable_range<const std::initializer_list<int>&&>); - using type = views::all_t<std::vector<int>&&>; - using type = ranges::owning_view<std::vector<int>>; + using type = views::all_t<vector<int>&&>; + using type = ranges::owning_view<vector<int>>; - std::same_as<type> auto v = std::vector<int>{{1,2,3}} | views::all; + std::same_as<type> auto v = vector<int>{{1,2,3}} | views::all; VERIFY( ranges::equal(v, (int[]){1,2,3}) ); VERIFY( ranges::size(v) == 3 ); |