[cfe-commits] r71572 - in /cfe/trunk: lib/Lex/Pragma.cpp test/Lexer/constants.c

Chris Lattner sabre at nondot.org
Tue May 12 11:21:11 PDT 2009


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.





More information about the cfe-commits mailing list