Fix bug in the alignment of comments.
authorDaniel Jasper <djasper@google.com>
Wed, 6 Feb 2013 22:04:05 +0000 (22:04 +0000)
committerDaniel Jasper <djasper@google.com>
Wed, 6 Feb 2013 22:04:05 +0000 (22:04 +0000)
Before:
const char *test[] = {
  // A
  "aaaa",
               // B
  "aaaaa",
};

After:
const char *test[] = {
  // A
  "aaaa",
  // B
  "aaaaa",
};

llvm-svn: 174549

clang/lib/Format/Format.cpp
clang/unittests/Format/FormatTest.cpp

index 4128785..7f78ac0 100644 (file)
@@ -111,7 +111,10 @@ public:
         Comments.back().Tok = Tok.FormatTok;
         Comments.back().Spaces = Spaces;
         Comments.back().NewLines = NewLines;
-        Comments.back().MinColumn = WhitespaceStartColumn + Spaces;
+        if (NewLines == 0)
+          Comments.back().MinColumn = WhitespaceStartColumn + Spaces;
+        else
+          Comments.back().MinColumn = Spaces;
         Comments.back().MaxColumn =
             Style.ColumnLimit - Spaces - Tok.FormatTok.TokenLength;
         return;
index 160126b..10742a2 100644 (file)
@@ -485,6 +485,13 @@ TEST_F(FormatTest, UnderstandsSingleLineComments) {
                "    parameter));");
 
   verifyGoogleFormat("#endif  // HEADER_GUARD");
+
+  verifyFormat("const char *test[] = {\n"
+               "  // A\n"
+               "  \"aaaa\",\n"
+               "  // B\n"
+               "  \"aaaaa\",\n"
+               "};");
 }
 
 TEST_F(FormatTest, UnderstandsMultiLineComments) {