From: Daniel Jasper Date: Mon, 15 Jul 2013 14:33:14 +0000 (+0000) Subject: Improvement of change r186320. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9637dda705e39110bfff66742542a58dd2470ad2;p=clang Improvement of change r186320. Fixed a test that by now passed for the wrong reason. Before: llvm::outs() << "aaaaaaaaaaaaaaaaaaa: " << aaaaaaaaaaaaa( aaaaaaaaaaaaaaaaaaaaaaaaaaaa); After: llvm::outs() << "aaaaaaaaaaaaaaaaaaa: " << aaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaa); Also reformatted Format.cpp with the latest changes (1 formatting fix and 1 layout change of a <<-chain). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186322 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp index f66d95c910..7904853689 100644 --- a/lib/Format/Format.cpp +++ b/lib/Format/Format.cpp @@ -127,7 +127,7 @@ namespace format { void setDefaultPenalties(FormatStyle &Style) { Style.PenaltyBreakComment = 45; - Style.PenaltyBreakFirstLessLess = 180; + Style.PenaltyBreakFirstLessLess = 120; Style.PenaltyBreakString = 1000; Style.PenaltyExcessCharacter = 1000000; } @@ -854,7 +854,7 @@ private: // If this ends the array subscript expr, reset the corresponding value. const FormatToken *NextNonComment = Current.getNextNonComment(); if (NextNonComment && NextNonComment->isNot(tok::l_square)) - State.Stack.back().StartOfArraySubscripts = 0; + State.Stack.back().StartOfArraySubscripts = 0; } // Remove scopes created by fake parenthesis. @@ -1339,10 +1339,10 @@ public: : Style(Style), Lex(Lex), SourceMgr(SourceMgr), Whitespaces(SourceMgr, Style), Ranges(Ranges), Encoding(encoding::detectEncoding(Lex.getBuffer())) { - DEBUG(llvm::dbgs() - << "File encoding: " - << (Encoding == encoding::Encoding_UTF8 ? "UTF8" : "unknown") - << "\n"); + DEBUG(llvm::dbgs() << "File encoding: " + << (Encoding == encoding::Encoding_UTF8 ? "UTF8" + : "unknown") + << "\n"); } virtual ~Formatter() {} diff --git a/lib/Format/TokenAnnotator.cpp b/lib/Format/TokenAnnotator.cpp index b903597b43..3bed432b19 100644 --- a/lib/Format/TokenAnnotator.cpp +++ b/lib/Format/TokenAnnotator.cpp @@ -1082,9 +1082,9 @@ unsigned TokenAnnotator::splitPenalty(const AnnotatedLine &Line, Content = Content.drop_back(1).drop_front(1).trim(); if (Content.size() > 1 && (Content.back() == ':' || Content.back() == '=')) - return 50; + return 25; } - return prec::Shift; + return 1; // Breaking at a << is really cheap. } if (Left.Type == TT_ConditionalExpr) return prec::Conditional; diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index 49b51a94e4..01dd38e3c3 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -3010,8 +3010,11 @@ TEST_F(FormatTest, AlignsPipes) { " << \"eeeeeeeeeeeeeeeee = \" << eeeeeeeeeeeeeeeee;"); verifyFormat("llvm::outs() << aaaaaaaaaaaaaaaaaaaaaaaa << \"=\"\n" " << bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb;"); - verifyFormat("llvm::outs() << \"aaaaaaaaaaaaaaaaaaaaaaaa: \"\n" - " << aaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaa);"); + verifyFormat( + "void f() {\n" + " llvm::outs() << \"aaaaaaaaaaaaaaaaaaaa: \"\n" + " << aaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaa);\n" + "}"); // Breaking before the first "<<" is generally not desirable. verifyFormat(