diff options
author | Manuel Klimek <klimek@google.com> | 2013-01-21 16:42:44 +0000 |
---|---|---|
committer | Manuel Klimek <klimek@google.com> | 2013-01-21 16:42:44 +0000 |
commit | 2f1ac41a6d8d202dcc39ab8eb56ccea823dc062e (patch) | |
tree | 15aa018329f4bfa549afae261dd2da2dedd0b8b6 /lib/Format/UnwrappedLineParser.cpp | |
parent | 9cfdc03fe7abab2f413bb7fdc59e9be15c382a74 (diff) |
Fixes formatting of empty blocks.
We now only put empty blocks into a single line, if all of:
- all tokens of the structural element fit into a single line
- we're not in a control flow statement
Note that we usually don't put record definitions into a single line, as
there's usually at least one more token (the semicolon) after the
closing brace. This doesn't hold when we are in a context where there is
no semicolon, like "enum E {}".
There were some missing tests around joining lines around the corner
cases of the allowed number of columns, so this patch adds some.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173055 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Format/UnwrappedLineParser.cpp')
-rw-r--r-- | lib/Format/UnwrappedLineParser.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/lib/Format/UnwrappedLineParser.cpp b/lib/Format/UnwrappedLineParser.cpp index f1d08a6bdf..c054ef6c82 100644 --- a/lib/Format/UnwrappedLineParser.cpp +++ b/lib/Format/UnwrappedLineParser.cpp @@ -170,17 +170,15 @@ bool UnwrappedLineParser::parseBlock(unsigned AddLevels) { assert(FormatTok.Tok.is(tok::l_brace) && "'{' expected"); nextToken(); - if (!FormatTok.Tok.is(tok::r_brace)) { - addUnwrappedLine(); + addUnwrappedLine(); - Line->Level += AddLevels; - parseLevel(/*HasOpeningBrace=*/true); - Line->Level -= AddLevels; + Line->Level += AddLevels; + parseLevel(/*HasOpeningBrace=*/true); + Line->Level -= AddLevels; - if (!FormatTok.Tok.is(tok::r_brace)) - return true; + if (!FormatTok.Tok.is(tok::r_brace)) + return true; - } nextToken(); // Munch the closing brace. return false; } |