From 2520fe9662b52796a66e9b92bb88c76702929e6a Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Mon, 30 Jun 2014 13:54:27 +0000 Subject: [PATCH] clang-format: Support member function reference qualifiers. Before: string // break operator()() & {} After: string // break operator()() & {} llvm-svn: 212041 --- clang/lib/Format/TokenAnnotator.cpp | 2 +- clang/unittests/Format/FormatTest.cpp | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index c1fbf81..f68883d 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -903,7 +903,7 @@ private: return TT_UnaryOperator; const FormatToken *NextToken = Tok.getNextNonComment(); - if (!NextToken) + if (!NextToken || NextToken->is(tok::l_brace)) return TT_Unknown; if (PrevToken->is(tok::coloncolon) || diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index 75eea98..96274fc 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -4682,6 +4682,11 @@ TEST_F(FormatTest, UnderstandsOverloadedOperators) { verifyFormat("Deleted &operator=(const Deleted &)&& = delete;"); verifyGoogleFormat("Deleted& operator=(const Deleted&)& = default;"); verifyGoogleFormat("Deleted& operator=(const Deleted&)&& = delete;"); + + verifyFormat("string // break\n" + "operator()() & {}"); + verifyFormat("string // break\n" + "operator()() && {}"); } TEST_F(FormatTest, UnderstandsNewAndDelete) { -- 2.7.4