From 51bb5d967d445613b9f08f6705491966f8616a2a Mon Sep 17 00:00:00 2001
From: Alexander Kornienko <alexfh@google.com>
Date: Fri, 6 Sep 2013 17:24:54 +0000
Subject: [PATCH] Don't remove trailing escaped newline from line comments.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190175 91177308-0d34-0410-b5e6-96231b3b80d8
---
 lib/Format/Format.cpp           | 2 +-
 unittests/Format/FormatTest.cpp | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp
index d408b3862b1..ce39c480e78 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 0f460030587..57aa9ca4014 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) {
-- 
GitLab