diff options
| author | Daniel Jasper <djasper@google.com> | 2014-07-17 12:22:04 +0000 |
|---|---|---|
| committer | Daniel Jasper <djasper@google.com> | 2014-07-17 12:22:04 +0000 |
| commit | fc3861ac484522fc66896b54ffe5b9110221eb90 (patch) | |
| tree | 0365e46ea85ee0b7350089804ac8fb1d9f57c615 | |
| parent | 7aea99a310b5beca93abc8aa788b074175a95bcb (diff) | |
| download | bcm5719-llvm-fc3861ac484522fc66896b54ffe5b9110221eb90.tar.gz bcm5719-llvm-fc3861ac484522fc66896b54ffe5b9110221eb90.zip | |
clang-format: Fix parsing of conditional expressions.
Before:
aaaaaa = aaaaaaaaaaaa ? aaaaaaaaaa ? aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
: aaaaaaaaaaaaaaaaaaaaaa
: aaaaaaaaaaaaaaaaaaaaaaaaaaaa;
After:
aaaaaa = aaaaaaaaaaaa
? aaaaaaaaaa ? aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
: aaaaaaaaaaaaaaaaaaaaaa
: aaaaaaaaaaaaaaaaaaaaaaaaaaaa;
llvm-svn: 213258
| -rw-r--r-- | clang/lib/Format/TokenAnnotator.cpp | 2 | ||||
| -rw-r--r-- | clang/unittests/Format/FormatTest.cpp | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index c150c91e96a..41d30d1fce7 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -1140,7 +1140,7 @@ private: if (!Current || !Current->is(tok::question)) return; next(); - parse(prec::LogicalOr); + parseConditionalExpr(); if (!Current || Current->Type != TT_ConditionalExpr) return; next(); diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index 2ac017c6f59..21bc8627546 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -3941,6 +3941,11 @@ TEST_F(FormatTest, BreaksConditionalExpressions) { " aaaaaaaaaaaaaaaaaaaaa +\n" " aaaaaaaaaaaaaaaaaaaaa\n" " : aaaaaaaaaa;"); + verifyFormat( + "aaaaaa = aaaaaaaaaaaa\n" + " ? aaaaaaaaaa ? aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n" + " : aaaaaaaaaaaaaaaaaaaaaa\n" + " : aaaaaaaaaaaaaaaaaaaaaaaaaaaa;"); FormatStyle NoBinPacking = getLLVMStyle(); NoBinPacking.BinPackParameters = false; |

