blob: d2738e5c7c38652deae83ebb3f78a51eccc4198c [file] [log] [blame]
Chris Lattnerd65e0142009-04-19 21:10:26 +00001// RUN: clang-cc -E %s | grep '#pragma foo bar' &&
Chris Lattnercc848422009-04-19 21:25:37 +00002// RUN: clang-cc -fsyntax-only -Wunknown-pragmas -verify %s
Chris Lattner4b009652007-07-25 00:24:17 +00003
4// GCC doesn't expand macro args for unrecognized pragmas.
5#define bar xX
Chris Lattnerd65e0142009-04-19 21:10:26 +00006#pragma foo bar // expected-warning {{unknown pragma ignored}}
Chris Lattner4b009652007-07-25 00:24:17 +00007
Chris Lattner0edd5432009-04-19 21:20:35 +00008#pragma STDC FP_CONTRACT ON
9#pragma STDC FP_CONTRACT OFF
10#pragma STDC FP_CONTRACT DEFAULT
Chris Lattner6f7bb262009-04-19 21:50:08 +000011#pragma STDC FP_CONTRACT IN_BETWEEN // expected-warning {{expected 'ON' or 'OFF' or 'DEFAULT' in pragma}}
Chris Lattner0edd5432009-04-19 21:20:35 +000012
13#pragma STDC FENV_ACCESS ON
14#pragma STDC FENV_ACCESS OFF
15#pragma STDC FENV_ACCESS DEFAULT
Chris Lattner6f7bb262009-04-19 21:50:08 +000016#pragma STDC FENV_ACCESS IN_BETWEEN // expected-warning {{expected 'ON' or 'OFF' or 'DEFAULT' in pragma}}
Chris Lattner0edd5432009-04-19 21:20:35 +000017
18#pragma STDC CX_LIMITED_RANGE ON
19#pragma STDC CX_LIMITED_RANGE OFF
20#pragma STDC CX_LIMITED_RANGE DEFAULT
Chris Lattner6f7bb262009-04-19 21:50:08 +000021#pragma STDC CX_LIMITED_RANGE IN_BETWEEN // expected-warning {{expected 'ON' or 'OFF' or 'DEFAULT' in pragma}}
22
23#pragma STDC CX_LIMITED_RANGE // expected-warning {{expected 'ON' or 'OFF' or 'DEFAULT' in pragma}}
24#pragma STDC CX_LIMITED_RANGE ON FULL POWER // expected-warning {{expected end of macro in STDC pragma}}
Chris Lattner0edd5432009-04-19 21:20:35 +000025
Chris Lattnercc848422009-04-19 21:25:37 +000026#pragma STDC SO_GREAT // expected-warning {{unknown pragma in STDC namespace}}
27#pragma STDC // expected-warning {{unknown pragma in STDC namespace}}
Chris Lattner0edd5432009-04-19 21:20:35 +000028