[PATCH] D149657: [clang-format] Don't indent Verilog `begin` keyword on its own line
sstwcw via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sat May 6 22:36:05 PDT 2023
This revision was automatically updated to reflect the committed changes.
Closed by commit rGdf722b01246d: [clang-format] Don't indent Verilog `begin` keyword on its own line (authored by sstwcw).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D149657/new/
https://reviews.llvm.org/D149657
Files:
clang/lib/Format/ContinuationIndenter.cpp
clang/unittests/Format/FormatTestVerilog.cpp
Index: clang/unittests/Format/FormatTestVerilog.cpp
===================================================================
--- clang/unittests/Format/FormatTestVerilog.cpp
+++ clang/unittests/Format/FormatTestVerilog.cpp
@@ -162,6 +162,39 @@
"x = x;");
verifyFormat("rand join x x;\n"
"x = x;");
+ // The begin keyword should not be indented if it is too long to fit on the
+ // same line.
+ verifyFormat("while (true) //\n"
+ "begin\n"
+ " while (true) //\n"
+ " begin\n"
+ " end\n"
+ "end");
+ verifyFormat("while (true) //\n"
+ "begin : x\n"
+ " while (true) //\n"
+ " begin : x\n"
+ " end : x\n"
+ "end : x");
+ verifyFormat("while (true) //\n"
+ "fork\n"
+ " while (true) //\n"
+ " fork\n"
+ " join\n"
+ "join");
+ auto Style = getDefaultStyle();
+ Style.ColumnLimit = 17;
+ verifyFormat("while (true)\n"
+ "begin\n"
+ " while (true)\n"
+ " begin\n"
+ " end\n"
+ "end",
+ "while (true) begin\n"
+ " while (true) begin"
+ " end\n"
+ "end",
+ Style);
}
TEST_F(FormatTestVerilog, Case) {
Index: clang/lib/Format/ContinuationIndenter.cpp
===================================================================
--- clang/lib/Format/ContinuationIndenter.cpp
+++ clang/lib/Format/ContinuationIndenter.cpp
@@ -1125,7 +1125,8 @@
Style.IndentWidth;
}
- if (NextNonComment->is(tok::l_brace) && NextNonComment->is(BK_Block)) {
+ if ((NextNonComment->is(tok::l_brace) && NextNonComment->is(BK_Block)) ||
+ (Style.isVerilog() && Keywords.isVerilogBegin(*NextNonComment))) {
if (Current.NestingLevel == 0 ||
(Style.LambdaBodyIndentation == FormatStyle::LBI_OuterScope &&
State.NextToken->is(TT_LambdaLBrace))) {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D149657.520149.patch
Type: text/x-patch
Size: 2054 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230507/d0cf1324/attachment.bin>
More information about the cfe-commits
mailing list