diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp index d408b3862b1efc5b48d49789a90b143039f1195b..ce39c480e781bc93ebfc7f00980999f6dd039a83 100644 --- a/lib/Format/Format.cpp +++ b/lib/Format/Format.cpp @@ -665,7 +665,7 @@ private: if (FormatTok->Tok.is(tok::comment)) { // FIXME: Add the trimmed whitespace to Column. StringRef UntrimmedText = FormatTok->TokenText; - FormatTok->TokenText = FormatTok->TokenText.rtrim(); + FormatTok->TokenText = FormatTok->TokenText.rtrim(" \t\v\f"); TrailingWhitespace = UntrimmedText.size() - FormatTok->TokenText.size(); } else if (FormatTok->Tok.is(tok::raw_identifier)) { IdentifierInfo &Info = IdentTable.get(FormatTok->TokenText); diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index 0f4600305872f5d92511686ed1a0cdbde314dff2..57aa9ca40143e42063bd4025ad74f687e072e2cf 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -789,6 +789,8 @@ TEST_F(FormatTest, RemovesTrailingWhitespaceOfComments) { EXPECT_EQ("int aaaaaaa, bbbbbbb; // comment", format("int aaaaaaa, bbbbbbb; // comment ", getLLVMStyleWithColumns(33))); + EXPECT_EQ("// comment\\\n", format("// comment\\\n \t \v \f ")); + EXPECT_EQ("// comment \\\n", format("// comment \\\n \t \v \f ")); } TEST_F(FormatTest, UnderstandsBlockComments) {