This revision was automatically updated to reflect the committed changes. Closed by commit rGf4d52cad6713: [clang-format] Fix a bug in "AfterControlStatement: MultiLine" (authored by owenpan).
Changed prior to commit: https://reviews.llvm.org/D125959?vs=430622&id=431182#toc Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D125959/new/ https://reviews.llvm.org/D125959 Files: clang/lib/Format/UnwrappedLineFormatter.cpp clang/unittests/Format/FormatTest.cpp Index: clang/unittests/Format/FormatTest.cpp =================================================================== --- clang/unittests/Format/FormatTest.cpp +++ clang/unittests/Format/FormatTest.cpp @@ -3096,6 +3096,14 @@ " baz);", format("do{foo();}while(bar&&baz);", Style)); // Long lines should put opening brace on new line. + verifyFormat("void f() {\n" + " if (a1 && a2 &&\n" + " a3)\n" + " {\n" + " quux();\n" + " }\n" + "}", + "void f(){if(a1&&a2&&a3){quux();}}", Style); EXPECT_EQ("if (foo && bar &&\n" " baz)\n" "{\n" Index: clang/lib/Format/UnwrappedLineFormatter.cpp =================================================================== --- clang/lib/Format/UnwrappedLineFormatter.cpp +++ clang/lib/Format/UnwrappedLineFormatter.cpp @@ -404,8 +404,9 @@ // If possible, merge the next line's wrapped left brace with the // current line. Otherwise, leave it on the next line, as this is a // multi-line control statement. - return (Style.ColumnLimit == 0 || - TheLine->Last->TotalLength <= Style.ColumnLimit) + return (Style.ColumnLimit == 0 || TheLine->Level * Style.IndentWidth + + TheLine->Last->TotalLength <= + Style.ColumnLimit) ? 1 : 0; }
Index: clang/unittests/Format/FormatTest.cpp =================================================================== --- clang/unittests/Format/FormatTest.cpp +++ clang/unittests/Format/FormatTest.cpp @@ -3096,6 +3096,14 @@ " baz);", format("do{foo();}while(bar&&baz);", Style)); // Long lines should put opening brace on new line. + verifyFormat("void f() {\n" + " if (a1 && a2 &&\n" + " a3)\n" + " {\n" + " quux();\n" + " }\n" + "}", + "void f(){if(a1&&a2&&a3){quux();}}", Style); EXPECT_EQ("if (foo && bar &&\n" " baz)\n" "{\n" Index: clang/lib/Format/UnwrappedLineFormatter.cpp =================================================================== --- clang/lib/Format/UnwrappedLineFormatter.cpp +++ clang/lib/Format/UnwrappedLineFormatter.cpp @@ -404,8 +404,9 @@ // If possible, merge the next line's wrapped left brace with the // current line. Otherwise, leave it on the next line, as this is a // multi-line control statement. - return (Style.ColumnLimit == 0 || - TheLine->Last->TotalLength <= Style.ColumnLimit) + return (Style.ColumnLimit == 0 || TheLine->Level * Style.IndentWidth + + TheLine->Last->TotalLength <= + Style.ColumnLimit) ? 1 : 0; }
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits