diff options
author | Alexander Kornienko <alexfh@google.com> | 2013-07-16 21:06:13 +0000 |
---|---|---|
committer | Alexander Kornienko <alexfh@google.com> | 2013-07-16 21:06:13 +0000 |
commit | 657c67b164b9c364ba2f2ab01541ebe41d7a4807 (patch) | |
tree | 12eaa917fca1a0b422c0ba231fcd257469b929f0 /clang/lib/Format/TokenAnnotator.cpp | |
parent | 8369aa5e12b6c5a0285c3e672e680e58be1d779c (diff) | |
download | bcm5719-llvm-657c67b164b9c364ba2f2ab01541ebe41d7a4807.tar.gz bcm5719-llvm-657c67b164b9c364ba2f2ab01541ebe41d7a4807.zip |
Don't break line comments with escaped newlines.
Summary:
These can appear when comments contain command lines with quoted line
breaks. As the text (including escaped newlines and '//' from consecutive lines)
is a single line comment, we used to break it even when it didn't exceed column
limit. This is a temporary solution, in the future we may want to support this
case completely - at least adjust leading whitespace when changing indentation
of the first line.
Reviewers: djasper
Reviewed By: djasper
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D1146
llvm-svn: 186456
Diffstat (limited to 'clang/lib/Format/TokenAnnotator.cpp')
-rw-r--r-- | clang/lib/Format/TokenAnnotator.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index 6f6f468c2ae..67a0fa892d5 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -967,8 +967,9 @@ void TokenAnnotator::calculateFormattingInformation(AnnotatedLine &Line) { Current->is(tok::string_literal) && Current->Previous->isNot(tok::lessless) && Current->Previous->Type != TT_InlineASMColon && - Current->getNextNonComment() && - Current->getNextNonComment()->is(tok::string_literal)) { + ((Current->getNextNonComment() && + Current->getNextNonComment()->is(tok::string_literal)) || + (Current->TokenText.find("\\\n") != StringRef::npos))) { Current->MustBreakBefore = true; } Current->CanBreakBefore = |