Don't remove trailing escaped newline from line comments.
authorAlexander Kornienko <alexfh@google.com>
Fri, 6 Sep 2013 17:24:54 +0000 (17:24 +0000)
committerAlexander Kornienko <alexfh@google.com>
Fri, 6 Sep 2013 17:24:54 +0000 (17:24 +0000)
llvm-svn: 190175

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

index d408b38..ce39c48 100644 (file)
@@ -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);
index 0f46003..57aa9ca 100644 (file)
@@ -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) {