Home | History | Annotate | Download | only in Preprocessor
      1 // RUN: %clang_cc1 -fsyntax-only -Wunknown-pragmas -verify %s
      2 // RUN: %clang_cc1 -E %s | FileCheck --strict-whitespace %s
      3 
      4 // GCC doesn't expand macro args for unrecognized pragmas.
      5 #define bar xX
      6 #pragma foo bar   // expected-warning {{unknown pragma ignored}}
      7 // CHECK: {{^}}#pragma foo bar{{$}}
      8 
      9 #pragma STDC FP_CONTRACT ON
     10 #pragma STDC FP_CONTRACT OFF
     11 #pragma STDC FP_CONTRACT DEFAULT
     12 #pragma STDC FP_CONTRACT IN_BETWEEN  // expected-warning {{expected 'ON' or 'OFF' or 'DEFAULT' in pragma}}
     13 
     14 #pragma STDC FENV_ACCESS ON          // expected-warning {{pragma STDC FENV_ACCESS ON is not supported, ignoring pragma}}
     15 #pragma STDC FENV_ACCESS OFF
     16 #pragma STDC FENV_ACCESS DEFAULT
     17 #pragma STDC FENV_ACCESS IN_BETWEEN   // expected-warning {{expected 'ON' or 'OFF' or 'DEFAULT' in pragma}}
     18 
     19 #pragma STDC CX_LIMITED_RANGE ON
     20 #pragma STDC CX_LIMITED_RANGE OFF
     21 #pragma STDC CX_LIMITED_RANGE DEFAULT
     22 #pragma STDC CX_LIMITED_RANGE IN_BETWEEN   // expected-warning {{expected 'ON' or 'OFF' or 'DEFAULT' in pragma}}
     23 
     24 #pragma STDC CX_LIMITED_RANGE    // expected-warning {{expected 'ON' or 'OFF' or 'DEFAULT' in pragma}}
     25 #pragma STDC CX_LIMITED_RANGE ON FULL POWER  // expected-warning {{expected end of directive in pragma}}
     26 
     27 #pragma STDC SO_GREAT  // expected-warning {{unknown pragma in STDC namespace}}
     28 #pragma STDC   // expected-warning {{unknown pragma in STDC namespace}}
     29 
     30