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