[PATCH] D137762: [clang-format] avoid breaking )( with BlockIndent
Gedare Bloom via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Nov 11 11:20:05 PST 2022
gedare updated this revision to Diff 474814.
gedare added a comment.
Address review comments
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D137762/new/
https://reviews.llvm.org/D137762
Files:
clang/lib/Format/ContinuationIndenter.cpp
clang/lib/Format/TokenAnnotator.cpp
Index: clang/lib/Format/TokenAnnotator.cpp
===================================================================
--- clang/lib/Format/TokenAnnotator.cpp
+++ clang/lib/Format/TokenAnnotator.cpp
@@ -5001,7 +5001,13 @@
return false;
}
const FormatToken *Previous = Right.MatchingParen->Previous;
- return !(Previous && (Previous->is(tok::kw_for) || Previous->isIf()));
+ // Avoid breaking when there is another parens immediately following
+ // a closing parens, such as in cast operators and indirect function calls.
+ return !((Previous && (Previous->is(tok::kw_for) || Previous->isIf())) ||
+ (Right.Next &&
+ (Right.Next->is(tok::l_paren) ||
+ (Right.Next->is(tok::r_paren) &&
+ (Right.NestingLevel == 0 || Previous->is(tok::star))))));
}
// Allow breaking after a trailing annotation, e.g. after a method
Index: clang/lib/Format/ContinuationIndenter.cpp
===================================================================
--- clang/lib/Format/ContinuationIndenter.cpp
+++ clang/lib/Format/ContinuationIndenter.cpp
@@ -716,8 +716,9 @@
(Previous.is(tok::l_brace) && Previous.isNot(BK_Block) &&
Style.Cpp11BracedListStyle)) &&
State.Column > getNewLineColumn(State) &&
- (!Previous.Previous || !Previous.Previous->isOneOf(
- tok::kw_for, tok::kw_while, tok::kw_switch)) &&
+ (!Previous.Previous ||
+ !Previous.Previous->isOneOf(TT_CastRParen, tok::kw_for, tok::kw_while,
+ tok::kw_switch)) &&
// Don't do this for simple (no expressions) one-argument function calls
// as that feels like needlessly wasting whitespace, e.g.:
//
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D137762.474814.patch
Type: text/x-patch
Size: 1743 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20221111/b0903306/attachment.bin>
More information about the cfe-commits
mailing list