]> granicus.if.org Git - clang/commitdiff
Fix formatting of fully qualified names in array subscripts.
authorManuel Klimek <klimek@google.com>
Tue, 19 Jan 2016 14:05:32 +0000 (14:05 +0000)
committerManuel Klimek <klimek@google.com>
Tue, 19 Jan 2016 14:05:32 +0000 (14:05 +0000)
Before:
  a[ ::b::c];

After:
  a[::b::c];

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

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

index 6d6df0cf4012c2ad70c3c832d6de0096ddd76788..9435ea9704ab939eaabfb3426b6cd769f26974e6 100644 (file)
@@ -2114,7 +2114,8 @@ bool TokenAnnotator::spaceRequiredBefore(const AnnotatedLine &Line,
   if (Right.is(tok::coloncolon) && Left.isNot(tok::l_brace))
     return (Left.is(TT_TemplateOpener) &&
             Style.Standard == FormatStyle::LS_Cpp03) ||
-           !(Left.isOneOf(tok::identifier, tok::l_paren, tok::r_paren) ||
+           !(Left.isOneOf(tok::identifier, tok::l_paren, tok::r_paren,
+                          tok::l_square) ||
              Left.isOneOf(TT_TemplateCloser, TT_TemplateOpener));
   if ((Left.is(TT_TemplateOpener)) != (Right.is(TT_TemplateCloser)))
     return Style.SpacesInAngles;
index d9a16db74c8893f5e44aef754f7a763cfd9dd8d5..4e0d8d7acff656a791dc64457407eee96a93d0fa 100644 (file)
@@ -6133,6 +6133,7 @@ TEST_F(FormatTest, FormatsArrays) {
       "aaaaaaaaaaa aaaaaaaaaaaaaaa = aaaaaaaaaaaaaaaaaaaaaaaaaa->aaaaaaaaa[0]\n"
       "                                  .aaaaaaa[0]\n"
       "                                  .aaaaaaaaaaaaaaaaaaaaaa();");
+  verifyFormat("a[::b::c];");
 
   verifyNoCrash("a[,Y?)]", getLLVMStyleWithColumns(10));