1a5728872c7702ddd09537c95bc3cbd20e1f2fb09Daniel Dunbar// RUN: %clang_cc1 -fsyntax-only -Wunknown-pragmas -verify %s 2559b7facde0aaa3d752fde2bc7ed6d764b3da501Dmitri Gribenko// RUN: %clang_cc1 -E %s | FileCheck --strict-whitespace %s 35f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer 45f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer// GCC doesn't expand macro args for unrecognized pragmas. 55f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer#define bar xX 6af7cdf45da4925f788e87a4c318ee67404646088Chris Lattner#pragma foo bar // expected-warning {{unknown pragma ignored}} 7559b7facde0aaa3d752fde2bc7ed6d764b3da501Dmitri Gribenko// CHECK: {{^}}#pragma foo bar{{$}} 85f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer 9062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner#pragma STDC FP_CONTRACT ON 10062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner#pragma STDC FP_CONTRACT OFF 11062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner#pragma STDC FP_CONTRACT DEFAULT 126c5cf4a2e234923ab66127de0874a71cb6bfdd83Chris Lattner#pragma STDC FP_CONTRACT IN_BETWEEN // expected-warning {{expected 'ON' or 'OFF' or 'DEFAULT' in pragma}} 13062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner 144d8aac3778b40c161bed9964125948ee01c08821Chris Lattner#pragma STDC FENV_ACCESS ON // expected-warning {{pragma STDC FENV_ACCESS ON is not supported, ignoring pragma}} 15062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner#pragma STDC FENV_ACCESS OFF 16062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner#pragma STDC FENV_ACCESS DEFAULT 176c5cf4a2e234923ab66127de0874a71cb6bfdd83Chris Lattner#pragma STDC FENV_ACCESS IN_BETWEEN // expected-warning {{expected 'ON' or 'OFF' or 'DEFAULT' in pragma}} 18062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner 19062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner#pragma STDC CX_LIMITED_RANGE ON 20062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner#pragma STDC CX_LIMITED_RANGE OFF 21062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner#pragma STDC CX_LIMITED_RANGE DEFAULT 226c5cf4a2e234923ab66127de0874a71cb6bfdd83Chris Lattner#pragma STDC CX_LIMITED_RANGE IN_BETWEEN // expected-warning {{expected 'ON' or 'OFF' or 'DEFAULT' in pragma}} 236c5cf4a2e234923ab66127de0874a71cb6bfdd83Chris Lattner 246c5cf4a2e234923ab66127de0874a71cb6bfdd83Chris Lattner#pragma STDC CX_LIMITED_RANGE // expected-warning {{expected 'ON' or 'OFF' or 'DEFAULT' in pragma}} 2584021556baceb76eedf7d44be8ba71d9b8cfaccePeter Collingbourne#pragma STDC CX_LIMITED_RANGE ON FULL POWER // expected-warning {{expected end of directive in pragma}} 26062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner 27f545be5552b6fd40a4c766fbf82dab0ab5305790Chris Lattner#pragma STDC SO_GREAT // expected-warning {{unknown pragma in STDC namespace}} 28f545be5552b6fd40a4c766fbf82dab0ab5305790Chris Lattner#pragma STDC // expected-warning {{unknown pragma in STDC namespace}} 29062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner 30