[clang] baa2b8d - Fix a git apply that went bad somehow.

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 1 11:06:47 PDT 2021


Author: Aaron Ballman
Date: 2021-06-01T14:06:39-04:00
New Revision: baa2b8d08502acfa91a8dfd699d25f7b4e25edbb

URL: https://github.com/llvm/llvm-project/commit/baa2b8d08502acfa91a8dfd699d25f7b4e25edbb
DIFF: https://github.com/llvm/llvm-project/commit/baa2b8d08502acfa91a8dfd699d25f7b4e25edbb.diff

LOG: Fix a git apply that went bad somehow.

When applying the changes in 8edd3464afbff65d7d5945b3a8b20009d6ff5deb,
it seems that this bit got merged incorrectly and no test coverage
caught the issue. This fixes the diagnostic and adds a test.

Added: 
    

Modified: 
    clang/lib/Lex/PPDirectives.cpp
    clang/test/Preprocessor/elifdef.c

Removed: 
    


################################################################################
diff  --git a/clang/lib/Lex/PPDirectives.cpp b/clang/lib/Lex/PPDirectives.cpp
index 8fe70668a4060..87741b0a024a2 100644
--- a/clang/lib/Lex/PPDirectives.cpp
+++ b/clang/lib/Lex/PPDirectives.cpp
@@ -587,7 +587,7 @@ void Preprocessor::SkipExcludedConditionalBlock(SourceLocation HashTokenLoc,
 
         // If this is a #else with a #else before it, report the error.
         if (CondInfo.FoundElse)
-          Diag(Tok, diag::pp_err_else_after_else) << PED_Elif;
+          Diag(Tok, diag::pp_err_else_after_else);
 
         // Note that we've seen a #else in this conditional.
         CondInfo.FoundElse = true;
@@ -611,7 +611,8 @@ void Preprocessor::SkipExcludedConditionalBlock(SourceLocation HashTokenLoc,
         PPConditionalInfo &CondInfo = CurPPLexer->peekConditionalLevel();
 
         // If this is a #elif with a #else before it, report the error.
-        if (CondInfo.FoundElse) Diag(Tok, diag::pp_err_elif_after_else);
+        if (CondInfo.FoundElse)
+          Diag(Tok, diag::pp_err_elif_after_else) << PED_Elif;
 
         // If this is in a skipping block or if we're already handled this #if
         // block, don't bother parsing the condition.

diff  --git a/clang/test/Preprocessor/elifdef.c b/clang/test/Preprocessor/elifdef.c
index 3954159c5e08e..6bc467d70011f 100644
--- a/clang/test/Preprocessor/elifdef.c
+++ b/clang/test/Preprocessor/elifdef.c
@@ -105,3 +105,9 @@
 #elifdef
 #elifndef
 #endif
+
+/* expected-error at +3 {{#elif after #else}}*/
+#if 1
+#else
+#elif
+#endif


        


More information about the cfe-commits mailing list