diff options
| author | Daniel Jasper <djasper@google.com> | 2015-03-26 14:47:35 +0000 |
|---|---|---|
| committer | Daniel Jasper <djasper@google.com> | 2015-03-26 14:47:35 +0000 |
| commit | e99c72fc2e0283a4ad121f3660609f30e495ac54 (patch) | |
| tree | 3560a9a727017ddc60f464db7145d11370a0e6a9 /clang | |
| parent | f4ac884f2bc299aab6afaf8bb2831f414d819f52 (diff) | |
| download | bcm5719-llvm-e99c72fc2e0283a4ad121f3660609f30e495ac54.tar.gz bcm5719-llvm-e99c72fc2e0283a4ad121f3660609f30e495ac54.zip | |
clang-format: Fix merging of _T macros.
NewlinesBefore and HasUnescapedNewline were not properly propagated
leading to llvm.org/PR23032.
llvm-svn: 233276
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/Format/Format.cpp | 2 | ||||
| -rw-r--r-- | clang/unittests/Format/FormatTest.cpp | 16 |
2 files changed, 18 insertions, 0 deletions
diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp index a243a1f3157..b44ea5dc6d5 100644 --- a/clang/lib/Format/Format.cpp +++ b/clang/lib/Format/Format.cpp @@ -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(); diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index 3887ca0f228..c57eaa95a93 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -7630,6 +7630,22 @@ TEST_F(FormatTest, BreaksStringLiteralsWithin_TMacro) { 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) { |

