forked from OSchip/llvm-project
clang-format: Fix bug in function reference qualifier detection.
Before: template <typename T> void F(T) && = delete; After: template <typename T> void F(T) && = delete; llvm-svn: 285674
This commit is contained in:
parent
d0d27aa59b
commit
28b4d5133c
|
@ -1251,7 +1251,7 @@ private:
|
|||
|
||||
const FormatToken *NextToken = Tok.getNextNonComment();
|
||||
if (!NextToken ||
|
||||
NextToken->isOneOf(tok::arrow, Keywords.kw_final,
|
||||
NextToken->isOneOf(tok::arrow, Keywords.kw_final, tok::equal,
|
||||
Keywords.kw_override) ||
|
||||
(NextToken->is(tok::l_brace) && !NextToken->getNextNonComment()))
|
||||
return TT_PointerOrReference;
|
||||
|
|
|
@ -5637,6 +5637,9 @@ TEST_F(FormatTest, UnderstandsFunctionRefQualification) {
|
|||
verifyFormat("SomeType MemberFunction(const Deleted &) && final {}");
|
||||
verifyFormat("SomeType MemberFunction(const Deleted &) && override {}");
|
||||
verifyFormat("SomeType MemberFunction(const Deleted &) const &;");
|
||||
verifyFormat("template <typename T>\n"
|
||||
"void F(T) && = delete;",
|
||||
getGoogleStyle());
|
||||
|
||||
FormatStyle AlignLeft = getLLVMStyle();
|
||||
AlignLeft.PointerAlignment = FormatStyle::PAS_Left;
|
||||
|
@ -5789,7 +5792,7 @@ TEST_F(FormatTest, UnderstandsUsesOfStarAndAmp) {
|
|||
FormatStyle Left = getLLVMStyle();
|
||||
Left.PointerAlignment = FormatStyle::PAS_Left;
|
||||
verifyFormat("x = *a(x) = *a(y);", Left);
|
||||
verifyFormat("for (;; * = b) {\n}", Left);
|
||||
verifyFormat("for (;; *a = b) {\n}", Left);
|
||||
verifyFormat("return *this += 1;", Left);
|
||||
|
||||
verifyIndependentOfContext("a = *(x + y);");
|
||||
|
|
Loading…
Reference in New Issue