summaryrefslogtreecommitdiff
path: root/unittests
diff options
context:
space:
mode:
authorAlex Lorenz <arphaman@gmail.com>2019-09-26 19:28:51 +0000
committerAlex Lorenz <arphaman@gmail.com>2019-09-26 19:28:51 +0000
commit28ef9cda783f9c9e669a60567c24b6738fd0e026 (patch)
tree4010baf28a492479f2009817d9d06b408a864b54 /unittests
parente0aa94771e0fe8325b30b0f3f2b5a6b63189f4c2 (diff)
downloadclang-28ef9cda783f9c9e669a60567c24b6738fd0e026.tar.gz
[clang-scan-deps] Allow continuation line backslashes followed by whitespace
in the dependency source minimizer Clang allows continuations that have whitespace between the backslash and the newline. This patch ensures that the dependency source minimizer can handle the whitespace between the backslash and the newline when looking for a line continuation. Differential Revision: https://reviews.llvm.org/D68052 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@373007 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests')
-rw-r--r--unittests/Lex/DependencyDirectivesSourceMinimizerTest.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/unittests/Lex/DependencyDirectivesSourceMinimizerTest.cpp b/unittests/Lex/DependencyDirectivesSourceMinimizerTest.cpp
index c00c160977..5eb7d256a3 100644
--- a/unittests/Lex/DependencyDirectivesSourceMinimizerTest.cpp
+++ b/unittests/Lex/DependencyDirectivesSourceMinimizerTest.cpp
@@ -157,19 +157,19 @@ TEST(MinimizeSourceToDependencyDirectivesTest, DefineHorizontalWhitespace) {
ASSERT_FALSE(minimizeSourceToDependencyDirectives(
"#define MACRO(\t)\tcon \t tent\t", Out));
- EXPECT_STREQ("#define MACRO() con \t tent\t\n", Out.data());
+ EXPECT_STREQ("#define MACRO() con \t tent\n", Out.data());
ASSERT_FALSE(minimizeSourceToDependencyDirectives(
"#define MACRO(\f)\fcon \f tent\f", Out));
- EXPECT_STREQ("#define MACRO() con \f tent\f\n", Out.data());
+ EXPECT_STREQ("#define MACRO() con \f tent\n", Out.data());
ASSERT_FALSE(minimizeSourceToDependencyDirectives(
"#define MACRO(\v)\vcon \v tent\v", Out));
- EXPECT_STREQ("#define MACRO() con \v tent\v\n", Out.data());
+ EXPECT_STREQ("#define MACRO() con \v tent\n", Out.data());
ASSERT_FALSE(minimizeSourceToDependencyDirectives(
"#define MACRO \t\v\f\v\t con\f\t\vtent\v\f \v", Out));
- EXPECT_STREQ("#define MACRO con\f\t\vtent\v\n", Out.data());
+ EXPECT_STREQ("#define MACRO con\f\t\vtent\n", Out.data());
}
TEST(MinimizeSourceToDependencyDirectivesTest, DefineMultilineArgs) {
@@ -476,6 +476,17 @@ TEST(MinimizeSourceToDependencyDirectivesTest, SplitIdentifier) {
EXPECT_STREQ("#define GUA RD\n", Out.data());
}
+TEST(MinimizeSourceToDependencyDirectivesTest,
+ WhitespaceAfterLineContinuationSlash) {
+ SmallVector<char, 128> Out;
+
+ ASSERT_FALSE(minimizeSourceToDependencyDirectives("#define A 1 + \\ \n"
+ "2 + \\\t\n"
+ "3\n",
+ Out));
+ EXPECT_STREQ("#define A 1 + 2 + 3\n", Out.data());
+}
+
TEST(MinimizeSourceToDependencyDirectivesTest, PoundWarningAndError) {
SmallVector<char, 128> Out;