Changed in r245934. On Mon, Aug 24, 2015 at 5:48 PM, Daniel Jasper <djas...@google.com> wrote:
> > > On Mon, Aug 24, 2015 at 5:46 PM, David Blaikie <dblai...@gmail.com> wrote: > >> >> >> On Mon, Aug 24, 2015 at 7:28 AM, Daniel Jasper via cfe-commits < >> cfe-commits@lists.llvm.org> wrote: >> >>> Author: djasper >>> Date: Mon Aug 24 09:28:08 2015 >>> New Revision: 245843 >>> >>> URL: http://llvm.org/viewvc/llvm-project?rev=245843&view=rev >>> Log: >>> clang-format: Make formatting of member function reference qualifiers >>> more consistent. >>> >>> Before: >>> SomeType MemberFunction(const Deleted &)&&; >>> SomeType MemberFunction(const Deleted &) && { ... } >>> >>> After: >>> SomeType MemberFunction(const Deleted &)&&; >>> SomeType MemberFunction(const Deleted &)&& { ... } >>> >> >> I don't think that's the way most people write them - at least I tend to >> write them with a space after the ')'? (for both rvalue and lvalue ref) >> same way I would with 'const'. >> >> Any sense of how this is usually done (across LLVM or other codebases)? >> > > You are probably right. But making this consistent is a good step either > way ;-). I'll follow up with another commit .. > > >> >> >>> >>> Modified: >>> cfe/trunk/lib/Format/FormatToken.h >>> cfe/trunk/lib/Format/TokenAnnotator.cpp >>> cfe/trunk/unittests/Format/FormatTest.cpp >>> >>> Modified: cfe/trunk/lib/Format/FormatToken.h >>> URL: >>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/FormatToken.h?rev=245843&r1=245842&r2=245843&view=diff >>> >>> ============================================================================== >>> --- cfe/trunk/lib/Format/FormatToken.h (original) >>> +++ cfe/trunk/lib/Format/FormatToken.h Mon Aug 24 09:28:08 2015 >>> @@ -525,6 +525,8 @@ private: >>> /// properly supported by Clang's lexer. >>> struct AdditionalKeywords { >>> AdditionalKeywords(IdentifierTable &IdentTable) { >>> + kw_final = &IdentTable.get("final"); >>> + kw_override = &IdentTable.get("override"); >>> kw_in = &IdentTable.get("in"); >>> kw_CF_ENUM = &IdentTable.get("CF_ENUM"); >>> kw_CF_OPTIONS = &IdentTable.get("CF_OPTIONS"); >>> @@ -538,7 +540,6 @@ struct AdditionalKeywords { >>> >>> kw_abstract = &IdentTable.get("abstract"); >>> kw_extends = &IdentTable.get("extends"); >>> - kw_final = &IdentTable.get("final"); >>> kw_implements = &IdentTable.get("implements"); >>> kw_instanceof = &IdentTable.get("instanceof"); >>> kw_interface = &IdentTable.get("interface"); >>> @@ -562,6 +563,8 @@ struct AdditionalKeywords { >>> } >>> >>> // Context sensitive keywords. >>> + IdentifierInfo *kw_final; >>> + IdentifierInfo *kw_override; >>> IdentifierInfo *kw_in; >>> IdentifierInfo *kw_CF_ENUM; >>> IdentifierInfo *kw_CF_OPTIONS; >>> @@ -578,7 +581,6 @@ struct AdditionalKeywords { >>> // Java keywords. >>> IdentifierInfo *kw_abstract; >>> IdentifierInfo *kw_extends; >>> - IdentifierInfo *kw_final; >>> IdentifierInfo *kw_implements; >>> IdentifierInfo *kw_instanceof; >>> IdentifierInfo *kw_interface; >>> >>> Modified: cfe/trunk/lib/Format/TokenAnnotator.cpp >>> URL: >>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/TokenAnnotator.cpp?rev=245843&r1=245842&r2=245843&view=diff >>> >>> ============================================================================== >>> --- cfe/trunk/lib/Format/TokenAnnotator.cpp (original) >>> +++ cfe/trunk/lib/Format/TokenAnnotator.cpp Mon Aug 24 09:28:08 2015 >>> @@ -1139,9 +1139,11 @@ private: >>> return TT_UnaryOperator; >>> >>> const FormatToken *NextToken = Tok.getNextNonComment(); >>> - if (!NextToken || NextToken->is(tok::arrow) || >>> + if (!NextToken || >>> + NextToken->isOneOf(tok::arrow, Keywords.kw_final, >>> + Keywords.kw_override) || >>> (NextToken->is(tok::l_brace) && >>> !NextToken->getNextNonComment())) >>> - return TT_Unknown; >>> + return TT_PointerOrReference; >>> >>> if (PrevToken->is(tok::coloncolon)) >>> return TT_PointerOrReference; >>> @@ -1855,7 +1857,9 @@ bool TokenAnnotator::spaceRequiredBetwee >>> !Line.IsMultiVariableDeclStmt))) >>> return true; >>> if (Left.is(TT_PointerOrReference)) >>> - return Right.Tok.isLiteral() || Right.is(TT_BlockComment) || >>> + return Right.Tok.isLiteral() || >>> + Right.isOneOf(TT_BlockComment, Keywords.kw_final, >>> + Keywords.kw_override) || >>> (Right.is(tok::l_brace) && Right.BlockKind == BK_Block) || >>> (!Right.isOneOf(TT_PointerOrReference, >>> TT_ArraySubscriptLSquare, >>> tok::l_paren) && >>> >>> Modified: cfe/trunk/unittests/Format/FormatTest.cpp >>> URL: >>> http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTest.cpp?rev=245843&r1=245842&r2=245843&view=diff >>> >>> ============================================================================== >>> --- cfe/trunk/unittests/Format/FormatTest.cpp (original) >>> +++ cfe/trunk/unittests/Format/FormatTest.cpp Mon Aug 24 09:28:08 2015 >>> @@ -5326,6 +5326,9 @@ TEST_F(FormatTest, UnderstandsFunctionRe >>> verifyFormat("Deleted &operator=(const Deleted &)&&;"); >>> verifyFormat("SomeType MemberFunction(const Deleted &)&;"); >>> verifyFormat("SomeType MemberFunction(const Deleted &)&&;"); >>> + verifyFormat("SomeType MemberFunction(const Deleted &)&& {}"); >>> + verifyFormat("SomeType MemberFunction(const Deleted &)&& final {}"); >>> + verifyFormat("SomeType MemberFunction(const Deleted &)&& override >>> {}"); >>> >>> verifyGoogleFormat("Deleted& operator=(const Deleted&)& = default;"); >>> verifyGoogleFormat("SomeType MemberFunction(const Deleted&)& = >>> delete;"); >>> @@ -5583,11 +5586,11 @@ TEST_F(FormatTest, UnderstandsUsesOfStar >>> >>> // Member function reference qualifiers aren't binary operators. >>> verifyFormat("string // break\n" >>> - "operator()() & {}"); >>> + "operator()()& {}"); >>> verifyFormat("string // break\n" >>> - "operator()() && {}"); >>> + "operator()()&& {}"); >>> verifyGoogleFormat("template <typename T>\n" >>> - "auto x() & -> int {}"); >>> + "auto x()& -> int {}"); >>> } >>> >>> TEST_F(FormatTest, UnderstandsAttributes) { >>> >>> >>> _______________________________________________ >>> cfe-commits mailing list >>> cfe-commits@lists.llvm.org >>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >>> >> >> >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits