Author: owenca Date: 2022-05-04T12:04:43-07:00 New Revision: 342e1c77c360e745fc6457037e6c1e37b84f2791
URL: https://github.com/llvm/llvm-project/commit/342e1c77c360e745fc6457037e6c1e37b84f2791 DIFF: https://github.com/llvm/llvm-project/commit/342e1c77c360e745fc6457037e6c1e37b84f2791.diff LOG: [clang-format] Fix a bug in AlignConsecutiveAssignments Fixes #55113. Differential Revision: https://reviews.llvm.org/D124868 Added: Modified: clang/lib/Format/WhitespaceManager.cpp clang/unittests/Format/FormatTest.cpp Removed: ################################################################################ diff --git a/clang/lib/Format/WhitespaceManager.cpp b/clang/lib/Format/WhitespaceManager.cpp index 2dcc4fd62c5e8..cf4ef6338f1bd 100644 --- a/clang/lib/Format/WhitespaceManager.cpp +++ b/clang/lib/Format/WhitespaceManager.cpp @@ -369,6 +369,8 @@ AlignTokenSequence(const FormatStyle &Style, unsigned Start, unsigned End, if (Changes[i].Tok->MatchingParen && Changes[i].Tok->MatchingParen->is(TT_LambdaLBrace)) return false; + if (Changes[ScopeStart].NewlinesBefore > 0) + return false; return Style.BinPackArguments; } diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index 37f32691a1d36..78a3c21c33009 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -18010,11 +18010,21 @@ TEST_F(FormatTest, AlignWithLineBreaks) { Style); // clang-format on - Style = getLLVMStyleWithColumns(120); + Style = getLLVMStyleWithColumns(20); Style.AlignConsecutiveAssignments.Enabled = true; - Style.ContinuationIndentWidth = 4; Style.IndentWidth = 4; + verifyFormat("void foo() {\n" + " int i1 = 1;\n" + " int j = 0;\n" + " int k = bar(\n" + " argument1,\n" + " argument2);\n" + "}", + Style); + + Style.ColumnLimit = 120; + // clang-format off verifyFormat("void SomeFunc() {\n" " newWatcher.maxAgeUsec = ToLegacyTimestamp(GetMaxAge(FromLegacyTimestamp<milliseconds>(monitorFrequencyUsec),\n" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits