From 99b8202a118ba0ab7eaaa21f83581998d7bcdc6f Mon Sep 17 00:00:00 2001 From: Paolo Carlini <paolo.carlini@oracle.com> Date: Fri, 24 May 2013 10:05:22 +0000 Subject: [PATCH] re PR c++/26572 (Invalid local class definition not diagnosed) 2013-05-24 Paolo Carlini <paolo.carlini@oracle.com> PR c++/26572 * g++.dg/template/error51.C: New. 2013-05-24 Paolo Carlini <paolo.carlini@oracle.com> PR c++/25503 * g++.dg/template/bitfield2.C: New. From-SVN: r199288 --- gcc/testsuite/ChangeLog | 10 ++++++++++ gcc/testsuite/g++.dg/template/bitfield2.C | 16 ++++++++++++++++ gcc/testsuite/g++.dg/template/error51.C | 9 +++++++++ 3 files changed, 35 insertions(+) create mode 100644 gcc/testsuite/g++.dg/template/bitfield2.C create mode 100644 gcc/testsuite/g++.dg/template/error51.C diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b8455ce21476..bb3b4997ae44 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,13 @@ +2013-05-24 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/26572 + * g++.dg/template/error51.C: New. + +2013-05-24 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/25503 + * g++.dg/template/bitfield2.C: New. + 2013-05-24 Eric Botcazou <ebotcazou@adacore.com> * gnat.dg/specs/noinline1.ads: New test. diff --git a/gcc/testsuite/g++.dg/template/bitfield2.C b/gcc/testsuite/g++.dg/template/bitfield2.C new file mode 100644 index 000000000000..e9a5320d9ec2 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/bitfield2.C @@ -0,0 +1,16 @@ +// PR c++/25503 + +template<int N> +struct Test +{ + Test() + { + typedef struct StaticAssert {unsigned condition : (N); } XXX; // { dg-error "zero width" } + } +}; + +int +main() +{ + Test<0> T; +} diff --git a/gcc/testsuite/g++.dg/template/error51.C b/gcc/testsuite/g++.dg/template/error51.C new file mode 100644 index 000000000000..b3a6cfb3d279 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/error51.C @@ -0,0 +1,9 @@ +// PR c++/26572 + +template<int> void foo() +{ + struct A; // { dg-error "declaration" } + struct B : A {}; // { dg-error "invalid use of incomplete" } +} + +template void foo<0>(); -- GitLab