// RUN: %clang_cc1 -fsyntax-only -verify %s // Note that this puts the expected lines before the directives to work around // limitations in the -verify mode. int x; /* expected-warning {{expected identifier in '#pragma weak'}}*/ #pragma weak #pragma weak x extern int z; /* expected-warning {{expected identifier in '#pragma weak'}}*/ #pragma weak z = = /* expected-warning {{expected identifier in '#pragma weak'}}*/ #pragma weak z = /* expected-warning {{weak identifier 'y' never declared}} */ #pragma weak z = y extern int a; /* expected-warning {{extra tokens at end of '#pragma weak'}}*/ #pragma weak a b /* expected-warning {{extra tokens at end of '#pragma weak'}}*/ #pragma weak a = x c void pragma_is_not_a_statement(int x) { int t; { if (x) #pragma weak t else // expected-error {{expected expression}} #pragma weak t } switch (x) { case 1: #pragma weak t } // expected-error {{expected statement}} switch(x) { default: #pragma weak t } // expected-error {{expected statement}} label: #pragma weak t } // expected-error {{expected statement}}