a few minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63000 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Lex/PPDirectives.cpp b/lib/Lex/PPDirectives.cpp
index 4ab293b..1c8f7f1 100644
--- a/lib/Lex/PPDirectives.cpp
+++ b/lib/Lex/PPDirectives.cpp
@@ -629,10 +629,12 @@
// FIXME: do something with the #line info.
}
-
+/// HandleUserDiagnosticDirective - Handle a #warning or #error directive.
+///
void Preprocessor::HandleUserDiagnosticDirective(Token &Tok,
bool isWarning) {
- if (!CurLexer)
+ // PTH doesn't emit #warning or #error directives.
+ if (CurPTHLexer)
return CurPTHLexer->DiscardToEndOfLine();
// Read the rest of the line raw. We do this because we don't want macros
@@ -661,6 +663,8 @@
if (StrTok.isNot(tok::string_literal) &&
StrTok.isNot(tok::wide_string_literal)) {
Diag(StrTok, diag::err_pp_malformed_ident);
+ if (StrTok.isNot(tok::eom))
+ DiscardUntilEndOfDirective();
return;
}