Align trailing block comments like trailing line comments.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174537 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp
index 3660b4a..4128785 100644
--- a/lib/Format/Format.cpp
+++ b/lib/Format/Format.cpp
@@ -80,6 +80,11 @@
   return ChromiumStyle;
 }
 
+static bool isTrailingComment(const AnnotatedToken &Tok) {
+  return Tok.is(tok::comment) &&
+         (Tok.Children.empty() || Tok.Children[0].MustBreakBefore);
+}
+
 /// \brief Manages the whitespaces around tokens and their replacements.
 ///
 /// This includes special handling for certain constructs, e.g. the alignment of
@@ -99,8 +104,7 @@
 
     // Align line comments if they are trailing or if they continue other
     // trailing comments.
-    if (Tok.Type == TT_LineComment &&
-        (Tok.Parent != NULL || !Comments.empty())) {
+    if (isTrailingComment(Tok) && (Tok.Parent != NULL || !Comments.empty())) {
       if (Style.ColumnLimit >=
           Spaces + WhitespaceStartColumn + Tok.FormatTok.TokenLength) {
         Comments.push_back(StoredComment());
@@ -115,7 +119,7 @@
     }
 
     // If this line does not have a trailing comment, align the stored comments.
-    if (Tok.Children.empty() && Tok.Type != TT_LineComment)
+    if (Tok.Children.empty() && !isTrailingComment(Tok))
       alignComments();
     storeReplacement(Tok.FormatTok,
                      std::string(NewLines, '\n') + std::string(Spaces, ' '));
@@ -207,11 +211,6 @@
   tooling::Replacements Replaces;
 };
 
-static bool isTrailingComment(const AnnotatedToken &Tok) {
-  return Tok.is(tok::comment) &&
-         (Tok.Children.empty() || Tok.Children[0].MustBreakBefore);
-}
-
 class UnwrappedLineFormatter {
 public:
   UnwrappedLineFormatter(const FormatStyle &Style, SourceManager &SourceMgr,
diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp
index 7e88c4e..6909607 100644
--- a/unittests/Format/FormatTest.cpp
+++ b/unittests/Format/FormatTest.cpp
@@ -1985,6 +1985,13 @@
           "bool       aaaaaaaaaaaaa =       /* trailing comment */\n"
           "    aaaaaaaaaaaaaaaaaaaaaaaaaaa||aaaaaaaaaaaaaaaaaaaaaaaaa    ||\n"
           "    aaaaaaaaaaaaaaaaaaaaaaaaaaaa   || aaaaaaaaaaaaaaaaaaaaaaaaaa;"));
+  EXPECT_EQ(
+      "int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa; /* comment */\n"
+      "int bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb;   /* comment */\n"
+      "int cccccccccccccccccccccccccccccc;       /* comment */\n",
+      format("int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa; /* comment */\n"
+             "int      bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb; /* comment */\n"
+             "int    cccccccccccccccccccccccccccccc;  /* comment */\n"));
 }
 
 TEST_F(FormatTest, BlockCommentsInMacros) {