Skip to content

Commit 40a2cce

Browse files
authored
Merge pull request #1545 from diffblue/instance_vs_typedef1-fix
Verilog: allow typedefs as instance identifiers
2 parents 308c683 + 1e8753f commit 40a2cce

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
KNOWNBUG
2-
enum_vs_typedef1.sv
1+
CORE
2+
instance_vs_typedef1.sv
33

44
^EXIT=10$
55
^SIGNAL=0$
66
--
77
--
8-
This fails to parse.

src/verilog/parser.y

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3121,9 +3121,9 @@ name_of_gate_instance_opt:
31213121
;
31223122

31233123
name_of_gate_instance:
3124-
TOK_NON_TYPE_IDENTIFIER unpacked_dimension_brace
3124+
any_identifier unpacked_dimension_brace
31253125
{ init($$, ID_inst);
3126-
addswap($$, ID_base_name, $1);
3126+
stack_expr($$).set(ID_base_name, stack_expr($1).get(ID_base_name));
31273127
if(stack_expr($2).is_not_nil())
31283128
{
31293129
auto &range = stack_expr($$).add(ID_range);
@@ -3216,9 +3216,9 @@ name_of_instance:
32163216
{ init($$, ID_inst);
32173217
stack_expr($$).set(ID_base_name, "$_&#ANON" + PARSER.get_next_id());
32183218
}
3219-
| TOK_NON_TYPE_IDENTIFIER unpacked_dimension_brace
3219+
| any_identifier unpacked_dimension_brace
32203220
{ init($$, ID_inst);
3221-
addswap($$, ID_base_name, $1);
3221+
stack_expr($$).set(ID_base_name, stack_expr($1).get(ID_base_name));
32223222
addswap($$, ID_verilog_instance_array, $2);
32233223
}
32243224
;

0 commit comments

Comments
 (0)