[Syntax] Fix a crash when dumping empty token buffer
llvm-svn: 363801
diff --git a/clang/lib/Tooling/Syntax/Tokens.cpp b/clang/lib/Tooling/Syntax/Tokens.cpp
index e226237..b4ecb85 100644
--- a/clang/lib/Tooling/Syntax/Tokens.cpp
+++ b/clang/lib/Tooling/Syntax/Tokens.cpp
@@ -477,8 +477,7 @@
auto DumpTokens = [this, &PrintToken](llvm::raw_ostream &OS,
llvm::ArrayRef<syntax::Token> Tokens) {
- if (Tokens.size() == 1) {
- assert(Tokens[0].kind() == tok::eof);
+ if (Tokens.empty()) {
OS << "<empty>";
return;
}
@@ -495,7 +494,8 @@
OS << "expanded tokens:\n"
<< " ";
- DumpTokens(OS, ExpandedTokens);
+ // (!) we do not show '<eof>'.
+ DumpTokens(OS, llvm::makeArrayRef(ExpandedTokens).drop_back());
OS << "\n";
std::vector<FileID> Keys;