aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2024-01-22 16:12:33 -0500
committerMarek Polacek <polacek@redhat.com>2024-01-22 16:13:03 -0500
commitc596ce03120cc22e141186401c6656009ddebdaa (patch)
tree60aff0c4b4933d7a14e1394aab2a2a532f8ef779 /gcc
parentbc77c035c45bb224790b1c03d06a64c8a1cc51c5 (diff)
downloadgcc-c596ce03120cc22e141186401c6656009ddebdaa.zip
gcc-c596ce03120cc22e141186401c6656009ddebdaa.tar.gz
gcc-c596ce03120cc22e141186401c6656009ddebdaa.tar.bz2
c++: extend Wdangling-reference17.C [PR109642]
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.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/g++.dg/warn/Wdangling-reference17.C12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/warn/Wdangling-reference17.C b/gcc/testsuite/g++.dg/warn/Wdangling-reference17.C
index 2236984..8cda5de 100644
--- a/gcc/testsuite/g++.dg/warn/Wdangling-reference17.C
+++ b/gcc/testsuite/g++.dg/warn/Wdangling-reference17.C
@@ -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) { }
}