]> granicus.if.org Git - clang/commitdiff
clang-format: Allow breaking after "else if(" as a last resort.
authorDaniel Jasper <djasper@google.com>
Thu, 26 Feb 2015 09:49:08 +0000 (09:49 +0000)
committerDaniel Jasper <djasper@google.com>
Thu, 26 Feb 2015 09:49:08 +0000 (09:49 +0000)
This isn't generally nice, but better than violating the column limit.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230620 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Format/TokenAnnotator.cpp
unittests/Format/FormatTest.cpp

index 83e19c55e439e4f4d1bf77de050978f652c9f0e7..e23305242a79b002474ed8d55f2318dd435a8c31 100644 (file)
@@ -1582,6 +1582,8 @@ unsigned TokenAnnotator::splitPenalty(const AnnotatedLine &Line,
 
   if (Left.is(tok::l_paren) && InFunctionDecl && Style.AlignAfterOpenBracket)
     return 100;
+  if (Left.is(tok::l_paren) && Left.Previous && Left.Previous->is(tok::kw_if))
+    return 1000;
   if (Left.is(tok::equal) && InFunctionDecl)
     return 110;
   if (Right.is(tok::r_brace))
@@ -2009,8 +2011,7 @@ bool TokenAnnotator::canBreakBefore(const AnnotatedLine &Line,
   if (Left.is(tok::l_paren) && Left.is(TT_AttributeParen))
     return false;
   if (Left.is(tok::l_paren) && Left.Previous &&
-      (Left.Previous->isOneOf(TT_BinaryOperator, TT_CastRParen) ||
-       Left.Previous->is(tok::kw_if)))
+      (Left.Previous->isOneOf(TT_BinaryOperator, TT_CastRParen)))
     return false;
   if (Right.is(TT_ImplicitStringLiteral))
     return false;
index 3e14d1481ed3149e6b93db59c3cebc5e720f479d..5bf4d3c700763cdb851536ee81b579829a8524c9 100644 (file)
@@ -493,6 +493,11 @@ TEST_F(FormatTest, ElseIf) {
                "} else if (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
                "               aaaaaaaaaaaaaaaaaaaaaaaaaaaa)) {\n"
                "}");
+  verifyFormat("if (a) {\n"
+               "} else if (\n"
+               "    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) {\n"
+               "}",
+               getLLVMStyleWithColumns(62));
 }
 
 TEST_F(FormatTest, FormatsForLoop) {