| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 
 | // 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}}
 |