]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
c++: extend Wdangling-reference17.C [PR109642]
authorMarek Polacek <polacek@redhat.com>
Mon, 22 Jan 2024 21:12:33 +0000 (16:12 -0500)
committerMarek Polacek <polacek@redhat.com>
Mon, 22 Jan 2024 21:13:03 +0000 (16:13 -0500)
This patch extends g++.dg/warn/Wdangling-reference17.C with code
from PR109642.  I'm not creating a new test because this one
already #includes the required headers.

PR c++/109642

gcc/testsuite/ChangeLog:

* g++.dg/warn/Wdangling-reference17.C: Additional testing.

gcc/testsuite/g++.dg/warn/Wdangling-reference17.C

index 223698422c2ce10a12ddbbf22d657760da11a6c4..8cda5dea4447cb5a15f417dbe8e5259542b09dfb 100644 (file)
@@ -4,6 +4,7 @@
 
 #include <vector>
 #include <ranges>
+#include <span>
 
 int main()
 {
@@ -12,4 +13,15 @@ int main()
     {
       (void) i;
     }
+
+  // From c++/109642.
+  const auto vec = std::vector{ 1, 2, 3 };
+  const auto s = std::span<decltype(vec)::value_type const>{vec};
+
+  for ([[maybe_unused]] auto _ : s | std::views::take(2)) { }
+
+  for ([[maybe_unused]] auto _ : vec | std::views::take(2)) { }
+
+  const auto s_view = s | std::views::take(2);
+  for ([[maybe_unused]] auto _ : s_view) { }
 }