xref: /aosp_15_r20/external/clang/test/Parser/goto.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li /* RUN: %clang_cc1 -fsyntax-only -verify %s
2*67e74705SXin Li */
3*67e74705SXin Li 
test1()4*67e74705SXin Li void test1() {
5*67e74705SXin Li   goto ; /* expected-error {{expected identifier}} */
6*67e74705SXin Li }
7*67e74705SXin Li 
8*67e74705SXin Li 
test2()9*67e74705SXin Li void test2() {
10*67e74705SXin Li   l:  /* expected-note {{previous definition is here}} */
11*67e74705SXin Li 
12*67e74705SXin Li   {
13*67e74705SXin Li     __label__ l;
14*67e74705SXin Li   l: goto l;
15*67e74705SXin Li   }
16*67e74705SXin Li 
17*67e74705SXin Li   {
18*67e74705SXin Li     __label__ l;
19*67e74705SXin Li     __label__ h;   /* expected-error {{use of undeclared label 'h'}} */
20*67e74705SXin Li   l: goto l;
21*67e74705SXin Li   }
22*67e74705SXin Li 
23*67e74705SXin Li   /* PR3429 & rdar://8287027
24*67e74705SXin Li    */
25*67e74705SXin Li   {
26*67e74705SXin Li   l:  /* expected-error {{redefinition of label 'l'}} */
27*67e74705SXin Li     ;
28*67e74705SXin Li   }
29*67e74705SXin Li 
30*67e74705SXin Li }
31