]> granicus.if.org Git - clang/commitdiff
clang-format: Understand array reference types.
authorDaniel Jasper <djasper@google.com>
Wed, 7 Oct 2015 01:41:22 +0000 (01:41 +0000)
committerDaniel Jasper <djasper@google.com>
Wed, 7 Oct 2015 01:41:22 +0000 (01:41 +0000)
Before:
  void f(Type(&parameter)[10]) {}
  void f(Type (*parameter)[10]) {}

After:
  void f(Type (&parameter)[10]) {}
  void f(Type (*parameter)[10]) {}

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

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

index 55a1ddd91c0d614eb672ec3d114606baa05e77bc..e9a78d8f66109287ccb25935321f2da405ff15cb 100644 (file)
@@ -155,7 +155,7 @@ private:
       Left->Type = TT_ObjCMethodExpr;
     }
 
-    bool MightBeFunctionType = CurrentToken->is(tok::star);
+    bool MightBeFunctionType = CurrentToken->isOneOf(tok::star, tok::amp);
     bool HasMultipleLines = false;
     bool HasMultipleParametersOnALine = false;
     bool MightBeObjCForRangeLoop =
index 581b10baafdf8cfb31870f5b89df746d78a4852b..6a265f3dd15dcf4c308249b6b5f4c13c2e3d7a64 100644 (file)
@@ -5423,6 +5423,7 @@ TEST_F(FormatTest, UnderstandsUsesOfStarAndAmp) {
   verifyIndependentOfContext("return (int **&)a;");
   verifyIndependentOfContext("f((*PointerToArray)[10]);");
   verifyFormat("void f(Type (*parameter)[10]) {}");
+  verifyFormat("void f(Type (&parameter)[10]) {}");
   verifyGoogleFormat("return sizeof(int**);");
   verifyIndependentOfContext("Type **A = static_cast<Type **>(P);");
   verifyGoogleFormat("Type** A = static_cast<Type**>(P);");