blob: 5578ce5b75029b6f76e8a40750ea1c6ff1400c58 [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 -fsyntax-only -Wunknown-pragmas -verify %s
Dmitri Gribenko559b7fa2013-02-09 16:25:38 +00002// RUN: %clang_cc1 -E %s | FileCheck --strict-whitespace %s
Reid Spencer5f016e22007-07-11 17:01:13 +00003
4// GCC doesn't expand macro args for unrecognized pragmas.
5#define bar xX
Chris Lattneraf7cdf42009-04-19 21:10:26 +00006#pragma foo bar // expected-warning {{unknown pragma ignored}}
Dmitri Gribenko559b7fa2013-02-09 16:25:38 +00007// CHECK: {{^}}#pragma foo bar{{$}}
Reid Spencer5f016e22007-07-11 17:01:13 +00008
Chris Lattner062f2322009-04-19 21:20:35 +00009#pragma STDC FP_CONTRACT ON
10#pragma STDC FP_CONTRACT OFF
11#pragma STDC FP_CONTRACT DEFAULT
Chris Lattner6c5cf4a2009-04-19 21:50:08 +000012#pragma STDC FP_CONTRACT IN_BETWEEN // expected-warning {{expected 'ON' or 'OFF' or 'DEFAULT' in pragma}}
Chris Lattner062f2322009-04-19 21:20:35 +000013
Chris Lattner4d8aac32009-04-19 21:55:32 +000014#pragma STDC FENV_ACCESS ON // expected-warning {{pragma STDC FENV_ACCESS ON is not supported, ignoring pragma}}
Chris Lattner062f2322009-04-19 21:20:35 +000015#pragma STDC FENV_ACCESS OFF
16#pragma STDC FENV_ACCESS DEFAULT
Chris Lattner6c5cf4a2009-04-19 21:50:08 +000017#pragma STDC FENV_ACCESS IN_BETWEEN // expected-warning {{expected 'ON' or 'OFF' or 'DEFAULT' in pragma}}
Chris Lattner062f2322009-04-19 21:20:35 +000018
19#pragma STDC CX_LIMITED_RANGE ON
20#pragma STDC CX_LIMITED_RANGE OFF
21#pragma STDC CX_LIMITED_RANGE DEFAULT
Chris Lattner6c5cf4a2009-04-19 21:50:08 +000022#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}}
Peter Collingbourne84021552011-02-28 02:37:51 +000025#pragma STDC CX_LIMITED_RANGE ON FULL POWER // expected-warning {{expected end of directive in pragma}}
Chris Lattner062f2322009-04-19 21:20:35 +000026
Chris Lattnerf545be52009-04-19 21:25:37 +000027#pragma STDC SO_GREAT // expected-warning {{unknown pragma in STDC namespace}}
28#pragma STDC // expected-warning {{unknown pragma in STDC namespace}}
Chris Lattner062f2322009-04-19 21:20:35 +000029