From: Marek Polacek Date: Mon, 22 Jan 2024 21:12:33 +0000 (-0500) Subject: c++: extend Wdangling-reference17.C [PR109642] X-Git-Tag: basepoints/gcc-15~1800 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c596ce03120cc22e141186401c6656009ddebdaa;p=thirdparty%2Fgcc.git 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. --- diff --git a/gcc/testsuite/g++.dg/warn/Wdangling-reference17.C b/gcc/testsuite/g++.dg/warn/Wdangling-reference17.C index 223698422c2c..8cda5dea4447 100644 --- a/gcc/testsuite/g++.dg/warn/Wdangling-reference17.C +++ b/gcc/testsuite/g++.dg/warn/Wdangling-reference17.C @@ -4,6 +4,7 @@ #include #include +#include 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{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) { } }