Add regression test for calling void functions from class method
Check that it is possible to call a void function from a class method. Check this for both functions defined in the global scope as well as functions that are methods of the class or a base class. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
This commit is contained in:
parent
85edd8bb18
commit
9107e298a3
|
|
@ -0,0 +1,46 @@
|
|||
// Check that it is possible to call void function from within a class method.
|
||||
// Check this for functions defined outside the class as well as functions that
|
||||
// are methods of the class or base class.
|
||||
|
||||
integer sum = 0;
|
||||
|
||||
function void f1(integer x);
|
||||
sum += x;
|
||||
endfunction
|
||||
|
||||
class B;
|
||||
function void f2(integer x);
|
||||
sum += x;
|
||||
endfunction
|
||||
endclass
|
||||
|
||||
class C extends B;
|
||||
|
||||
function void f3(integer x);
|
||||
sum += x;
|
||||
endfunction
|
||||
|
||||
task t;
|
||||
f1(10);
|
||||
f2(20);
|
||||
f3(30);
|
||||
endtask
|
||||
|
||||
endclass
|
||||
|
||||
module test;
|
||||
|
||||
C c = new;
|
||||
|
||||
initial begin
|
||||
c.t;
|
||||
c.f2(40);
|
||||
c.f3(50);
|
||||
if (sum === 150) begin
|
||||
$display("PASSED");
|
||||
end else begin
|
||||
$display("FAILED");
|
||||
end
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
|
@ -529,6 +529,7 @@ sv_class_new_fail1 CE,-g2009 ivltests
|
|||
sv_class_new_fail2 CE,-g2009 ivltests
|
||||
sv_class_new_init normal,-g2009 ivltests
|
||||
sv_class_in_module_decl normal,-g2009 ivltests
|
||||
sv_class_method_call_void normal,-g2009 ivltests
|
||||
sv_class_method_default1 normal,-g2009 ivltests
|
||||
sv_class_method_default2 normal,-g2009 ivltests
|
||||
sv_class_method_signed1 normal,-g2009 ivltests
|
||||
|
|
|
|||
|
|
@ -409,6 +409,7 @@ sv_class_extends_scoped CE,-g2009 ivltests
|
|||
sv_class_localparam CE,-g2009 ivltests
|
||||
sv_class_new_init CE,-g2009 ivltests
|
||||
sv_class_in_module_decl CE,-g2009 ivltests
|
||||
sv_class_method_call_void CE,-g2009 ivltests
|
||||
sv_class_method_default1 CE,-g2009 ivltests
|
||||
sv_class_method_default2 CE,-g2009 ivltests
|
||||
sv_class_method_signed1 CE,-g2009,-pallowsigned=1 ivltests
|
||||
|
|
|
|||
Loading…
Reference in New Issue