On Wed, Jan 2, 2013 at 4:52 PM, Nico Weber <[email protected]> wrote:
> On Wed, Jan 2, 2013 at 7:47 AM, Daniel Jasper <[email protected]> wrote: > > Author: djasper > > Date: Wed Jan 2 09:46:59 2013 > > New Revision: 171390 > > > > URL: http://llvm.org/viewvc/llvm-project?rev=171390&view=rev > > Log: > > Correctly format pointers and references in casts. > > Cool! > > > > > This fixes llvm.org/PR14747. > > > > Before: Type *A = (Type * ) P; > > After: Type *A = (Type *) P; > > Shouldn't this be "(Type*)P" though? At least for google style? (It > feels like that's more common in clang too, but I haven't checked if > that's true.) > I think you are right. It has been quite a while since I have used this type of cast.. ;-) It is a separate issue, though. I will address it soon. > > > Modified: > > cfe/trunk/lib/Format/Format.cpp > > cfe/trunk/unittests/Format/FormatTest.cpp > > > > Modified: cfe/trunk/lib/Format/Format.cpp > > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/Format.cpp?rev=171390&r1=171389&r2=171390&view=diff > > > ============================================================================== > > --- cfe/trunk/lib/Format/Format.cpp (original) > > +++ cfe/trunk/lib/Format/Format.cpp Wed Jan 2 09:46:59 2013 > > @@ -822,19 +822,23 @@ > > TokenAnnotation::TokenType determineStarAmpUsage(unsigned Index, bool > IsRHS) { > > if (Index == Annotations.size()) > > return TokenAnnotation::TT_Unknown; > > + const FormatToken &PrevToken = Line.Tokens[Index - 1]; > > + const FormatToken &NextToken = Line.Tokens[Index + 1]; > > > > - if (Index == 0 || Line.Tokens[Index - 1].Tok.is(tok::l_paren) || > > - Line.Tokens[Index - 1].Tok.is(tok::comma) || > > - Line.Tokens[Index - 1].Tok.is(tok::kw_return) || > > - Line.Tokens[Index - 1].Tok.is(tok::colon) || > > + if (Index == 0 || PrevToken.Tok.is(tok::l_paren) || > > + 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; > > > > - if (Line.Tokens[Index - 1].Tok.isLiteral() || > > - Line.Tokens[Index + 1].Tok.isLiteral() || > > - Line.Tokens[Index + 1].Tok.is(tok::kw_sizeof)) > > + if (PrevToken.Tok.isLiteral() || NextToken.Tok.isLiteral() || > > + NextToken.Tok.is(tok::kw_sizeof)) > > return TokenAnnotation::TT_BinaryOperator; > > > > + if (NextToken.Tok.is(tok::comma) || NextToken.Tok.is(tok::r_paren) > || > > + NextToken.Tok.is(tok::greater)) > > + return TokenAnnotation::TT_PointerOrReference; > > + > > // It is very unlikely that we are going to find a pointer or > reference type > > // definition on the RHS of an assignment. > > if (IsRHS) > > > > Modified: cfe/trunk/unittests/Format/FormatTest.cpp > > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTest.cpp?rev=171390&r1=171389&r2=171390&view=diff > > > ============================================================================== > > --- cfe/trunk/unittests/Format/FormatTest.cpp (original) > > +++ cfe/trunk/unittests/Format/FormatTest.cpp Wed Jan 2 09:46:59 2013 > > @@ -699,6 +699,9 @@ > > verifyFormat("A<int **> a;"); > > verifyFormat("A<int *, int *> a;"); > > verifyFormat("A<int **, int **> a;"); > > + verifyFormat("Type *A = static_cast<Type *>(P);"); > > + verifyFormat("Type *A = (Type *) P;"); > > + verifyFormat("Type *A = (vector<Type *, int *>) P;"); > > > > verifyGoogleFormat("int main(int argc, char** argv) {\n}"); > > verifyGoogleFormat("A<int*> a;"); > > > > > > _______________________________________________ > > cfe-commits mailing list > > [email protected] > > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
