]> granicus.if.org Git - clang/commitdiff
clang-format: Fix incorrect braced init identification.
authorDaniel Jasper <djasper@google.com>
Thu, 22 May 2014 12:11:13 +0000 (12:11 +0000)
committerDaniel Jasper <djasper@google.com>
Thu, 22 May 2014 12:11:13 +0000 (12:11 +0000)
Before:
  int foo(int i) {
    return fo1 {}
    (i);
  }
  int foo(int i) {
    return fo1 {}
    (i);
  }

After:
  int foo(int i) { return fo1{}(i); }
  int foo(int i) { return fo1{}(i); }

This fixes llvm.org/PR19812.

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

lib/Format/UnwrappedLineParser.cpp
unittests/Format/FormatTest.cpp

index 058544255037ef874cee3dce0724575ce774d476..e0106d94cf8f4b64e79d5ef9ff36cf941bee536a 100644 (file)
@@ -348,7 +348,8 @@ void UnwrappedLineParser::calculateBraceTypes() {
             // We exclude + and - as they can be ObjC visibility modifiers.
             ProbablyBracedList =
                 NextTok->isOneOf(tok::comma, tok::semi, tok::period, tok::colon,
-                                 tok::r_paren, tok::r_square, tok::l_brace) ||
+                                 tok::r_paren, tok::r_square, tok::l_brace,
+                                 tok::l_paren) ||
                 (NextTok->isBinaryOperator() &&
                  !NextTok->isOneOf(tok::plus, tok::minus));
           }
index af0b5a1cb61ca748a32d02b701ae07c3a03711eb..f9016f4bf1a9ed17b32bd87e0996e85c248c8739 100644 (file)
@@ -5263,6 +5263,9 @@ TEST_F(FormatTest, LayoutCxx11BraceInitializers) {
                "};");
   verifyFormat("vector<int> foo = {::SomeGlobalFunction()};");
 
+  verifyFormat("int foo(int i) { return fo1{}(i); }");
+  verifyFormat("int foo(int i) { return fo1{}(i); }");
+
   // In combination with BinPackParameters = false.
   FormatStyle NoBinPacking = getLLVMStyle();
   NoBinPacking.BinPackParameters = false;