Merge pull request #2028 from zachjs/master

verilog: allow null gen-if then block
This commit is contained in:
Eddie Hung 2020-05-06 12:10:28 -07:00 committed by GitHub
commit a299e606f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 1 deletions

View File

@ -2537,7 +2537,12 @@ gen_stmt:
ast_stack.back()->children.push_back(node);
ast_stack.push_back(node);
ast_stack.back()->children.push_back($3);
} gen_stmt_block opt_gen_else {
AstNode *block = new AstNode(AST_GENBLOCK);
ast_stack.back()->children.push_back(block);
ast_stack.push_back(block);
} gen_stmt_or_null {
ast_stack.pop_back();
} opt_gen_else {
SET_AST_NODE_LOC(ast_stack.back(), @1, @7);
ast_stack.pop_back();
} |

View File

@ -0,0 +1,13 @@
module test(x, y, z);
localparam OFF = 0;
generate
if (OFF) ;
else input x;
if (!OFF) input y;
else ;
if (OFF) ;
else ;
if (OFF) ;
input z;
endgenerate
endmodule

View File

@ -0,0 +1,4 @@
read_verilog gen_if_null.v
select -assert-count 1 test/x
select -assert-count 1 test/y
select -assert-count 1 test/z