From abfb4e83bc642fe84d96bbd2791e2cfc9d1d2c79 Mon Sep 17 00:00:00 2001 From: Lars-Peter Clausen Date: Sun, 5 Jul 2026 14:39:50 -0700 Subject: [PATCH] Add regression test for event names shadowing type identifiers Check that event declarations can use visible type identifiers as event names. Also check that the resulting named event can be triggered and waited on. Signed-off-by: Lars-Peter Clausen --- .../ivltests/sv_type_identifier_event_name.v | 31 +++++++++++++++++++ ivtest/regress-vvp.list | 1 + .../sv_type_identifier_event_name.json | 5 +++ 3 files changed, 37 insertions(+) create mode 100644 ivtest/ivltests/sv_type_identifier_event_name.v create mode 100644 ivtest/vvp_tests/sv_type_identifier_event_name.json diff --git a/ivtest/ivltests/sv_type_identifier_event_name.v b/ivtest/ivltests/sv_type_identifier_event_name.v new file mode 100644 index 000000000..b6937562c --- /dev/null +++ b/ivtest/ivltests/sv_type_identifier_event_name.v @@ -0,0 +1,31 @@ +// Check that event names can shadow visible type identifiers. + +typedef int T; + +module test; + + reg failed; + reg seen; + + event T; + + initial begin + failed = 1'b0; + seen = 1'b0; + + #1 -> T; + #1; + + if (seen !== 1'b1) begin + $display("FAILED(%0d). Event T was not triggered", `__LINE__); + failed = 1'b1; + end + + if (!failed) begin + $display("PASSED"); + end + end + + always @T seen = 1'b1; + +endmodule diff --git a/ivtest/regress-vvp.list b/ivtest/regress-vvp.list index 19f2caa98..e8d021038 100644 --- a/ivtest/regress-vvp.list +++ b/ivtest/regress-vvp.list @@ -389,6 +389,7 @@ sv_type_identifier_ams_name_fields vvp_tests/sv_type_identifier_ams_name_fields. sv_type_identifier_block_label_name vvp_tests/sv_type_identifier_block_label_name.json sv_type_identifier_config_name vvp_tests/sv_type_identifier_config_name.json sv_type_identifier_enum_item_name vvp_tests/sv_type_identifier_enum_item_name.json +sv_type_identifier_event_name vvp_tests/sv_type_identifier_event_name.json sv_type_identifier_foreach_name vvp_tests/sv_type_identifier_foreach_name.json sv_type_identifier_fork_label_name vvp_tests/sv_type_identifier_fork_label_name.json sv_type_identifier_function_name vvp_tests/sv_type_identifier_function_name.json diff --git a/ivtest/vvp_tests/sv_type_identifier_event_name.json b/ivtest/vvp_tests/sv_type_identifier_event_name.json new file mode 100644 index 000000000..c4bb339f3 --- /dev/null +++ b/ivtest/vvp_tests/sv_type_identifier_event_name.json @@ -0,0 +1,5 @@ +{ + "type" : "normal", + "source" : "sv_type_identifier_event_name.v", + "iverilog-args" : [ "-g2005-sv" ] +}