diff options
author | Manuel Klimek <klimek@google.com> | 2013-02-06 16:40:56 +0000 |
---|---|---|
committer | Manuel Klimek <klimek@google.com> | 2013-02-06 16:40:56 +0000 |
commit | b3507cd01ead99113eed92a815b826f26f6dbadb (patch) | |
tree | 8bdee5bf2b84d696224b602043d3a41d12d8d43a /lib/Format/UnwrappedLineParser.cpp | |
parent | 7fc2db0acd3fb0f38db19764eef137ae3a9edc9f (diff) |
Fix handling of comments in macros.
We now correctly format:
// Written as a macro, it is reformatted from:
#define foo(a) \
do { \
/* Initialize num to zero. */ \
int num = 10; \
/* This line ensures a is never zero. */ \
int i = a == 0 ? 1 : a; \
i = num / i; /* This division is OK. */ \
return i; \
} while (false)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174517 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Format/UnwrappedLineParser.cpp')
-rw-r--r-- | lib/Format/UnwrappedLineParser.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/Format/UnwrappedLineParser.cpp b/lib/Format/UnwrappedLineParser.cpp index 5af60a47c5..76e912cca5 100644 --- a/lib/Format/UnwrappedLineParser.cpp +++ b/lib/Format/UnwrappedLineParser.cpp @@ -784,7 +784,7 @@ void UnwrappedLineParser::flushComments(bool NewlineBeforeNext) { I = CommentsBeforeNextToken.begin(), E = CommentsBeforeNextToken.end(); I != E; ++I) { - if (I->HasUnescapedNewline && JustComments) { + if (I->NewlinesBefore && JustComments) { addUnwrappedLine(); } pushToken(*I); @@ -798,7 +798,7 @@ void UnwrappedLineParser::flushComments(bool NewlineBeforeNext) { void UnwrappedLineParser::nextToken() { if (eof()) return; - flushComments(FormatTok.HasUnescapedNewline); + flushComments(FormatTok.NewlinesBefore > 0); pushToken(FormatTok); readToken(); } @@ -819,7 +819,7 @@ void UnwrappedLineParser::readToken() { } if (!FormatTok.Tok.is(tok::comment)) return; - if (FormatTok.HasUnescapedNewline || FormatTok.IsFirst) { + if (FormatTok.NewlinesBefore > 0 || FormatTok.IsFirst) { CommentsInCurrentLine = false; } if (CommentsInCurrentLine) { |