From 9a2106a4396525120415ec59b42ef9718a36aa9d Mon Sep 17 00:00:00 2001 From: Lars-Peter Clausen Date: Mon, 10 Aug 2026 23:32:00 -0700 Subject: [PATCH] Add regression tests for types during symbol lookup Check that a visible type prevents lookup from continuing to an outer value for function and task calls and implicit `.name` and wildcard `.*` port connections. Check that types are rejected as disable targets, named events, procedural l-values, and expressions elaborated with a required type. Also check the opposite lexical-order case where a typedef declared after a reference does not hide an outer named event or variable. Use diagnostic gold files for each negative case that emits the type-specific error. Signed-off-by: Lars-Peter Clausen --- ...ier_disable_path_fail-iverilog-stderr.gold | 3 ++ ...er_event_trigger_fail-iverilog-stderr.gold | 3 ++ ...rocedural_lvalue_fail-iverilog-stderr.gold | 3 ++ ...ow_function_call_fail-iverilog-stderr.gold | 3 ++ ...nction_statement_fail-iverilog-stderr.gold | 3 ++ ...ow_implicit_port_fail-iverilog-stderr.gold | 4 +++ ...shadow_task_call_fail-iverilog-stderr.gold | 3 ++ ...typed_expression_fail-iverilog-stderr.gold | 3 ++ .../sv_type_identifier_disable_path_fail.v | 9 ++++++ .../sv_type_identifier_event_trigger.v | 32 +++++++++++++++++++ .../sv_type_identifier_event_trigger_fail.v | 13 ++++++++ .../sv_type_identifier_procedural_lvalue.v | 27 ++++++++++++++++ ...v_type_identifier_procedural_lvalue_fail.v | 13 ++++++++ ...ype_identifier_shadow_function_call_fail.v | 15 +++++++++ ...dentifier_shadow_function_statement_fail.v | 14 ++++++++ ...ype_identifier_shadow_implicit_port_fail.v | 16 ++++++++++ ...sv_type_identifier_shadow_task_call_fail.v | 12 +++++++ ...ype_identifier_shadow_wildcard_port_fail.v | 15 +++++++++ .../sv_type_identifier_typed_expression.v | 26 +++++++++++++++ ...sv_type_identifier_typed_expression_fail.v | 15 +++++++++ ivtest/regress-vvp.list | 12 +++++++ .../sv_type_identifier_disable_path_fail.json | 6 ++++ .../sv_type_identifier_event_trigger.json | 9 ++++++ ...sv_type_identifier_event_trigger_fail.json | 6 ++++ .../sv_type_identifier_procedural_lvalue.json | 9 ++++++ ...ype_identifier_procedural_lvalue_fail.json | 6 ++++ ..._identifier_shadow_function_call_fail.json | 6 ++++ ...tifier_shadow_function_statement_fail.json | 6 ++++ ..._identifier_shadow_implicit_port_fail.json | 6 ++++ ...type_identifier_shadow_task_call_fail.json | 6 ++++ ..._identifier_shadow_wildcard_port_fail.json | 5 +++ .../sv_type_identifier_typed_expression.json | 9 ++++++ ...type_identifier_typed_expression_fail.json | 6 ++++ 33 files changed, 324 insertions(+) create mode 100644 ivtest/gold/sv_type_identifier_disable_path_fail-iverilog-stderr.gold create mode 100644 ivtest/gold/sv_type_identifier_event_trigger_fail-iverilog-stderr.gold create mode 100644 ivtest/gold/sv_type_identifier_procedural_lvalue_fail-iverilog-stderr.gold create mode 100644 ivtest/gold/sv_type_identifier_shadow_function_call_fail-iverilog-stderr.gold create mode 100644 ivtest/gold/sv_type_identifier_shadow_function_statement_fail-iverilog-stderr.gold create mode 100644 ivtest/gold/sv_type_identifier_shadow_implicit_port_fail-iverilog-stderr.gold create mode 100644 ivtest/gold/sv_type_identifier_shadow_task_call_fail-iverilog-stderr.gold create mode 100644 ivtest/gold/sv_type_identifier_typed_expression_fail-iverilog-stderr.gold create mode 100644 ivtest/ivltests/sv_type_identifier_disable_path_fail.v create mode 100644 ivtest/ivltests/sv_type_identifier_event_trigger.v create mode 100644 ivtest/ivltests/sv_type_identifier_event_trigger_fail.v create mode 100644 ivtest/ivltests/sv_type_identifier_procedural_lvalue.v create mode 100644 ivtest/ivltests/sv_type_identifier_procedural_lvalue_fail.v create mode 100644 ivtest/ivltests/sv_type_identifier_shadow_function_call_fail.v create mode 100644 ivtest/ivltests/sv_type_identifier_shadow_function_statement_fail.v create mode 100644 ivtest/ivltests/sv_type_identifier_shadow_implicit_port_fail.v create mode 100644 ivtest/ivltests/sv_type_identifier_shadow_task_call_fail.v create mode 100644 ivtest/ivltests/sv_type_identifier_shadow_wildcard_port_fail.v create mode 100644 ivtest/ivltests/sv_type_identifier_typed_expression.v create mode 100644 ivtest/ivltests/sv_type_identifier_typed_expression_fail.v create mode 100644 ivtest/vvp_tests/sv_type_identifier_disable_path_fail.json create mode 100644 ivtest/vvp_tests/sv_type_identifier_event_trigger.json create mode 100644 ivtest/vvp_tests/sv_type_identifier_event_trigger_fail.json create mode 100644 ivtest/vvp_tests/sv_type_identifier_procedural_lvalue.json create mode 100644 ivtest/vvp_tests/sv_type_identifier_procedural_lvalue_fail.json create mode 100644 ivtest/vvp_tests/sv_type_identifier_shadow_function_call_fail.json create mode 100644 ivtest/vvp_tests/sv_type_identifier_shadow_function_statement_fail.json create mode 100644 ivtest/vvp_tests/sv_type_identifier_shadow_implicit_port_fail.json create mode 100644 ivtest/vvp_tests/sv_type_identifier_shadow_task_call_fail.json create mode 100644 ivtest/vvp_tests/sv_type_identifier_shadow_wildcard_port_fail.json create mode 100644 ivtest/vvp_tests/sv_type_identifier_typed_expression.json create mode 100644 ivtest/vvp_tests/sv_type_identifier_typed_expression_fail.json diff --git a/ivtest/gold/sv_type_identifier_disable_path_fail-iverilog-stderr.gold b/ivtest/gold/sv_type_identifier_disable_path_fail-iverilog-stderr.gold new file mode 100644 index 000000000..58c47b836 --- /dev/null +++ b/ivtest/gold/sv_type_identifier_disable_path_fail-iverilog-stderr.gold @@ -0,0 +1,3 @@ +ivltests/sv_type_identifier_disable_path_fail.v:7: error: Type name `test.value' cannot be used as a disable target. +ivltests/sv_type_identifier_disable_path_fail.v:5: : The type was declared here. +Elaboration failed diff --git a/ivtest/gold/sv_type_identifier_event_trigger_fail-iverilog-stderr.gold b/ivtest/gold/sv_type_identifier_event_trigger_fail-iverilog-stderr.gold new file mode 100644 index 000000000..6ccae8e0d --- /dev/null +++ b/ivtest/gold/sv_type_identifier_event_trigger_fail-iverilog-stderr.gold @@ -0,0 +1,3 @@ +ivltests/sv_type_identifier_event_trigger_fail.v:11: error: Type name `i_container.value' cannot be used as a named event. +ivltests/sv_type_identifier_event_trigger_fail.v:4: : The type was declared here. +Elaboration failed diff --git a/ivtest/gold/sv_type_identifier_procedural_lvalue_fail-iverilog-stderr.gold b/ivtest/gold/sv_type_identifier_procedural_lvalue_fail-iverilog-stderr.gold new file mode 100644 index 000000000..b9809efdc --- /dev/null +++ b/ivtest/gold/sv_type_identifier_procedural_lvalue_fail-iverilog-stderr.gold @@ -0,0 +1,3 @@ +ivltests/sv_type_identifier_procedural_lvalue_fail.v:11: error: Type name `i_container.value' cannot be used as a procedural l-value. +ivltests/sv_type_identifier_procedural_lvalue_fail.v:4: : The type was declared here. +Elaboration failed diff --git a/ivtest/gold/sv_type_identifier_shadow_function_call_fail-iverilog-stderr.gold b/ivtest/gold/sv_type_identifier_shadow_function_call_fail-iverilog-stderr.gold new file mode 100644 index 000000000..ebd8ac472 --- /dev/null +++ b/ivtest/gold/sv_type_identifier_shadow_function_call_fail-iverilog-stderr.gold @@ -0,0 +1,3 @@ +ivltests/sv_type_identifier_shadow_function_call_fail.v:11: error: Type name `value' cannot be used in a function call. +ivltests/sv_type_identifier_shadow_function_call_fail.v:13: : The type was declared here. +Elaboration failed diff --git a/ivtest/gold/sv_type_identifier_shadow_function_statement_fail-iverilog-stderr.gold b/ivtest/gold/sv_type_identifier_shadow_function_statement_fail-iverilog-stderr.gold new file mode 100644 index 000000000..d0155ffd5 --- /dev/null +++ b/ivtest/gold/sv_type_identifier_shadow_function_statement_fail-iverilog-stderr.gold @@ -0,0 +1,3 @@ +ivltests/sv_type_identifier_shadow_function_statement_fail.v:10: error: Type name `value' cannot be used in a task or function call. +ivltests/sv_type_identifier_shadow_function_statement_fail.v:12: : The type was declared here. +Elaboration failed diff --git a/ivtest/gold/sv_type_identifier_shadow_implicit_port_fail-iverilog-stderr.gold b/ivtest/gold/sv_type_identifier_shadow_implicit_port_fail-iverilog-stderr.gold new file mode 100644 index 000000000..0a9ad0ebb --- /dev/null +++ b/ivtest/gold/sv_type_identifier_shadow_implicit_port_fail-iverilog-stderr.gold @@ -0,0 +1,4 @@ +ivltests/sv_type_identifier_shadow_implicit_port_fail.v:13: error: Type name `value' cannot be used in an expression. +ivltests/sv_type_identifier_shadow_implicit_port_fail.v:12: : The type was declared here. +ivltests/sv_type_identifier_shadow_implicit_port_fail.v:13: error: Failed to elaborate input port 'value' expression (value) in instance inner.i_m of module: M. +2 error(s) during elaboration. diff --git a/ivtest/gold/sv_type_identifier_shadow_task_call_fail-iverilog-stderr.gold b/ivtest/gold/sv_type_identifier_shadow_task_call_fail-iverilog-stderr.gold new file mode 100644 index 000000000..350acbc3c --- /dev/null +++ b/ivtest/gold/sv_type_identifier_shadow_task_call_fail-iverilog-stderr.gold @@ -0,0 +1,3 @@ +ivltests/sv_type_identifier_shadow_task_call_fail.v:8: error: Type name `value' cannot be used in a task or function call. +ivltests/sv_type_identifier_shadow_task_call_fail.v:10: : The type was declared here. +Elaboration failed diff --git a/ivtest/gold/sv_type_identifier_typed_expression_fail-iverilog-stderr.gold b/ivtest/gold/sv_type_identifier_typed_expression_fail-iverilog-stderr.gold new file mode 100644 index 000000000..75a97515b --- /dev/null +++ b/ivtest/gold/sv_type_identifier_typed_expression_fail-iverilog-stderr.gold @@ -0,0 +1,3 @@ +ivltests/sv_type_identifier_typed_expression_fail.v:13: error: Type name `i_container.value' cannot be used in an expression. +ivltests/sv_type_identifier_typed_expression_fail.v:4: : The type was declared here. +Elaboration failed diff --git a/ivtest/ivltests/sv_type_identifier_disable_path_fail.v b/ivtest/ivltests/sv_type_identifier_disable_path_fail.v new file mode 100644 index 000000000..cd6390b75 --- /dev/null +++ b/ivtest/ivltests/sv_type_identifier_disable_path_fail.v @@ -0,0 +1,9 @@ +// Check that a type in a disable target path is rejected. + +module test; + + typedef logic value; + + initial disable test.value; + +endmodule diff --git a/ivtest/ivltests/sv_type_identifier_event_trigger.v b/ivtest/ivltests/sv_type_identifier_event_trigger.v new file mode 100644 index 000000000..6f1825dc6 --- /dev/null +++ b/ivtest/ivltests/sv_type_identifier_event_trigger.v @@ -0,0 +1,32 @@ +// Check that a later typedef does not hide an outer named event. + +module test; + + reg failed; + reg seen; + event value; + + always @value seen = 1'b1; + + if (1) begin : inner + initial begin + failed = 1'b0; + seen = 1'b0; + + #1 -> value; + #1; + + if (seen !== 1'b1) begin + $display("FAILED(%0d). Named event was not triggered", `__LINE__); + failed = 1'b1; + end + + if (!failed) begin + $display("PASSED"); + end + end + + typedef logic value; + end + +endmodule diff --git a/ivtest/ivltests/sv_type_identifier_event_trigger_fail.v b/ivtest/ivltests/sv_type_identifier_event_trigger_fail.v new file mode 100644 index 000000000..05a13fd42 --- /dev/null +++ b/ivtest/ivltests/sv_type_identifier_event_trigger_fail.v @@ -0,0 +1,13 @@ +// Check that a type cannot be used as a named event. + +module container; + typedef logic value; +endmodule + +module test; + + container i_container(); + + initial -> i_container.value; + +endmodule diff --git a/ivtest/ivltests/sv_type_identifier_procedural_lvalue.v b/ivtest/ivltests/sv_type_identifier_procedural_lvalue.v new file mode 100644 index 000000000..dfa7efcdc --- /dev/null +++ b/ivtest/ivltests/sv_type_identifier_procedural_lvalue.v @@ -0,0 +1,27 @@ +// Check that a later typedef does not hide an outer procedural l-value. + +module test; + + reg failed; + integer value; + + if (1) begin : inner + initial begin + failed = 1'b0; + value = 42; + + if (value !== 42) begin + $display("FAILED(%0d). Procedural l-value assignment failed", + `__LINE__); + failed = 1'b1; + end + + if (!failed) begin + $display("PASSED"); + end + end + + typedef logic value; + end + +endmodule diff --git a/ivtest/ivltests/sv_type_identifier_procedural_lvalue_fail.v b/ivtest/ivltests/sv_type_identifier_procedural_lvalue_fail.v new file mode 100644 index 000000000..f77565d45 --- /dev/null +++ b/ivtest/ivltests/sv_type_identifier_procedural_lvalue_fail.v @@ -0,0 +1,13 @@ +// Check that a type cannot be used as a procedural l-value. + +module container; + typedef logic value; +endmodule + +module test; + + container i_container(); + + initial i_container.value = 1; + +endmodule diff --git a/ivtest/ivltests/sv_type_identifier_shadow_function_call_fail.v b/ivtest/ivltests/sv_type_identifier_shadow_function_call_fail.v new file mode 100644 index 000000000..aac180d69 --- /dev/null +++ b/ivtest/ivltests/sv_type_identifier_shadow_function_call_fail.v @@ -0,0 +1,15 @@ +// Check that a later typedef hides an outer function during call lookup. + +function integer value; + value = 1; +endfunction + +module test; + + integer result; + + initial result = value(); + + typedef logic value; + +endmodule diff --git a/ivtest/ivltests/sv_type_identifier_shadow_function_statement_fail.v b/ivtest/ivltests/sv_type_identifier_shadow_function_statement_fail.v new file mode 100644 index 000000000..d285770fb --- /dev/null +++ b/ivtest/ivltests/sv_type_identifier_shadow_function_statement_fail.v @@ -0,0 +1,14 @@ +// Check that a later typedef hides a compilation-unit function used as a +// statement. + +function integer value; + value = 0; +endfunction + +module test; + + initial value(); + + typedef logic value; + +endmodule diff --git a/ivtest/ivltests/sv_type_identifier_shadow_implicit_port_fail.v b/ivtest/ivltests/sv_type_identifier_shadow_implicit_port_fail.v new file mode 100644 index 000000000..9d47e4096 --- /dev/null +++ b/ivtest/ivltests/sv_type_identifier_shadow_implicit_port_fail.v @@ -0,0 +1,16 @@ +// Check that a typedef prevents an implicit named port connection from +// binding an outer variable. + +module M(input integer value); +endmodule + +module test; + + integer value; + + if (1) begin : inner + typedef logic value; + M i_m(.value); + end + +endmodule diff --git a/ivtest/ivltests/sv_type_identifier_shadow_task_call_fail.v b/ivtest/ivltests/sv_type_identifier_shadow_task_call_fail.v new file mode 100644 index 000000000..22fad91c8 --- /dev/null +++ b/ivtest/ivltests/sv_type_identifier_shadow_task_call_fail.v @@ -0,0 +1,12 @@ +// Check that a later typedef hides a compilation-unit task. + +task value; +endtask + +module test; + + initial value(); + + typedef logic value; + +endmodule diff --git a/ivtest/ivltests/sv_type_identifier_shadow_wildcard_port_fail.v b/ivtest/ivltests/sv_type_identifier_shadow_wildcard_port_fail.v new file mode 100644 index 000000000..df8f6c621 --- /dev/null +++ b/ivtest/ivltests/sv_type_identifier_shadow_wildcard_port_fail.v @@ -0,0 +1,15 @@ +// Check that a type parameter prevents a wildcard port connection from +// binding an outer variable. + +module M(input [31:0] value); +endmodule + +reg [31:0] value; + +module test; + + parameter type value = logic; + + M i_m(.*); + +endmodule diff --git a/ivtest/ivltests/sv_type_identifier_typed_expression.v b/ivtest/ivltests/sv_type_identifier_typed_expression.v new file mode 100644 index 000000000..934150144 --- /dev/null +++ b/ivtest/ivltests/sv_type_identifier_typed_expression.v @@ -0,0 +1,26 @@ +// Check that a later typedef does not hide an outer typed expression. + +module test; + + integer value[$]; + + initial value.push_back(42); + + if (1) begin : inner + integer values[$]; + + initial begin + #1; + values = value; + + if (values.size() != 1 || values[0] !== 42) begin + $display("FAILED(%0d). Typed expression lookup failed", `__LINE__); + end else begin + $display("PASSED"); + end + end + + typedef logic value; + end + +endmodule diff --git a/ivtest/ivltests/sv_type_identifier_typed_expression_fail.v b/ivtest/ivltests/sv_type_identifier_typed_expression_fail.v new file mode 100644 index 000000000..dbd57d6a0 --- /dev/null +++ b/ivtest/ivltests/sv_type_identifier_typed_expression_fail.v @@ -0,0 +1,15 @@ +// Check that a type cannot be used as an expression with a required type. + +module container; + typedef logic value; +endmodule + +module test; + + container i_container(); + + integer values[$]; + + initial values = i_container.value; + +endmodule diff --git a/ivtest/regress-vvp.list b/ivtest/regress-vvp.list index e144fb561..41b21f62a 100644 --- a/ivtest/regress-vvp.list +++ b/ivtest/regress-vvp.list @@ -496,8 +496,11 @@ sv_type_identifier_block_prefix_label_name vvp_tests/sv_type_identifier_block_pr sv_type_identifier_config_name vvp_tests/sv_type_identifier_config_name.json sv_type_identifier_discipline_name vvp_tests/sv_type_identifier_discipline_name.json sv_type_identifier_discipline_nature_ref vvp_tests/sv_type_identifier_discipline_nature_ref.json +sv_type_identifier_disable_path_fail vvp_tests/sv_type_identifier_disable_path_fail.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_event_trigger vvp_tests/sv_type_identifier_event_trigger.json +sv_type_identifier_event_trigger_fail vvp_tests/sv_type_identifier_event_trigger_fail.json sv_type_identifier_for_name vvp_tests/sv_type_identifier_for_name.json sv_type_identifier_foreach_array_name vvp_tests/sv_type_identifier_foreach_array_name.json sv_type_identifier_foreach_name vvp_tests/sv_type_identifier_foreach_name.json @@ -523,9 +526,18 @@ sv_type_identifier_parameter_port_name vvp_tests/sv_type_identifier_parameter_po sv_type_identifier_parameter_type_decl_name vvp_tests/sv_type_identifier_parameter_type_decl_name.json sv_type_identifier_parameter_type_param_name vvp_tests/sv_type_identifier_parameter_type_param_name.json sv_type_identifier_port_name vvp_tests/sv_type_identifier_port_name.json +sv_type_identifier_procedural_lvalue vvp_tests/sv_type_identifier_procedural_lvalue.json +sv_type_identifier_procedural_lvalue_fail vvp_tests/sv_type_identifier_procedural_lvalue_fail.json +sv_type_identifier_shadow_function_call_fail vvp_tests/sv_type_identifier_shadow_function_call_fail.json +sv_type_identifier_shadow_function_statement_fail vvp_tests/sv_type_identifier_shadow_function_statement_fail.json +sv_type_identifier_shadow_implicit_port_fail vvp_tests/sv_type_identifier_shadow_implicit_port_fail.json +sv_type_identifier_shadow_task_call_fail vvp_tests/sv_type_identifier_shadow_task_call_fail.json +sv_type_identifier_shadow_wildcard_port_fail vvp_tests/sv_type_identifier_shadow_wildcard_port_fail.json sv_type_identifier_specparam_name vvp_tests/sv_type_identifier_specparam_name.json sv_type_identifier_task_function_argument_name vvp_tests/sv_type_identifier_task_function_argument_name.json sv_type_identifier_task_name vvp_tests/sv_type_identifier_task_name.json +sv_type_identifier_typed_expression vvp_tests/sv_type_identifier_typed_expression.json +sv_type_identifier_typed_expression_fail vvp_tests/sv_type_identifier_typed_expression_fail.json sv_type_identifier_udp_ansi_name vvp_tests/sv_type_identifier_udp_ansi_name.json sv_type_identifier_udp_name vvp_tests/sv_type_identifier_udp_name.json sv_type_identifier_variable_name vvp_tests/sv_type_identifier_variable_name.json diff --git a/ivtest/vvp_tests/sv_type_identifier_disable_path_fail.json b/ivtest/vvp_tests/sv_type_identifier_disable_path_fail.json new file mode 100644 index 000000000..6a5e75bbb --- /dev/null +++ b/ivtest/vvp_tests/sv_type_identifier_disable_path_fail.json @@ -0,0 +1,6 @@ +{ + "type" : "CE", + "source" : "sv_type_identifier_disable_path_fail.v", + "gold" : "sv_type_identifier_disable_path_fail", + "iverilog-args" : [ "-g2005-sv" ] +} diff --git a/ivtest/vvp_tests/sv_type_identifier_event_trigger.json b/ivtest/vvp_tests/sv_type_identifier_event_trigger.json new file mode 100644 index 000000000..51c72bf1d --- /dev/null +++ b/ivtest/vvp_tests/sv_type_identifier_event_trigger.json @@ -0,0 +1,9 @@ +{ + "type" : "normal", + "source" : "sv_type_identifier_event_trigger.v", + "iverilog-args" : [ "-g2005-sv" ], + "vlog95" : { + "__comment" : "Generate scopes are not translated by vlog95", + "type" : "CE" + } +} diff --git a/ivtest/vvp_tests/sv_type_identifier_event_trigger_fail.json b/ivtest/vvp_tests/sv_type_identifier_event_trigger_fail.json new file mode 100644 index 000000000..f1060e81d --- /dev/null +++ b/ivtest/vvp_tests/sv_type_identifier_event_trigger_fail.json @@ -0,0 +1,6 @@ +{ + "type" : "CE", + "source" : "sv_type_identifier_event_trigger_fail.v", + "gold" : "sv_type_identifier_event_trigger_fail", + "iverilog-args" : [ "-g2005-sv" ] +} diff --git a/ivtest/vvp_tests/sv_type_identifier_procedural_lvalue.json b/ivtest/vvp_tests/sv_type_identifier_procedural_lvalue.json new file mode 100644 index 000000000..2629ff358 --- /dev/null +++ b/ivtest/vvp_tests/sv_type_identifier_procedural_lvalue.json @@ -0,0 +1,9 @@ +{ + "type" : "normal", + "source" : "sv_type_identifier_procedural_lvalue.v", + "iverilog-args" : [ "-g2005-sv" ], + "vlog95" : { + "__comment" : "Generate scopes are not translated by vlog95", + "type" : "CE" + } +} diff --git a/ivtest/vvp_tests/sv_type_identifier_procedural_lvalue_fail.json b/ivtest/vvp_tests/sv_type_identifier_procedural_lvalue_fail.json new file mode 100644 index 000000000..f6ae08ce0 --- /dev/null +++ b/ivtest/vvp_tests/sv_type_identifier_procedural_lvalue_fail.json @@ -0,0 +1,6 @@ +{ + "type" : "CE", + "source" : "sv_type_identifier_procedural_lvalue_fail.v", + "gold" : "sv_type_identifier_procedural_lvalue_fail", + "iverilog-args" : [ "-g2005-sv" ] +} diff --git a/ivtest/vvp_tests/sv_type_identifier_shadow_function_call_fail.json b/ivtest/vvp_tests/sv_type_identifier_shadow_function_call_fail.json new file mode 100644 index 000000000..8fdce2b3f --- /dev/null +++ b/ivtest/vvp_tests/sv_type_identifier_shadow_function_call_fail.json @@ -0,0 +1,6 @@ +{ + "type" : "CE", + "source" : "sv_type_identifier_shadow_function_call_fail.v", + "gold" : "sv_type_identifier_shadow_function_call_fail", + "iverilog-args" : [ "-g2005-sv" ] +} diff --git a/ivtest/vvp_tests/sv_type_identifier_shadow_function_statement_fail.json b/ivtest/vvp_tests/sv_type_identifier_shadow_function_statement_fail.json new file mode 100644 index 000000000..6a3197de0 --- /dev/null +++ b/ivtest/vvp_tests/sv_type_identifier_shadow_function_statement_fail.json @@ -0,0 +1,6 @@ +{ + "type" : "CE", + "source" : "sv_type_identifier_shadow_function_statement_fail.v", + "gold" : "sv_type_identifier_shadow_function_statement_fail", + "iverilog-args" : [ "-g2005-sv" ] +} diff --git a/ivtest/vvp_tests/sv_type_identifier_shadow_implicit_port_fail.json b/ivtest/vvp_tests/sv_type_identifier_shadow_implicit_port_fail.json new file mode 100644 index 000000000..23749768d --- /dev/null +++ b/ivtest/vvp_tests/sv_type_identifier_shadow_implicit_port_fail.json @@ -0,0 +1,6 @@ +{ + "type" : "CE", + "source" : "sv_type_identifier_shadow_implicit_port_fail.v", + "gold" : "sv_type_identifier_shadow_implicit_port_fail", + "iverilog-args" : [ "-g2005-sv" ] +} diff --git a/ivtest/vvp_tests/sv_type_identifier_shadow_task_call_fail.json b/ivtest/vvp_tests/sv_type_identifier_shadow_task_call_fail.json new file mode 100644 index 000000000..435524acd --- /dev/null +++ b/ivtest/vvp_tests/sv_type_identifier_shadow_task_call_fail.json @@ -0,0 +1,6 @@ +{ + "type" : "CE", + "source" : "sv_type_identifier_shadow_task_call_fail.v", + "gold" : "sv_type_identifier_shadow_task_call_fail", + "iverilog-args" : [ "-g2005-sv" ] +} diff --git a/ivtest/vvp_tests/sv_type_identifier_shadow_wildcard_port_fail.json b/ivtest/vvp_tests/sv_type_identifier_shadow_wildcard_port_fail.json new file mode 100644 index 000000000..1befc41b0 --- /dev/null +++ b/ivtest/vvp_tests/sv_type_identifier_shadow_wildcard_port_fail.json @@ -0,0 +1,5 @@ +{ + "type" : "CE", + "source" : "sv_type_identifier_shadow_wildcard_port_fail.v", + "iverilog-args" : [ "-g2005-sv" ] +} diff --git a/ivtest/vvp_tests/sv_type_identifier_typed_expression.json b/ivtest/vvp_tests/sv_type_identifier_typed_expression.json new file mode 100644 index 000000000..44ba6c89e --- /dev/null +++ b/ivtest/vvp_tests/sv_type_identifier_typed_expression.json @@ -0,0 +1,9 @@ +{ + "type" : "normal", + "source" : "sv_type_identifier_typed_expression.v", + "iverilog-args" : [ "-g2005-sv" ], + "vlog95" : { + "__comment" : "Queues are not supported", + "type" : "CE" + } +} diff --git a/ivtest/vvp_tests/sv_type_identifier_typed_expression_fail.json b/ivtest/vvp_tests/sv_type_identifier_typed_expression_fail.json new file mode 100644 index 000000000..6e897f2cc --- /dev/null +++ b/ivtest/vvp_tests/sv_type_identifier_typed_expression_fail.json @@ -0,0 +1,6 @@ +{ + "type" : "CE", + "source" : "sv_type_identifier_typed_expression_fail.v", + "gold" : "sv_type_identifier_typed_expression_fail", + "iverilog-args" : [ "-g2005-sv" ] +}