diff options
author | Jason Merrill <jason@redhat.com> | 2011-12-16 22:28:39 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2011-12-16 22:28:39 -0500 |
commit | 23c74efa5ff864650e888a8c8fb3a2c7ee055144 (patch) | |
tree | ee5b4adc3d3a9ae1bfcce63f4a8e8020ec086d34 /gcc | |
parent | cc1632474953d87c44deef5cbe32b9b0e9325921 (diff) | |
download | gcc-23c74efa5ff864650e888a8c8fb3a2c7ee055144.zip gcc-23c74efa5ff864650e888a8c8fb3a2c7ee055144.tar.gz gcc-23c74efa5ff864650e888a8c8fb3a2c7ee055144.tar.bz2 |
re PR c++/51416 ([c++0x] [4.6/4.7 Regression] ICE with invalid use of auto)
PR c++/51416
* init.c (build_value_init_noctor): Check for incomplete type.
From-SVN: r182430
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/auto31.C | 12 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/variadic103.C | 2 |
4 files changed, 23 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 9c847d4..6ed8a03 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2011-12-16 Jason Merrill <jason@redhat.com> + + PR c++/51416 + * init.c (build_value_init_noctor): Check for incomplete type. + 2011-12-16 Richard Henderson <rth@redhat.com> PR bootstrap/51072 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 0a22ca9..f2878ef 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-12-16 Jason Merrill <jason@redhat.com> + + PR c++/51416 + * g++.dg/cpp0x/auto31.C: New. + 2011-12-16 Ian Lance Taylor <iant@google.com> PR middle-end/51592 diff --git a/gcc/testsuite/g++.dg/cpp0x/auto31.C b/gcc/testsuite/g++.dg/cpp0x/auto31.C new file mode 100644 index 0000000..26a6560 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/auto31.C @@ -0,0 +1,12 @@ +// PR c++/51416 +// { dg-do compile { target c++11 } } + +template<typename T, typename... U> void foo(T, U... u) +{ + auto foo(u...); // { dg-error "auto" } +} + +void bar() +{ + foo(0); +} diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic103.C b/gcc/testsuite/g++.dg/cpp0x/variadic103.C index 6d12331..9d6b5ea 100644 --- a/gcc/testsuite/g++.dg/cpp0x/variadic103.C +++ b/gcc/testsuite/g++.dg/cpp0x/variadic103.C @@ -5,7 +5,7 @@ T&& create(); template<class T, class... Args> void test() { - T t(create<Args>()...); // { dg-error "unknown bound" } + T t(create<Args>()...); // { dg-error "incomplete" } (void) t; } |