[gcc r12-7470] libstdc++: Use non-debug vector in constexpr test [PR104748]
Jonathan Wakely
redi@gcc.gnu.org
Thu Mar 3 22:35:42 GMT 2022
https://gcc.gnu.org/g:5706a5db88a0eeaf82071debe1364f4533896a65
commit r12-7470-g5706a5db88a0eeaf82071debe1364f4533896a65
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Thu Mar 3 22:28:48 2022 +0000
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.
Diff:
---
libstdc++-v3/testsuite/std/ranges/adaptors/all.cc | 16 +++++++++++-----
1 file 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 e457462825d..a4924b9909f 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 );
More information about the Gcc-cvs
mailing list