diff --git a/frontends/verilog/verilog_parser.y b/frontends/verilog/verilog_parser.y index fe86626b8..9d0956c8e 100644 --- a/frontends/verilog/verilog_parser.y +++ b/frontends/verilog/verilog_parser.y @@ -2249,7 +2249,8 @@ cell_parameter: node->children.push_back($1); } | '.' TOK_ID '(' ')' { - // just ignore empty parameters + // delete unused TOK_ID + delete $2; } | '.' TOK_ID '(' expr ')' { AstNode *node = new AstNode(AST_PARASET); diff --git a/tests/verilog/param_default.ys b/tests/verilog/param_default.ys new file mode 100644 index 000000000..59023c477 --- /dev/null +++ b/tests/verilog/param_default.ys @@ -0,0 +1,24 @@ +logger -expect-no-warnings +read_verilog << EOF +module bar ( + input portname +); + parameter paramname = 7; +endmodule + +module empty ( +); + bar #() barinstance (); +endmodule + +module implicit ( +); + bar #(.paramname()) barinstance (.portname()); +endmodule + +module explicit ( + input a +); + bar #(.paramname(3)) barinstance (.portname(a)); +endmodule +EOF