Improve indentation after breaking at nested name specifiers.

These always represent a continuation and we should increase the ident.

Before:
aaaaaaaaa(aaaaaaaaaaaaaaaaaaaaa::
          aaaaaaaaaaaaaaaaaaaa);

After:
aaaaaaaaa(aaaaaaaaaaaaaaaaaaaaa::
              aaaaaaaaaaaaaaaaaaaa);

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173675 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp
index bae1bbb..99b2d54 100644
--- a/lib/Format/Format.cpp
+++ b/lib/Format/Format.cpp
@@ -550,9 +550,10 @@
                  State.Stack[ParenLevel].FirstLessLess != 0) {
         State.Column = State.Stack[ParenLevel].FirstLessLess;
       } else if (ParenLevel != 0 &&
-                 (Previous.is(tok::equal) || Current.is(tok::arrow) ||
-                  Current.is(tok::period) || Previous.is(tok::question) ||
-                  Previous.Type == TT_ConditionalExpr)) {
+                 (Previous.is(tok::equal) || Previous.is(tok::coloncolon) ||
+                  Previous.is(tok::question) ||
+                  Previous.Type == TT_ConditionalExpr ||
+                  Current.is(tok::period) || Current.is(tok::arrow))) {
         // Indent and extra 4 spaces after if we know the current expression is
         // continued.  Don't do that on the top level, as we already indent 4
         // there.
diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp
index d877dc2..e47c7a5 100644
--- a/unittests/Format/FormatTest.cpp
+++ b/unittests/Format/FormatTest.cpp
@@ -1252,7 +1252,7 @@
   // "bbbbb..." here instead of what we are doing now.
   verifyFormat(
       "aaaaaaaaaaaaaaa(bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb::\n"
-      "                cccccccccccccccccccccccccccccccccccccccccccccccccc());");
+      "                    cccccccccccccccccccccccccccccccccccccccccccccc());");
 
   // Breaking at nested name specifiers is generally not desirable.
   verifyFormat(