diff --git a/ivtest/ivltests/sv_class_return.v b/ivtest/ivltests/sv_class_return.v new file mode 100644 index 000000000..e032cbf7c --- /dev/null +++ b/ivtest/ivltests/sv_class_return.v @@ -0,0 +1,29 @@ +// Check that functions returning a class object are supported + +module test; + + class C; + int i; + task t; + if (i == 10) begin + $display("PASSED"); + end else begin + $display("FAILED"); + end + endtask + endclass + + function C f; + C c; + c = new; + c.i = 10; + return c; + endfunction + + initial begin + C c; + c = f(); + c.t; + end + +endmodule diff --git a/ivtest/regress-sv.list b/ivtest/regress-sv.list index acc997669..5a706cf1d 100644 --- a/ivtest/regress-sv.list +++ b/ivtest/regress-sv.list @@ -532,6 +532,7 @@ sv_class_property_signed1 normal,-g2009 ivltests sv_class_property_signed2 normal,-g2009 ivltests sv_class_property_signed3 normal,-g2009 ivltests sv_class_property_signed4 normal,-g2009 ivltests +sv_class_return normal,-g2009 ivltests sv_class_static_prop1 normal,-g2009 ivltests sv_class_static_prop2 normal,-g2009 ivltests sv_class_static_prop3 normal,-g2009 ivltests