diff --git a/clang/lib/Analysis/ReachableCode.cpp b/clang/lib/Analysis/ReachableCode.cpp --- a/clang/lib/Analysis/ReachableCode.cpp +++ b/clang/lib/Analysis/ReachableCode.cpp @@ -138,10 +138,10 @@ static SourceLocation getTopMostMacro(SourceLocation Loc, SourceManager &SM) { assert(Loc.isMacroID()); SourceLocation Last; - while (Loc.isMacroID()) { + do { Last = Loc; Loc = SM.getImmediateMacroCallerLoc(Loc); - } + } while (Loc.isMacroID()); return Last; }