pragma_unknown.c 1.3 KB

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