From d836b53adbaa2ecd8633abd59f37ba65f38c8238 Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Fri, 27 May 2016 08:59:34 +0000 Subject: [PATCH] clang-format: Allow splitting the line after /**/-comments. While it might change the meaning of the comment in rare circumstances, it is better than violating the column limit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@270975 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Format/TokenAnnotator.cpp | 4 +++- unittests/Format/FormatTest.cpp | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/Format/TokenAnnotator.cpp b/lib/Format/TokenAnnotator.cpp index 2ddff47b93..e06b5de419 100644 --- a/lib/Format/TokenAnnotator.cpp +++ b/lib/Format/TokenAnnotator.cpp @@ -1826,6 +1826,8 @@ unsigned TokenAnnotator::splitPenalty(const AnnotatedLine &Line, return 500; if (Left.isOneOf(tok::kw_class, tok::kw_struct)) return 5000; + if (Left.is(tok::comment)) + return 1000; if (Left.isOneOf(TT_RangeBasedForLoopColon, TT_InheritanceColon)) return 2; @@ -2464,7 +2466,7 @@ bool TokenAnnotator::canBreakBefore(const AnnotatedLine &Line, Left.getPrecedence() == prec::Assignment)) return true; return Left.isOneOf(tok::comma, tok::coloncolon, tok::semi, tok::l_brace, - tok::kw_class, tok::kw_struct) || + tok::kw_class, tok::kw_struct, tok::comment) || Right.isMemberAccess() || Right.isOneOf(TT_TrailingReturnArrow, TT_LambdaArrow, tok::lessless, tok::colon, tok::l_square, tok::at) || diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index 5effc3162f..09149f1d88 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -1143,6 +1143,8 @@ TEST_F(FormatTest, UnderstandsBlockComments) { " aaaaaaaaaaaaaaaaaa ,\n" " aaaaaaaaaaaaaaaaaa) { /*aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa*/\n" "}")); + verifyFormat("f(/* aaaaaaaaaaaaaaaaaa = */\n" + " aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa);"); FormatStyle NoBinPacking = getLLVMStyle(); NoBinPacking.BinPackParameters = false; -- 2.40.0