summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/lib/Format/ContinuationIndenter.cpp2
-rw-r--r--clang/unittests/Format/FormatTest.cpp29
2 files changed, 22 insertions, 9 deletions
diff --git a/clang/lib/Format/ContinuationIndenter.cpp b/clang/lib/Format/ContinuationIndenter.cpp
index 77d981b8f5e..63bb5e9918b 100644
--- a/clang/lib/Format/ContinuationIndenter.cpp
+++ b/clang/lib/Format/ContinuationIndenter.cpp
@@ -739,7 +739,7 @@ unsigned ContinuationIndenter::moveStateToNextToken(LineState &State,
Current.PackingKind == PPK_Inconclusive)));
// If this '[' opens an ObjC call, determine whether all parameters fit
// into one line and put one per line if they don't.
- if (Current.Type == TT_ObjCMethodExpr &&
+ if (Current.Type == TT_ObjCMethodExpr && Style.ColumnLimit != 0 &&
getLengthToMatchingParen(Current) + State.Column >
getColumnLimit(State))
BreakBeforeParameter = true;
diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp
index 7ac6cb49873..e5a94cf1e94 100644
--- a/clang/unittests/Format/FormatTest.cpp
+++ b/clang/unittests/Format/FormatTest.cpp
@@ -8547,12 +8547,16 @@ TEST_F(FormatTest, FormatsWithWebKitStyle) {
Style));
// Keep empty and one-element array literals on a single line.
- verifyFormat("NSArray* a = [[NSArray alloc] initWithArray:@[]\n"
- " copyItems:YES];",
- Style);
- verifyFormat("NSArray* a = [[NSArray alloc] initWithArray:@[ @\"a\" ]\n"
- " copyItems:YES];",
- Style);
+ EXPECT_EQ("NSArray* a = [[NSArray alloc] initWithArray:@[]\n"
+ " copyItems:YES];",
+ format("NSArray*a=[[NSArray alloc] initWithArray:@[]\n"
+ "copyItems:YES];",
+ Style));
+ EXPECT_EQ("NSArray* a = [[NSArray alloc] initWithArray:@[ @\"a\" ]\n"
+ " copyItems:YES];",
+ format("NSArray*a=[[NSArray alloc]initWithArray:@[ @\"a\" ]\n"
+ " copyItems:YES];",
+ Style));
EXPECT_EQ("NSArray* a = [[NSArray alloc] initWithArray:@[\n"
" @\"a\",\n"
" @\"a\"\n"
@@ -8564,10 +8568,19 @@ TEST_F(FormatTest, FormatsWithWebKitStyle) {
" ]\n"
" copyItems:YES];",
Style));
- verifyFormat(
+ EXPECT_EQ(
"NSArray* a = [[NSArray alloc] initWithArray:@[ @\"a\", @\"a\" ]\n"
" copyItems:YES];",
- Style);
+ format("NSArray* a = [[NSArray alloc] initWithArray:@[ @\"a\", @\"a\" ]\n"
+ " copyItems:YES];",
+ Style));
+
+ verifyFormat("[self.a b:c c:d];", Style);
+ EXPECT_EQ("[self.a b:c\n"
+ " c:d];",
+ format("[self.a b:c\n"
+ "c:d];",
+ Style));
}
TEST_F(FormatTest, FormatsLambdas) {
OpenPOWER on IntegriCloud