45 lines · c
1// RUN: %clang_cc1 -fsyntax-only -verify %s2 3// Note that this puts the expected lines before the directives to work around4// limitations in the -verify mode.5 6int x;7/* expected-warning {{expected identifier in '#pragma weak'}}*/ #pragma weak8#pragma weak x9 10extern int z;11/* expected-warning {{expected identifier in '#pragma weak'}}*/ #pragma weak z = =12/* expected-warning {{expected identifier in '#pragma weak'}}*/ #pragma weak z =13/* expected-warning {{weak identifier 'y' never declared}} */ #pragma weak z = y14 15extern int a;16/* expected-warning {{extra tokens at end of '#pragma weak'}}*/ #pragma weak a b17/* expected-warning {{extra tokens at end of '#pragma weak'}}*/ #pragma weak a = x c18 19 20void pragma_is_not_a_statement(int x)21{22 int t;23 24 {25 if (x)26#pragma weak t27 else // expected-error {{expected expression}}28#pragma weak t29 }30 31 switch (x) {32 case 1:33#pragma weak t34 } // expected-error {{expected statement}}35 switch(x) {36 default:37#pragma weak t38 } // expected-error {{expected statement}}39 40label:41#pragma weak t42} // expected-error {{expected statement}}43 44 45