Message ID | 20120824211954.GH1999@tucnak.redhat.com |
---|---|
State | New |
Headers | show |
On Fri, 24 Aug 2012, Jakub Jelinek wrote: > 2012-08-23 Jakub Jelinek <jakub@redhat.com> > > PR c/54355 > * c-decl.c (c_parser_label): Pass true as nested and fix up comments > for nested and empty_ok arguments in the call to > c_parser_declaration_or_fndef. > > * gcc.dg/pr54355.c: New test. OK.
--- gcc/c/c-parser.c.jj 2012-08-17 17:42:25.315617706 +0200 +++ gcc/c/c-parser.c 2012-08-24 20:38:57.445151457 +0200 @@ -4327,7 +4327,7 @@ c_parser_label (c_parser *parser) "a declaration is not a statement"); c_parser_declaration_or_fndef (parser, /*fndef_ok*/ false, /*static_assert_ok*/ true, - /*nested*/ true, /*empty_ok*/ false, + /*empty_ok*/ true, /*nested*/ true, /*start_attr_ok*/ true, NULL); } } --- gcc/testsuite/gcc.dg/pr54355.c.jj 2012-08-24 12:14:25.973223541 +0200 +++ gcc/testsuite/gcc.dg/pr54355.c 2012-08-24 12:14:25.973223541 +0200 @@ -0,0 +1,11 @@ +/* PR c/54355 */ +/* { dg-do compile } */ + +void +foo (int i) +{ + switch (i) + { + case 0: T x > /* { dg-error "(label|unknown type|expected)" } */ + } +} /* { dg-error "expected" } */