diff options
Diffstat (limited to 'lib/Parse/Parser.cpp')
-rw-r--r-- | lib/Parse/Parser.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/Parse/Parser.cpp b/lib/Parse/Parser.cpp index 70a336678c..b66b4f34ce 100644 --- a/lib/Parse/Parser.cpp +++ b/lib/Parse/Parser.cpp @@ -43,11 +43,16 @@ Parser::Parser(Preprocessor &pp, Action &actions) /// what the current token is. void PrettyStackTraceParserEntry::print(llvm::raw_ostream &OS) const { const Token &Tok = P.getCurToken(); - if (Tok.getLocation().isInvalid()) { + if (Tok.is(tok::eof)) { OS << "<eof> parser at end of file\n"; return; } + if (Tok.getLocation().isInvalid()) { + OS << "<unknown> parser at unknown location\n"; + return; + } + const Preprocessor &PP = P.getPreprocessor(); Tok.getLocation().print(OS, PP.getSourceManager()); OS << ": current parser token '" << PP.getSpelling(Tok) << "'\n"; |