Chris Lattner 43e7f31f11 implement basic support for __label__. I wouldn't be shocked if there are
bugs from other clients that don't expect to see a LabelDecl in a DeclStmt,
but if so they should be easy to fix.

This implements most of PR3429 and rdar://8287027

llvm-svn: 125817
2011-02-18 02:08:43 +00:00

31 lines
459 B
C

/* RUN: %clang_cc1 -fsyntax-only -verify %s
*/
void test1() {
goto ; /* expected-error {{expected identifier}} */
}
void test2() {
l: /* expected-note {{previous definition is here}} */
{
__label__ l;
l: goto l;
}
{
__label__ l;
__label__ h; /* expected-error {{use of undeclared label 'h'}} */
l: goto l;
}
/* PR3429 & rdar://8287027
*/
{
l: /* expected-error {{redefinition of label 'l'}} */
;
}
}