[clang-scan-deps] Improve string/character literal skipping
authorAlex Lorenz <arphaman@gmail.com>
Tue, 8 Oct 2019 22:42:44 +0000 (22:42 +0000)
committerAlex Lorenz <arphaman@gmail.com>
Tue, 8 Oct 2019 22:42:44 +0000 (22:42 +0000)
commita13f0da1d0bc32e5adfc62c0ba0d92b39192256c
treea839635a9657e07bf352c610987843f972f2df35
parent143f6b837790dd695c140c0cc6c5164ec54e0c0e
[clang-scan-deps] Improve string/character literal skipping

The existing string/character literal skipping code in the
dependency directives source minimizer has two issues:

- It doesn't stop the scanning when a newline is reached before the terminating character,
unlike the lexer which considers the token to be done (even if it's invalid) at the end of the line.

- It doesn't support whitespace between '\' and the newline when looking if the '\' is used as a line continuation character.

This commit fixes both issues.

Differential Revision: https://reviews.llvm.org/D68436

llvm-svn: 374127
clang/lib/Lex/DependencyDirectivesSourceMinimizer.cpp
clang/unittests/Lex/DependencyDirectivesSourceMinimizerTest.cpp