r233276 - clang-format: Fix merging of _T macros.
Daniel Jasper
djasper at google.com
Thu Mar 26 07:47:35 PDT 2015
Author: djasper
Date: Thu Mar 26 09:47:35 2015
New Revision: 233276
URL: http://llvm.org/viewvc/llvm-project?rev=233276&view=rev
Log:
clang-format: Fix merging of _T macros.
NewlinesBefore and HasUnescapedNewline were not properly propagated
leading to llvm.org/PR23032.
Modified:
cfe/trunk/lib/Format/Format.cpp
cfe/trunk/unittests/Format/FormatTest.cpp
Modified: cfe/trunk/lib/Format/Format.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/Format.cpp?rev=233276&r1=233275&r2=233276&view=diff
==============================================================================
--- cfe/trunk/lib/Format/Format.cpp (original)
+++ cfe/trunk/lib/Format/Format.cpp Thu Mar 26 09:47:35 2015
@@ -862,6 +862,8 @@ private:
String->OriginalColumn = Macro->OriginalColumn;
String->ColumnWidth = encoding::columnWidthWithTabs(
String->TokenText, String->OriginalColumn, Style.TabWidth, Encoding);
+ String->NewlinesBefore = Macro->NewlinesBefore;
+ String->HasUnescapedNewline = Macro->HasUnescapedNewline;
Tokens.pop_back();
Tokens.pop_back();
Modified: cfe/trunk/unittests/Format/FormatTest.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTest.cpp?rev=233276&r1=233275&r2=233276&view=diff
==============================================================================
--- cfe/trunk/unittests/Format/FormatTest.cpp (original)
+++ cfe/trunk/unittests/Format/FormatTest.cpp Thu Mar 26 09:47:35 2015
@@ -7630,6 +7630,22 @@ TEST_F(FormatTest, BreaksStringLiteralsW
EXPECT_EQ(
"_T ( \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\" )",
format(" _T ( \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\" )", Style));
+ EXPECT_EQ("f(\n"
+ "#if !TEST\n"
+ " _T(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXn\")\n"
+ "#endif\n"
+ " );",
+ format("f(\n"
+ "#if !TEST\n"
+ "_T(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXn\")\n"
+ "#endif\n"
+ ");"));
+ EXPECT_EQ("f(\n"
+ "\n"
+ " _T(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXn\"));",
+ format("f(\n"
+ "\n"
+ "_T(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXn\"));"));
}
TEST_F(FormatTest, DontSplitStringLiteralsWithEscapedNewlines) {
More information about the cfe-commits
mailing list