Add regression test for passing struct members to system functions
Check that the signedness of a struct member is properly handled when being passed to a system function. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
This commit is contained in:
parent
d3573334d6
commit
61549165cf
|
|
@ -0,0 +1,46 @@
|
|||
// Check that the signedness of a struct member is handled correctly when passed
|
||||
// to a system function
|
||||
|
||||
module test;
|
||||
|
||||
bit failed = 1'b0;
|
||||
|
||||
struct packed {
|
||||
int s;
|
||||
int unsigned u;
|
||||
} x;
|
||||
|
||||
int s;
|
||||
int unsigned u;
|
||||
|
||||
logic [16*8-1:0] s1;
|
||||
logic [16*8-1:0] s2;
|
||||
|
||||
initial begin
|
||||
u = -10;
|
||||
s = -20;
|
||||
x.u = u;
|
||||
x.s = s;
|
||||
|
||||
$swrite(s1, s);
|
||||
$swrite(s2, x.s);
|
||||
|
||||
if (s1 != s2) begin
|
||||
failed = 1'b1;
|
||||
$display("FAILED. Expected %s, got %s.", s1, s2);
|
||||
end
|
||||
|
||||
$swrite(s1, u);
|
||||
$swrite(s2, x.u);
|
||||
|
||||
if (s1 != s2) begin
|
||||
failed = 1'b1;
|
||||
$display("FAILED. Expected %s, got %s.", s1, s2);
|
||||
end
|
||||
|
||||
if (!failed) begin
|
||||
$display("PASSED");
|
||||
end
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
|
@ -456,6 +456,7 @@ struct_member_signed normal,-g2009 ivltests
|
|||
struct_packed_array normal,-g2009 ivltests
|
||||
struct_packed_array2 normal,-g2009 ivltests
|
||||
struct_packed_sysfunct normal,-g2009 ivltests
|
||||
struct_packed_sysfunct2 normal,-g2009 ivltests
|
||||
struct_packed_write_read2 normal,-g2009 ivltests
|
||||
struct_invalid_member CE,-g2009 ivltests gold=struct_invalid_member.gold
|
||||
struct_signed normal,-g2009 ivltests
|
||||
|
|
|
|||
|
|
@ -927,6 +927,7 @@ size_cast5 normal,-g2009,-pallowsigned=1 ivltests
|
|||
struct_member_signed normal,-g2009,-pallowsigned=1 ivltests
|
||||
struct_packed_array normal,-g2009,-pallowsigned=1 ivltests
|
||||
struct_packed_array2 normal,-g2009,-pallowsigned=1 ivltests
|
||||
struct_packed_sysfunct2 normal,-g2009,-pallowsigned=1 ivltests
|
||||
struct_signed normal,-g2009,-pallowsigned=1 ivltests
|
||||
sv_for_variable normal,-g2009,-pallowsigned=1 ivltests
|
||||
sv_foreach1 normal,-g2009,-pallowsigned=1 ivltests
|
||||
|
|
|
|||
Loading…
Reference in New Issue