Author: lattner
Date: Tue May 12 13:21:11 2009
New Revision: 71572
URL: http://llvm.org/viewvc/llvm-project?rev=71572&view=rev
Log:
accept "#pragma clang foo" where we accept "#pragma GCC foo".
Modified:
cfe/trunk/lib/Lex/Pragma.cpp
cfe/trunk/test/Lexer/constants.c
Modified: cfe/trunk/lib/Lex/Pragma.cpp
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/Pragma.cpp?rev=71572&r1=71571&r2=71572&view=diff
==============================================================================
--- cfe/trunk/lib/Lex/Pragma.cpp (original)
+++ cfe/trunk/lib/Lex/Pragma.cpp Tue May 12 13:21:11 2009
@@ -666,6 +666,8 @@
void Preprocessor::RegisterBuiltinPragmas() {
AddPragmaHandler(0, new PragmaOnceHandler(getIdentifierInfo("once")));
AddPragmaHandler(0, new PragmaMarkHandler(getIdentifierInfo("mark")));
+
+ // #pragma GCC ...
AddPragmaHandler("GCC", new
PragmaPoisonHandler(getIdentifierInfo("poison")));
AddPragmaHandler("GCC", new PragmaSystemHeaderHandler(
getIdentifierInfo("system_header")));
@@ -673,7 +675,16 @@
getIdentifierInfo("dependency")));
AddPragmaHandler("GCC", new PragmaDiagnosticHandler(
getIdentifierInfo("diagnostic")));
-
+ // #pragma clang ...
+ AddPragmaHandler("clang", new PragmaPoisonHandler(
+ getIdentifierInfo("poison")));
+ AddPragmaHandler("clang", new PragmaSystemHeaderHandler(
+ getIdentifierInfo("system_header")));
+ AddPragmaHandler("clang", new PragmaDependencyHandler(
+ getIdentifierInfo("dependency")));
+ AddPragmaHandler("clang", new PragmaDiagnosticHandler(
+ getIdentifierInfo("diagnostic")));
+
AddPragmaHandler("STDC", new PragmaSTDC_FP_CONTRACTHandler(
getIdentifierInfo("FP_CONTRACT")));
AddPragmaHandler("STDC", new PragmaSTDC_FENV_ACCESSHandler(
Modified: cfe/trunk/test/Lexer/constants.c
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Lexer/constants.c?rev=71572&r1=71571&r2=71572&view=diff
==============================================================================
--- cfe/trunk/test/Lexer/constants.c (original)
+++ cfe/trunk/test/Lexer/constants.c Tue May 12 13:21:11 2009
@@ -25,11 +25,11 @@
};
-#pragma GCC diagnostic ignored "-Wmultichar"
+#pragma clang diagnostic ignored "-Wmultichar"
char d = 'df'; // no warning.
char e = 'abcd'; // still warn: expected-warning {{multi-character character
constant}}
-#pragma GCC diagnostic ignored "-Wfour-char-constants"
+#pragma clang diagnostic ignored "-Wfour-char-constants"
char f = 'abcd'; // ignored.
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits