clang-format: Support member function reference qualifiers.
Before:
string // break
operator()() &
{}
After:
string // break
operator()() & {}
llvm-svn: 212041
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 @@
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 @@
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) {