summaryrefslogtreecommitdiffstats
path: root/clang/lib/Format/TokenAnnotator.cpp
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2013-07-16 21:06:13 +0000
committerAlexander Kornienko <alexfh@google.com>2013-07-16 21:06:13 +0000
commit657c67b164b9c364ba2f2ab01541ebe41d7a4807 (patch)
tree12eaa917fca1a0b422c0ba231fcd257469b929f0 /clang/lib/Format/TokenAnnotator.cpp
parent8369aa5e12b6c5a0285c3e672e680e58be1d779c (diff)
downloadbcm5719-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.cpp5
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 =
OpenPOWER on IntegriCloud