diff mbox series

[committed] libstdc++: Use non-debug vector in constexpr test [PR104748]

Message ID 20220303223859.1115932-1-jwakely@redhat.com
State New
Headers show
Series [committed] libstdc++: Use non-debug vector in constexpr test [PR104748] | expand

Commit Message

Jonathan Wakely March 3, 2022, 10:38 p.m. UTC
Tested x86_64-linux, pushed to trunk.

-- >8 --

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.
---
 .../testsuite/std/ranges/adaptors/all.cc         | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)
diff mbox series

Patch

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 );