]> granicus.if.org Git - clang/commitdiff
clang-format: Fix overloaded operator for global-scoped conversions.
authorDaniel Jasper <djasper@google.com>
Tue, 29 Oct 2013 12:24:23 +0000 (12:24 +0000)
committerDaniel Jasper <djasper@google.com>
Tue, 29 Oct 2013 12:24:23 +0000 (12:24 +0000)
Before:
  operator::A();

After:
  operator ::A();

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193605 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Format/TokenAnnotator.cpp
unittests/Format/FormatTest.cpp

index 621581c5211cef6e8eba83a14f42965d8940601c..eeecdceb8495f54a8241bf24fe8f14dff948ea94 100644 (file)
@@ -1337,7 +1337,7 @@ bool TokenAnnotator::spaceRequiredBefore(const AnnotatedLine &Line,
   if (Tok.Type == TT_CtorInitializerColon || Tok.Type == TT_ObjCBlockLParen)
     return true;
   if (Tok.Previous->Tok.is(tok::kw_operator))
-    return false;
+    return Tok.is(tok::coloncolon);
   if (Tok.Type == TT_OverloadedOperatorLParen)
     return false;
   if (Tok.is(tok::colon))
index cbac133c4d95549e1c8543b285263ec27ae5bf28..83035f72bc9b6805ab763f5b63c4b740fff9f55f 100644 (file)
@@ -3902,6 +3902,7 @@ TEST_F(FormatTest, UnderstandsOverloadedOperators) {
 
   verifyGoogleFormat("operator void*();");
   verifyGoogleFormat("operator SomeType<SomeType<int>>();");
+  verifyGoogleFormat("operator ::A();");
 
   verifyFormat("using A::operator+;");
 }