From dbef71ebc66fe5553db01eb8e95b696c3223e737 Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Tue, 7 May 2013 14:17:18 +0000 Subject: [PATCH] Correctly recognize dereference after 'delete'. With certain styles: Before: delete* x; After: delete *x; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181318 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Format/TokenAnnotator.cpp | 6 +++--- unittests/Format/FormatTest.cpp | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/Format/TokenAnnotator.cpp b/lib/Format/TokenAnnotator.cpp index 17abb01d18..3ac5a07884 100644 --- a/lib/Format/TokenAnnotator.cpp +++ b/lib/Format/TokenAnnotator.cpp @@ -664,8 +664,8 @@ private: } /// \brief Return the type of the given token assuming it is * or &. - TokenType - determineStarAmpUsage(const AnnotatedToken &Tok, bool IsExpression) { + TokenType determineStarAmpUsage(const AnnotatedToken &Tok, + bool IsExpression) { const AnnotatedToken *PrevToken = Tok.getPreviousNoneComment(); if (PrevToken == NULL) return TT_UnaryOperator; @@ -679,7 +679,7 @@ private: if (PrevToken->isOneOf(tok::l_paren, tok::l_square, tok::l_brace, tok::comma, tok::semi, tok::kw_return, tok::colon, - tok::equal) || + tok::equal, tok::kw_delete) || PrevToken->Type == TT_BinaryOperator || PrevToken->Type == TT_UnaryOperator || PrevToken->Type == TT_CastRParen) return TT_UnaryOperator; diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index 4c948e89e9..3bb90d9630 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -2598,6 +2598,9 @@ TEST_F(FormatTest, UnderstandsUsesOfStarAndAmp) { verifyIndependentOfContext("A = new SomeType *[Length]();"); verifyGoogleFormat("A = new SomeType* [Length]();"); verifyGoogleFormat("A = new SomeType* [Length];"); + FormatStyle PointerLeft = getLLVMStyle(); + PointerLeft.PointerBindsToType = true; + verifyFormat("delete *x;", PointerLeft); } TEST_F(FormatTest, UnderstandsEllipsis) { -- 2.40.0