Never merge < and ::, as it produces different tokens.
Before: vector<::Type> t;
After: vector< ::Type> t;
llvm-svn: 172601
diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp
index 9477f5e..939038e 100644
--- a/clang/lib/Format/Format.cpp
+++ b/clang/lib/Format/Format.cpp
@@ -1176,6 +1176,10 @@
Right.is(tok::l_paren) || Right.is(tok::l_brace) ||
Right.is(tok::kw_true) || Right.is(tok::kw_false)))
return false;
+ if (Left.is(tok::coloncolon))
+ return false;
+ if (Right.is(tok::coloncolon))
+ return Left.isNot(tok::identifier) && Left.isNot(tok::greater);
if (Left.is(tok::less) || Right.is(tok::greater) || Right.is(tok::less))
return false;
if (Right.is(tok::amp) || Right.is(tok::star))
@@ -1191,10 +1195,6 @@
return false;
if (Right.is(tok::l_square) && Right.Type != TT_ObjCMethodExpr)
return false;
- if (Left.is(tok::coloncolon) ||
- (Right.is(tok::coloncolon) &&
- (Left.is(tok::identifier) || Left.is(tok::greater))))
- return false;
if (Left.is(tok::period) || Right.is(tok::period))
return false;
if (Left.is(tok::colon))