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