diff options
-rw-r--r-- | clang/lib/Format/Format.cpp | 1 | ||||
-rw-r--r-- | clang/unittests/Format/FormatTest.cpp | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp index ea8a0f9f7d1..f244792e521 100644 --- a/clang/lib/Format/Format.cpp +++ b/clang/lib/Format/Format.cpp @@ -1040,6 +1040,7 @@ private: // If we need to break somewhere inside the LHS of a binary expression, we // should also break after the operator. if (Previous.Type == TT_BinaryOperator && + Current.Type != TT_BinaryOperator && // Special case for ">>". !Previous.isOneOf(tok::lessless, tok::question) && getPrecedence(Previous) != prec::Assignment && State.Stack.back().BreakBeforeParameter) diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index fd9678c3527..d39a8a40934 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -1921,6 +1921,9 @@ TEST_F(FormatTest, LineBreakingInBinaryExpressions) { verifyFormat("aaaaaa = aaaaaaa(aaaaaaa, // break\n" " aaaaaa) &&\n" " bbbbbb && cccccc;"); + verifyFormat("aaaaaa = aaaaaaa(aaaaaaa, // break\n" + " aaaaaa) >>\n" + " bbbbbb;"); verifyFormat("Whitespaces.addUntouchableComment(\n" " SourceMgr.getSpellingColumnNumber(\n" " TheLine.Last->FormatTok.Tok.getLocation()) -\n" |