diff --git a/clang-tools-extra/clang-tidy/utils/LexerUtils.cpp b/clang-tools-extra/clang-tidy/utils/LexerUtils.cpp --- a/clang-tools-extra/clang-tidy/utils/LexerUtils.cpp +++ b/clang-tools-extra/clang-tidy/utils/LexerUtils.cpp @@ -81,9 +81,13 @@ const SourceManager &SM, const LangOptions &LangOpts) { Optional CurrentToken; - do { + while (true) { CurrentToken = Lexer::findNextToken(Start, SM, LangOpts); - } while (CurrentToken && CurrentToken->is(tok::comment)); + if (!CurrentToken || !CurrentToken->is(tok::comment)) { + break; + } + Start = CurrentToken->getLastLoc(); + } return CurrentToken; }