This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG1aa608a0208b: [clang-format] Handle wrapped else for RemoveBracesLLVM (authored by owenpan).
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D120873/new/ https://reviews.llvm.org/D120873 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 @@ -24974,6 +24974,20 @@ "};", Style); + verifyFormat("if (a)\n" + " foo();\n" + "else\n" + " bar();", + "if (a)\n" + "{\n" + " foo();\n" + "}\n" + "else\n" + "{\n" + " bar();\n" + "}", + Style); + // FIXME: See https://github.com/llvm/llvm-project/issues/53543. #if 0 Style.ColumnLimit = 65; Index: clang/lib/Format/Format.cpp =================================================================== --- clang/lib/Format/Format.cpp +++ clang/lib/Format/Format.cpp @@ -1812,9 +1812,12 @@ if (!Token->Optional) continue; assert(Token->isOneOf(tok::l_brace, tok::r_brace)); - const auto Start = Token == Line->Last - ? Token->WhitespaceRange.getBegin() - : Token->Tok.getLocation(); + assert(Token->Next || Token == Line->Last); + const auto Start = + Token == Line->Last || (Token->Next->is(tok::kw_else) && + Token->Next->NewlinesBefore > 0) + ? Token->WhitespaceRange.getBegin() + : Token->Tok.getLocation(); 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 @@ -24974,6 +24974,20 @@ "};", Style); + verifyFormat("if (a)\n" + " foo();\n" + "else\n" + " bar();", + "if (a)\n" + "{\n" + " foo();\n" + "}\n" + "else\n" + "{\n" + " bar();\n" + "}", + Style); + // FIXME: See https://github.com/llvm/llvm-project/issues/53543. #if 0 Style.ColumnLimit = 65; Index: clang/lib/Format/Format.cpp =================================================================== --- clang/lib/Format/Format.cpp +++ clang/lib/Format/Format.cpp @@ -1812,9 +1812,12 @@ if (!Token->Optional) continue; assert(Token->isOneOf(tok::l_brace, tok::r_brace)); - const auto Start = Token == Line->Last - ? Token->WhitespaceRange.getBegin() - : Token->Tok.getLocation(); + assert(Token->Next || Token == Line->Last); + const auto Start = + Token == Line->Last || (Token->Next->is(tok::kw_else) && + Token->Next->NewlinesBefore > 0) + ? Token->WhitespaceRange.getBegin() + : Token->Tok.getLocation(); 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