diff options
author | Manuel Klimek <klimek@google.com> | 2013-01-07 07:56:50 +0000 |
---|---|---|
committer | Manuel Klimek <klimek@google.com> | 2013-01-07 07:56:50 +0000 |
commit | 9541938d4e3b9cbafdf0e1a28900c535b82767a4 (patch) | |
tree | 637902cf6e8a07d904303e9835aff56d8e3d3a9e /unittests/Format/FormatTest.cpp | |
parent | 46a46a20a3ec397192550915964cb227e87b79b2 (diff) |
Fix layouting of tokens with a leading escaped newline.
If a token follows directly on an escaped newline, the escaped newline
is stored with the token. Since we re-layout escaped newlines, we need
to treat them just like normal whitespace - thus, we need to increase
the whitespace-length of the token, while decreasing the token length
(otherwise the token length contains the length of the escaped newline
and we double-count it while indenting).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171706 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/Format/FormatTest.cpp')
-rw-r--r-- | unittests/Format/FormatTest.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index de794dabb6..3e672ae5a3 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -481,6 +481,12 @@ TEST_F(FormatTest, FormatUnbalancedStructuralElements) { format("#define A } }\nint i;", getLLVMStyleWithColumns(11))); } +TEST_F(FormatTest, EscapedNewlineAtStartOfTokenInMacroDefinition) { + EXPECT_EQ("#define A \\\n int i; \\\n int j;", + format("#define A \\\nint i;\\\n int j;", + getLLVMStyleWithColumns(11))); +} + TEST_F(FormatTest, MixingPreprocessorDirectivesAndNormalCode) { EXPECT_EQ( "#define ALooooooooooooooooooooooooooooooooooooooongMacro(" |