diff options
| author | Daniel Jasper <djasper@google.com> | 2013-01-16 07:02:34 +0000 |
|---|---|---|
| committer | Daniel Jasper <djasper@google.com> | 2013-01-16 07:02:34 +0000 |
| commit | c36492b598e9cb710be2c053b15d9acc36a3168d (patch) | |
| tree | 713280b5f17e17dc0aa5aff818d3a29f8c43158b | |
| parent | 6a9355f8d7a2352a443499eaee3ac87fc41e1037 (diff) | |
| download | bcm5719-llvm-c36492b598e9cb710be2c053b15d9acc36a3168d.tar.gz bcm5719-llvm-c36492b598e9cb710be2c053b15d9acc36a3168d.zip | |
Remove errors were if statements were incorrectly put on a single line.
Before: if (a) // This comment confused clang-format f();
After: if (a) // No more confusion
f();
llvm-svn: 172600
| -rw-r--r-- | clang/lib/Format/Format.cpp | 7 | ||||
| -rw-r--r-- | clang/unittests/Format/FormatTest.cpp | 12 |
2 files changed, 18 insertions, 1 deletions
diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp index 445a4064b46..9477f5e014d 100644 --- a/clang/lib/Format/Format.cpp +++ b/clang/lib/Format/Format.cpp @@ -1480,6 +1480,11 @@ private: unsigned Length = 0; if (!fitsIntoLimit(I->First, Limit, &Length)) return false; + + // We can never merge stuff if there are trailing line comments. + if (I->Last->Type == TT_LineComment) + return true; + if (Limit == Length) return true; // Couldn't fit a space. Limit -= Length + 1; // One space. @@ -1516,6 +1521,8 @@ private: if (!Style.AllowShortIfStatementsOnASingleLine) return; AnnotatedLine &Line = *I; + if (Line.Last->isNot(tok::r_paren)) + return; if (!fitsIntoLimit((I + 1)->First, Limit)) return; if ((I + 1)->First.is(tok::kw_if) || (I + 1)->First.Type == TT_LineComment) diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index eb00d017ff3..ac61af3bfae 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -145,7 +145,17 @@ TEST_F(FormatTest, FormatIfWithoutCompountStatement) { verifyFormat("if (a) return;", getGoogleStyleWithColumns(14)); verifyFormat("if (a)\n return;", getGoogleStyleWithColumns(13)); verifyFormat("if (aaaaaaaaa)\n" - " return;", getGoogleStyleWithColumns(14)); + " return;", getGoogleStyleWithColumns(14)); + verifyGoogleFormat("if (a) // Can't merge this\n" + " f();\n"); + verifyGoogleFormat("if (a) /* still don't merge */\n" + " f();"); + verifyGoogleFormat("if (a) { // Never merge this\n" + " f();\n" + "}"); + verifyGoogleFormat("if (a) { /* Never merge this */\n" + " f();\n" + "}"); } TEST_F(FormatTest, ParseIfElse) { |

