================ @@ -9728,6 +9737,335 @@ TEST_F(FormatTest, ParenthesesAndOperandAlignment) { Style); } +TEST_F(FormatTest, AlignAndBreakControlStatements) { + FormatStyle Style = getLLVMStyle(); + + Style.AlignAfterOpenBracket = FormatStyle::BAS_DontAlign; + Style.BreakAfterOpenBracketIf = true; + Style.BreakAfterOpenBracketLoop = true; + Style.BreakAfterOpenBracketSwitch = true; + + verifyFormat("void foo() {\n" + " if constexpr (\n" + " (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |\n" + " bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" + "bbb) == 0) {\n" + " return;\n" + " } else if (\n" + " (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &\n" + " bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" + "bbb) == 0) {\n" + " return;\n" + " }\n" + "}", + Style); + + verifyFormat("void foo() {\n" + " switch (\n" + " aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |\n" + " bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb) {\n" + " default:\n" + " break;\n" + " }\n" + "}", + Style); + + verifyFormat( + "void foo() {\n" + " for (\n" + " aaaaaaaaaaaaaaaaaaaaaa = 0;\n" + " (aaaaaaaaaaaaaaaaaaaaaa->bbbbbbbbbbbbbb |\n" + " aaaaaaaaaaaaaaaaaaaaaa->ccccccccccccccccccccccc) == 0;\n" + " aaaaaaaaaaaaaaaaaaaaa = aaaaaaaaaaaaaaaaaaaaaa->next) {\n" + " ;\n" + " }\n" + "}", + Style); + + verifyFormat( + "void foo() {\n" + " while (\n" + " (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |\n" + " bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb) == 0) " + "{\n" + " continue;\n" + " }\n" + "}", + Style); + + Style.AlignAfterOpenBracket = FormatStyle::BAS_Align; + Style.BreakAfterOpenBracketIf = true; + Style.BreakAfterOpenBracketLoop = true; + Style.BreakAfterOpenBracketSwitch = true; + Style.BreakBeforeCloseBracketIf = false; + Style.BreakBeforeCloseBracketLoop = false; + Style.BreakBeforeCloseBracketSwitch = false; ---------------- gedare wrote:
yes, the nested bitwise boolean expression gets aligned rather than use the `ContinuationIndent`. https://github.com/llvm/llvm-project/pull/108332 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits