Add regression test for logic class property default value

Check that class logic class properties get initialized to 'x.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
This commit is contained in:
Lars-Peter Clausen 2025-01-05 09:43:13 -08:00
parent 4854de06ca
commit c22b375c86
3 changed files with 34 additions and 0 deletions

View File

@ -0,0 +1,28 @@
// Check that logic class properties are initialized to 'x.
module test;
bit failed = 1'b0;
`define check(val, exp) do \
if (val != exp) begin \
$display("FAILED(%0d). '%s' expected %d, got %d", `__LINE__, `"val`", exp, val); \
failed = 1'b1; \
end \
while(0)
class C;
logic [31:0] x;
endclass
C c;
initial begin
c = new;
`check(c.x, 32'hxx);
if (!failed) begin
$display("PASSED");
end
end
endmodule

View File

@ -222,6 +222,7 @@ sv_chained_constructor2 vvp_tests/sv_chained_constructor2.json
sv_chained_constructor3 vvp_tests/sv_chained_constructor3.json
sv_chained_constructor4 vvp_tests/sv_chained_constructor4.json
sv_chained_constructor5 vvp_tests/sv_chained_constructor5.json
sv_class_prop_logic vvp_tests/sv_class_prop_logic.json
sv_const1 vvp_tests/sv_const1.json
sv_const2 vvp_tests/sv_const2.json
sv_const3 vvp_tests/sv_const3.json

View File

@ -0,0 +1,5 @@
{
"type" : "normal",
"source" : "sv_class_prop_logic.v",
"iverilog-args" : [ "-g2005-sv" ]
}