r182777 - Fix formatting regression regarding pointers to arrays.

Daniel Jasper djasper at google.com
Tue May 28 08:27:10 PDT 2013


Author: djasper
Date: Tue May 28 10:27:10 2013
New Revision: 182777

URL: http://llvm.org/viewvc/llvm-project?rev=182777&view=rev
Log:
Fix formatting regression regarding pointers to arrays.

Before: f( (*PointerToArray)[10]);
After:  f((*PointerToArray)[10]);

This fixes llvm.org/PR16163

Modified:
    cfe/trunk/lib/Format/TokenAnnotator.cpp
    cfe/trunk/unittests/Format/FormatTest.cpp

Modified: cfe/trunk/lib/Format/TokenAnnotator.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/TokenAnnotator.cpp?rev=182777&r1=182776&r2=182777&view=diff
==============================================================================
--- cfe/trunk/lib/Format/TokenAnnotator.cpp (original)
+++ cfe/trunk/lib/Format/TokenAnnotator.cpp Tue May 28 10:27:10 2013
@@ -1077,7 +1077,7 @@ bool TokenAnnotator::spaceRequiredBetwee
     return Left.FormatTok->Tok.isLiteral() ||
            ((Left.Type != TT_PointerOrReference) && Left.isNot(tok::l_paren) &&
             !Style.PointerBindsToType);
-  if (Right.Type == TT_FunctionTypeLParen &&
+  if (Right.Type == TT_FunctionTypeLParen && Left.isNot(tok::l_paren) &&
       (Left.Type != TT_PointerOrReference || Style.PointerBindsToType))
     return true;
   if (Left.Type == TT_PointerOrReference)

Modified: cfe/trunk/unittests/Format/FormatTest.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTest.cpp?rev=182777&r1=182776&r2=182777&view=diff
==============================================================================
--- cfe/trunk/unittests/Format/FormatTest.cpp (original)
+++ cfe/trunk/unittests/Format/FormatTest.cpp Tue May 28 10:27:10 2013
@@ -2981,6 +2981,7 @@ TEST_F(FormatTest, UnderstandsUsesOfStar
   verifyIndependentOfContext("return sizeof(int **);");
   verifyIndependentOfContext("return sizeof(int ******);");
   verifyIndependentOfContext("return (int **&)a;");
+  verifyIndependentOfContext("f((*PointerToArray)[10]);");
   verifyFormat("void f(Type (*parameter)[10]) {}");
   verifyGoogleFormat("return sizeof(int**);");
   verifyIndependentOfContext("Type **A = static_cast<Type **>(P);");





More information about the cfe-commits mailing list