diff options
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/Format/Format.cpp | 3 | ||||
| -rw-r--r-- | clang/unittests/Format/FormatTest.cpp | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp index ea96b8f59da..e3f7b4b2e27 100644 --- a/clang/lib/Format/Format.cpp +++ b/clang/lib/Format/Format.cpp @@ -654,7 +654,8 @@ private: AvoidBinPacking = false; } else { NewIndent = 4 + State.Stack.back().LastSpace; - AvoidBinPacking = !Style.BinPackParameters; + AvoidBinPacking = + !Style.BinPackParameters || State.Stack.back().AvoidBinPacking; } State.Stack.push_back( ParenState(NewIndent, State.Stack.back().LastSpace, AvoidBinPacking, diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index 81833e5e02c..929e3c20ba0 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -1173,6 +1173,13 @@ TEST_F(FormatTest, ConstructorInitializers) { " some_other_var_(var + 1) { // lined up\n" "}", OnePerLine); + verifyFormat("Constructor()\n" + " : aaaaa(aaaaaa),\n" + " aaaaa(aaaaaa),\n" + " aaaaa(aaaaaa),\n" + " aaaaa(aaaaaa),\n" + " aaaaa(aaaaaa) {}", + OnePerLine); // This test takes VERY long when memoization is broken. OnePerLine.BinPackParameters = false; |

