]> granicus.if.org Git - clang/commitdiff
Correctly format dereference and address of in array parameters.
authorDaniel Jasper <djasper@google.com>
Fri, 4 Jan 2013 20:46:38 +0000 (20:46 +0000)
committerDaniel Jasper <djasper@google.com>
Fri, 4 Jan 2013 20:46:38 +0000 (20:46 +0000)
Before: InvalidRegions[ &R] = 0;
After:  InvalidRegions[&R] = 0;

This fixes llvm.org/PR14793

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

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

index 69020c6575011bb40da7748bf827bdf218091e90..7f40e35e1d6e92c8a88635880131410947cd0bfd 100644 (file)
@@ -878,8 +878,9 @@ private:
     const FormatToken &PrevToken = Line.Tokens[Index - 1];
     const FormatToken &NextToken = Line.Tokens[Index + 1];
 
-    if (PrevToken.Tok.is(tok::l_paren) || PrevToken.Tok.is(tok::comma) ||
-        PrevToken.Tok.is(tok::kw_return) || PrevToken.Tok.is(tok::colon) ||
+    if (PrevToken.Tok.is(tok::l_paren) || PrevToken.Tok.is(tok::l_square) ||
+        PrevToken.Tok.is(tok::comma) || PrevToken.Tok.is(tok::kw_return) ||
+        PrevToken.Tok.is(tok::colon) ||
         Annotations[Index - 1].Type == TokenAnnotation::TT_BinaryOperator)
       return TokenAnnotation::TT_UnaryOperator;
 
index 8eadb545f77af78c4fe7f3fda1d1b86e158eacb5..c17bc0d76b3819e293af22003d83ae253ac8f226 100644 (file)
@@ -768,6 +768,8 @@ TEST_F(FormatTest, UnderstandsUsesOfStarAndAmp) {
   verifyFormat("a * ++b;");
   verifyFormat("a * --b;");
 
+  verifyFormat("InvalidRegions[*R] = 0;");
+
   // FIXME: Is this desired for LLVM? Fix if not.
   verifyFormat("A<int *> a;");
   verifyFormat("A<int **> a;");