diff --git a/ivtest/ivltests/sv_assign_pattern_auto_force_fail.v b/ivtest/ivltests/sv_assign_pattern_auto_force_fail.v new file mode 100644 index 000000000..d260e122b --- /dev/null +++ b/ivtest/ivltests/sv_assign_pattern_auto_force_fail.v @@ -0,0 +1,19 @@ +// Check that assignment patterns cannot reference automatic variables in +// procedural force statements. + +module test; + + reg [3:0] result; + + task automatic t; + input [3:0] value; + begin + force result = '{value[3], value[2], value[1], value[0]}; + end + endtask + + initial begin + t(4'ha); + end + +endmodule diff --git a/ivtest/regress-vvp.list b/ivtest/regress-vvp.list index 424ce1cc6..d9db19f54 100644 --- a/ivtest/regress-vvp.list +++ b/ivtest/regress-vvp.list @@ -259,6 +259,7 @@ sv_array_cassign9 vvp_tests/sv_array_cassign9.json sv_array_cassign10 vvp_tests/sv_array_cassign10.json sv_array_cassign_single vvp_tests/sv_array_cassign_single.json sv_array_cassign_single_fail1 vvp_tests/sv_array_cassign_single_fail1.json +sv_assign_pattern_auto_force_fail vvp_tests/sv_assign_pattern_auto_force_fail.json sv_automatic_2state vvp_tests/sv_automatic_2state.json sv_bad_member_lval_proc_fail vvp_tests/sv_bad_member_lval_proc_fail.json sv_byte_array_string1 vvp_tests/sv_byte_array_string1.json diff --git a/ivtest/vvp_tests/sv_assign_pattern_auto_force_fail.json b/ivtest/vvp_tests/sv_assign_pattern_auto_force_fail.json new file mode 100644 index 000000000..29f301d70 --- /dev/null +++ b/ivtest/vvp_tests/sv_assign_pattern_auto_force_fail.json @@ -0,0 +1,5 @@ +{ + "type" : "CE", + "source" : "sv_assign_pattern_auto_force_fail.v", + "iverilog-args" : [ "-g2005-sv" ] +}