diff --git a/clang/include/clang/Basic/DiagnosticLexKinds.td b/clang/include/clang/Basic/DiagnosticLexKinds.td index 64f60bd247d0..12df86771553 100644 --- a/clang/include/clang/Basic/DiagnosticLexKinds.td +++ b/clang/include/clang/Basic/DiagnosticLexKinds.td @@ -113,7 +113,7 @@ def ext_pp_include_next_directive : Extension< "#include_next is a language extension">; def ext_pp_warning_directive : Extension<"#warning is a language extension">; def ext_pp_extra_tokens_at_eol : ExtWarn< - "extra tokens at end of %0 directive">; + "extra tokens at end of #%0 directive">; def ext_pp_comma_expr : Extension<"comma operator in operand of #if">; def ext_pp_bad_vaargs_use : Extension< "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro">; diff --git a/clang/lib/Lex/PPDirectives.cpp b/clang/lib/Lex/PPDirectives.cpp index 24b943254cff..affd9886f02e 100644 --- a/clang/lib/Lex/PPDirectives.cpp +++ b/clang/lib/Lex/PPDirectives.cpp @@ -243,7 +243,7 @@ void Preprocessor::SkipExcludedConditionalBlock(SourceLocation IfTokenLoc, } } else if (FirstChar == 'e') { if (IdLen == 5 && !strcmp(Directive+1, "ndif")) { // "endif" - CheckEndOfDirective("#endif"); + CheckEndOfDirective("endif"); PPConditionalInfo CondInfo; CondInfo.WasSkipping = true; // Silence bogus warning. bool InCond = CurPPLexer->popConditionalLevel(CondInfo); @@ -257,7 +257,7 @@ void Preprocessor::SkipExcludedConditionalBlock(SourceLocation IfTokenLoc, // #else directive in a skipping conditional. If not in some other // skipping conditional, and if #else hasn't already been seen, enter it // as a non-skipping conditional. - CheckEndOfDirective("#else"); + CheckEndOfDirective("else"); PPConditionalInfo &CondInfo = CurPPLexer->peekConditionalLevel(); // If this is a #else with a #else before it, report the error. @@ -689,7 +689,7 @@ void Preprocessor::HandleLineDirective(Token &Tok) { Literal.GetStringLength()); // Verify that there is nothing after the string, other than EOM. - CheckEndOfDirective("#line"); + CheckEndOfDirective("line"); } SourceMgr.AddLineNote(DigitTok.getLocation(), LineNo, FilenameID); @@ -889,7 +889,7 @@ void Preprocessor::HandleIdentSCCSDirective(Token &Tok) { } // Verify that there is nothing after the string, other than EOM. - CheckEndOfDirective("#ident"); + CheckEndOfDirective("ident"); if (Callbacks) Callbacks->Ident(Tok.getLocation(), getSpelling(StrTok)); @@ -1050,7 +1050,7 @@ void Preprocessor::HandleIncludeDirective(Token &IncludeTok, } // Verify that there is nothing after the filename, other than EOM. - CheckEndOfDirective("#include"); + CheckEndOfDirective(IncludeTok.getIdentifierInfo()->getName()); // Check that we don't have infinite #include recursion. if (IncludeMacroStack.size() == MaxAllowedIncludeStackDepth-1) { @@ -1420,7 +1420,7 @@ void Preprocessor::HandleUndefDirective(Token &UndefTok) { return; // Check to see if this is the last token on the #undef line. - CheckEndOfDirective("#undef"); + CheckEndOfDirective("undef"); // Okay, we finally have a valid identifier to undef. MacroInfo *MI = getMacroInfo(MacroNameTok.getIdentifierInfo()); @@ -1464,7 +1464,7 @@ void Preprocessor::HandleIfdefDirective(Token &Result, bool isIfndef, } // Check to see if this is the last token on the #if[n]def line. - CheckEndOfDirective(isIfndef ? "#ifndef" : "#ifdef"); + CheckEndOfDirective(isIfndef ? "ifndef" : "ifdef"); if (CurPPLexer->getConditionalStackDepth() == 0) { // If the start of a top-level #ifdef, inform MIOpt. @@ -1533,7 +1533,7 @@ void Preprocessor::HandleEndifDirective(Token &EndifToken) { ++NumEndif; // Check that this is the whole directive. - CheckEndOfDirective("#endif"); + CheckEndOfDirective("endif"); PPConditionalInfo CondInfo; if (CurPPLexer->popConditionalLevel(CondInfo)) { @@ -1555,7 +1555,7 @@ void Preprocessor::HandleElseDirective(Token &Result) { ++NumElse; // #else directive in a non-skipping conditional... start skipping. - CheckEndOfDirective("#else"); + CheckEndOfDirective("else"); PPConditionalInfo CI; if (CurPPLexer->popConditionalLevel(CI)) { diff --git a/clang/lib/Lex/Pragma.cpp b/clang/lib/Lex/Pragma.cpp index 9e3080c8abbb..6bef2c8f77ff 100644 --- a/clang/lib/Lex/Pragma.cpp +++ b/clang/lib/Lex/Pragma.cpp @@ -461,7 +461,7 @@ namespace { struct PragmaOnceHandler : public PragmaHandler { PragmaOnceHandler(const IdentifierInfo *OnceID) : PragmaHandler(OnceID) {} virtual void HandlePragma(Preprocessor &PP, Token &OnceTok) { - PP.CheckEndOfDirective("#pragma once"); + PP.CheckEndOfDirective("pragma once"); PP.HandlePragmaOnce(OnceTok); } }; @@ -489,7 +489,7 @@ struct PragmaSystemHeaderHandler : public PragmaHandler { PragmaSystemHeaderHandler(const IdentifierInfo *ID) : PragmaHandler(ID) {} virtual void HandlePragma(Preprocessor &PP, Token &SHToken) { PP.HandlePragmaSystemHeader(SHToken); - PP.CheckEndOfDirective("#pragma"); + PP.CheckEndOfDirective("pragma"); } }; struct PragmaDependencyHandler : public PragmaHandler {