diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 589ff0e18db..450e48202fe 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2017-10-17 Paolo Carlini + + PR c++/82570 + * g++.dg/cpp1z/constexpr-lambda18.C: New. + 2017-10-17 Jakub Jelinek PR tree-optimization/82549 diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda18.C b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda18.C new file mode 100644 index 00000000000..639018ba945 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda18.C @@ -0,0 +1,30 @@ +// PR c++/82570 +// { dg-options "-std=c++17" } + +template< typename Body > +inline void iterate(Body body) +{ + body(10); +} + +template< typename Pred > +inline void foo(Pred pred) +{ + iterate([&](int param) + { + if (pred(param)) + { + unsigned char buf[4]; + buf[0] = 0; + buf[1] = 1; + buf[2] = 2; + buf[3] = 3; + } + }); +} + +int main() +{ + foo([](int x) { return x > 0; }); + return 0; +}