diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2019-03-07 20:49:42 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2019-03-07 20:49:42 +0000 |
commit | c7163b643e48094f4a7e97c158cb11ca8560257b (patch) | |
tree | 3a8fe8580b6c03a9ec8b6000bb3728d4267ebd57 | |
parent | 90a0bf4e029b1ff3d7e7dfc6f98da88356587959 (diff) | |
download | gcc-c7163b643e48094f4a7e97c158cb11ca8560257b.zip gcc-c7163b643e48094f4a7e97c158cb11ca8560257b.tar.gz gcc-c7163b643e48094f4a7e97c158cb11ca8560257b.tar.bz2 |
re PR c++/84518 (ICE with lambda capturing broken variable)
2019-03-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/84518
* g++.dg/cpp0x/lambda/lambda-ice30.C: New.
* g++.dg/cpp0x/lambda/lambda-ice31.C: Likewise.
From-SVN: r269469
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice30.C | 13 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice31.C | 8 |
3 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e2b22ba..0a90257 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2019-03-07 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/84518 + * g++.dg/cpp0x/lambda/lambda-ice30.C: New. + * g++.dg/cpp0x/lambda/lambda-ice31.C: Likewise. + 2019-03-07 Jakub Jelinek <jakub@redhat.com> PR translation/79999 diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice30.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice30.C new file mode 100644 index 0000000..46350bd --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice30.C @@ -0,0 +1,13 @@ +// PR c++/84518 +// { dg-do compile { target c++11 } } + +template<int> void foo() +{ + int x[=]; // { dg-error "expected" } + [&x]{}; +} + +void bar() +{ + foo<0>(); +} diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice31.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice31.C new file mode 100644 index 0000000..54ded7b --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice31.C @@ -0,0 +1,8 @@ +// PR c++/84518 +// { dg-do compile { target c++11 } } + +template<typename T> void foo() +{ + T x[=]; // { dg-error "expected" } + [&x]{}; +} |