]> granicus.if.org Git - clang/commitdiff
clang-format: Only special-case top-level */& in multivar-declstmts.
authorDaniel Jasper <djasper@google.com>
Mon, 26 Sep 2016 15:14:24 +0000 (15:14 +0000)
committerDaniel Jasper <djasper@google.com>
Mon, 26 Sep 2016 15:14:24 +0000 (15:14 +0000)
Before (even with PointerAlignment: Left):
  vector<int *> a, b;

After:
  vector<int*> a, b;

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

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

index 75eb137805b024a8a8aac31a1272252ab424e658..72d869782cea7cb0111dc7efd68ba8a53280399e 100644 (file)
@@ -2015,7 +2015,7 @@ bool TokenAnnotator::spaceRequiredBetween(const AnnotatedLine &Line,
                                      Left.Previous->is(tok::r_paren)) ||
             (!Left.isOneOf(TT_PointerOrReference, tok::l_paren) &&
              (Style.PointerAlignment != FormatStyle::PAS_Left ||
-              Line.IsMultiVariableDeclStmt)));
+              (Line.IsMultiVariableDeclStmt && Left.NestingLevel == 0))));
   if (Right.is(TT_FunctionTypeLParen) && Left.isNot(tok::l_paren) &&
       (!Left.is(TT_PointerOrReference) ||
        (Style.PointerAlignment != FormatStyle::PAS_Right &&
index 6cffb3b238ee26bd072ff03976d560fc9f513779..bac2a5b7a91344aa519e2db642800cbc2e54c869 100644 (file)
@@ -4802,6 +4802,7 @@ TEST_F(FormatTest, DeclarationsOfMultipleVariables) {
   verifyFormat("aaaaaaaaa *a = aaaaaaaaaaaaaaaaaaa, *b = bbbbbbbbbbbbbbbbbbb,\n"
                "          *b = bbbbbbbbbbbbbbbbbbb, *d = ddddddddddddddddddd;",
                Style);
+  verifyFormat("vector<int*> a, b;", Style);
 }
 
 TEST_F(FormatTest, ConditionalExpressionsInBrackets) {