]> granicus.if.org Git - clang/commitdiff
clang-format: Fix incorrect space removal.
authorDaniel Jasper <djasper@google.com>
Sat, 25 Jan 2014 09:16:02 +0000 (09:16 +0000)
committerDaniel Jasper <djasper@google.com>
Sat, 25 Jan 2014 09:16:02 +0000 (09:16 +0000)
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
unittests/Format/FormatTest.cpp

index 1bb886c41433915289f546bba88b72008d3ce5a7..edaf48f1f94bfc9a39a53377185c1073fbca02c9 100644 (file)
@@ -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 &&
index 54a13b6e1a0b62897bdf71462a3f2cd8d42f7915..95c04b47eff53b1b7a7a9c450f43462b9ca0a7ed 100644 (file)
@@ -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) {