From a5925a7cfe371e2ad749b9e6889d86154f0936f3 Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Sat, 25 Jan 2014 09:16:02 +0000 Subject: [PATCH] clang-format: Fix incorrect space removal. Before: Deleted &operator=(const Deleted &)&= default; Deleted &operator=(const Deleted &)&&= delete; After: Deleted &operator=(const Deleted &)& = default; Deleted &operator=(const Deleted &)&& = delete; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@200073 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Format/TokenAnnotator.cpp | 2 +- unittests/Format/FormatTest.cpp | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/Format/TokenAnnotator.cpp b/lib/Format/TokenAnnotator.cpp index 1bb886c414..edaf48f1f9 100644 --- a/lib/Format/TokenAnnotator.cpp +++ b/lib/Format/TokenAnnotator.cpp @@ -1403,7 +1403,7 @@ bool TokenAnnotator::spaceRequiredBefore(const AnnotatedLine &Line, (Tok.Type != TT_DictLiteral || Style.SpacesInContainerLiterals); if (Tok.Previous->Type == TT_UnaryOperator || Tok.Previous->Type == TT_CastRParen) - return false; + return Tok.Type == TT_BinaryOperator; if (Tok.Previous->is(tok::greater) && Tok.is(tok::greater)) { return Tok.Type == TT_TemplateCloser && Tok.Previous->Type == TT_TemplateCloser && diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index 54a13b6e1a..95c04b47ef 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -4248,6 +4248,11 @@ TEST_F(FormatTest, UnderstandsOverloadedOperators) { verifyGoogleFormat("operator ::A();"); verifyFormat("using A::operator+;"); + + verifyFormat("Deleted &operator=(const Deleted &)& = default;"); + verifyFormat("Deleted &operator=(const Deleted &)&& = delete;"); + verifyGoogleFormat("Deleted& operator=(const Deleted&)& = default;"); + verifyGoogleFormat("Deleted& operator=(const Deleted&)&& = delete;"); } TEST_F(FormatTest, UnderstandsNewAndDelete) { -- 2.40.0