This revision was automatically updated to reflect the committed changes. Closed by commit rG7349084e7afc: [clang-format] Update removed brace's next token's WhitespaceRange (authored by owenpan).
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D134146/new/ https://reviews.llvm.org/D134146 Files: clang/lib/Format/Format.cpp clang/unittests/Format/FormatTest.cpp Index: clang/unittests/Format/FormatTest.cpp =================================================================== --- clang/unittests/Format/FormatTest.cpp +++ clang/unittests/Format/FormatTest.cpp @@ -26006,6 +26006,17 @@ "}", Style); + verifyFormat("while (0)\n" + " if (a)\n" + " return b;\n" + "return a;", + "while (0) {\n" + " if (a) {\n" + " return b;\n" + "}}\n" + "return a;", + Style); + Style.ColumnLimit = 65; verifyFormat("if (condition) {\n" " ff(Indices,\n" Index: clang/lib/Format/Format.cpp =================================================================== --- clang/lib/Format/Format.cpp +++ clang/lib/Format/Format.cpp @@ -1920,10 +1920,13 @@ assert(Next || Token == Line->Last); if (!Next && NextLine) Next = NextLine->First; - const auto Start = - Next && Next->NewlinesBefore == 0 && Next->isNot(tok::eof) - ? Token->Tok.getLocation() - : Token->WhitespaceRange.getBegin(); + SourceLocation Start; + if (Next && Next->NewlinesBefore == 0 && Next->isNot(tok::eof)) { + Start = Token->Tok.getLocation(); + Next->WhitespaceRange = Token->WhitespaceRange; + } else { + Start = Token->WhitespaceRange.getBegin(); + } const auto Range = CharSourceRange::getCharRange(Start, Token->Tok.getEndLoc()); cantFail(Result.add(tooling::Replacement(SourceMgr, Range, "")));
Index: clang/unittests/Format/FormatTest.cpp =================================================================== --- clang/unittests/Format/FormatTest.cpp +++ clang/unittests/Format/FormatTest.cpp @@ -26006,6 +26006,17 @@ "}", Style); + verifyFormat("while (0)\n" + " if (a)\n" + " return b;\n" + "return a;", + "while (0) {\n" + " if (a) {\n" + " return b;\n" + "}}\n" + "return a;", + Style); + Style.ColumnLimit = 65; verifyFormat("if (condition) {\n" " ff(Indices,\n" Index: clang/lib/Format/Format.cpp =================================================================== --- clang/lib/Format/Format.cpp +++ clang/lib/Format/Format.cpp @@ -1920,10 +1920,13 @@ assert(Next || Token == Line->Last); if (!Next && NextLine) Next = NextLine->First; - const auto Start = - Next && Next->NewlinesBefore == 0 && Next->isNot(tok::eof) - ? Token->Tok.getLocation() - : Token->WhitespaceRange.getBegin(); + SourceLocation Start; + if (Next && Next->NewlinesBefore == 0 && Next->isNot(tok::eof)) { + Start = Token->Tok.getLocation(); + Next->WhitespaceRange = Token->WhitespaceRange; + } else { + Start = Token->WhitespaceRange.getBegin(); + } const auto Range = CharSourceRange::getCharRange(Start, Token->Tok.getEndLoc()); cantFail(Result.add(tooling::Replacement(SourceMgr, Range, "")));
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits