]> granicus.if.org Git - clang/commitdiff
Don't break after unary operators.
authorDaniel Jasper <djasper@google.com>
Tue, 8 Jan 2013 20:03:18 +0000 (20:03 +0000)
committerDaniel Jasper <djasper@google.com>
Tue, 8 Jan 2013 20:03:18 +0000 (20:03 +0000)
Before:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaa, *
                                                 aaaaaaaaaaaaaaaaaaaaaaaaaaaaa);

After:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(
    aaaaaaaaaaaaaaaaaaaaaaaaaaaa, *aaaaaaaaaaaaaaaaaaaaaaaaaaaaa);

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

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

index 1205c424b1a4ed0d03c729059d85a8487dde97ea..a371aa3c4aae3d094663611fe6ca399bc2545899 100644 (file)
@@ -1049,9 +1049,8 @@ private:
     if (Left.ClosesTemplateDeclaration)
       return true;
     if (Left.Type == TT_PointerOrReference || Left.Type == TT_TemplateCloser ||
-        Right.Type == TT_ConditionalExpr) {
+        Left.Type == TT_UnaryOperator || Right.Type == TT_ConditionalExpr)
       return false;
-    }
     if (Left.is(tok::equal) && CurrentLineType == LT_VirtualFunctionDecl)
       return false;
 
index d5f74d3daa5d919ec995c7d090cd255dd78b5d8b..339be71530d084e13bf6882c4c19df113b292088 100644 (file)
@@ -958,7 +958,6 @@ TEST_F(FormatTest, UnderstandsUsesOfStarAndAmp) {
 
   verifyFormat("InvalidRegions[*R] = 0;");
 
-  // FIXME: Is this desired for LLVM? Fix if not.
   verifyFormat("A<int *> a;");
   verifyFormat("A<int **> a;");
   verifyFormat("A<int *, int *> a;");
@@ -967,6 +966,10 @@ TEST_F(FormatTest, UnderstandsUsesOfStarAndAmp) {
   verifyFormat("Type *A = (Type *) P;");
   verifyFormat("Type *A = (vector<Type *, int *>) P;");
 
+  verifyFormat(
+      "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\n"
+      "    aaaaaaaaaaaaaaaaaaaaaaaaaaaa, *aaaaaaaaaaaaaaaaaaaaaaaaaaaaa);");
+
   verifyGoogleFormat("int main(int argc, char** argv) {\n}");
   verifyGoogleFormat("A<int*> a;");
   verifyGoogleFormat("A<int**> a;");