1a5728872c7702ddd09537c95bc3cbd20e1f2fb09Daniel Dunbar// RUN: %clang_cc1 -E %s | grep '#pragma foo bar' 2a5728872c7702ddd09537c95bc3cbd20e1f2fb09Daniel Dunbar// RUN: %clang_cc1 -fsyntax-only -Wunknown-pragmas -verify %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}} 75f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer 8062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner#pragma STDC FP_CONTRACT ON 9062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner#pragma STDC FP_CONTRACT OFF 10062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner#pragma STDC FP_CONTRACT DEFAULT 116c5cf4a2e234923ab66127de0874a71cb6bfdd83Chris Lattner#pragma STDC FP_CONTRACT IN_BETWEEN // expected-warning {{expected 'ON' or 'OFF' or 'DEFAULT' in pragma}} 12062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner 134d8aac3778b40c161bed9964125948ee01c08821Chris Lattner#pragma STDC FENV_ACCESS ON // expected-warning {{pragma STDC FENV_ACCESS ON is not supported, ignoring pragma}} 14062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner#pragma STDC FENV_ACCESS OFF 15062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner#pragma STDC FENV_ACCESS DEFAULT 166c5cf4a2e234923ab66127de0874a71cb6bfdd83Chris Lattner#pragma STDC FENV_ACCESS IN_BETWEEN // expected-warning {{expected 'ON' or 'OFF' or 'DEFAULT' in pragma}} 17062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner 18062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner#pragma STDC CX_LIMITED_RANGE ON 19062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner#pragma STDC CX_LIMITED_RANGE OFF 20062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner#pragma STDC CX_LIMITED_RANGE DEFAULT 216c5cf4a2e234923ab66127de0874a71cb6bfdd83Chris Lattner#pragma STDC CX_LIMITED_RANGE IN_BETWEEN // expected-warning {{expected 'ON' or 'OFF' or 'DEFAULT' in pragma}} 226c5cf4a2e234923ab66127de0874a71cb6bfdd83Chris Lattner 236c5cf4a2e234923ab66127de0874a71cb6bfdd83Chris Lattner#pragma STDC CX_LIMITED_RANGE // expected-warning {{expected 'ON' or 'OFF' or 'DEFAULT' in pragma}} 2484021556baceb76eedf7d44be8ba71d9b8cfaccePeter Collingbourne#pragma STDC CX_LIMITED_RANGE ON FULL POWER // expected-warning {{expected end of directive in pragma}} 25062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner 26f545be5552b6fd40a4c766fbf82dab0ab5305790Chris Lattner#pragma STDC SO_GREAT // expected-warning {{unknown pragma in STDC namespace}} 27f545be5552b6fd40a4c766fbf82dab0ab5305790Chris Lattner#pragma STDC // expected-warning {{unknown pragma in STDC namespace}} 28062f23246510393c19b537b68ec88b6a08ee8996Chris Lattner 29