Add regression test for module port with vector typedef
Check that for a module port with a vector type identifier the type is elaborated in the scope where it is declared rather than the scope of the module port. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
This commit is contained in:
parent
b7fce4a66e
commit
54afdc1e6b
|
|
@ -0,0 +1,29 @@
|
|||
// Check that a packed array type identifier used for a module port is
|
||||
// elaborated in the correct scope.
|
||||
|
||||
localparam A = 2;
|
||||
|
||||
typedef logic [A-1:0] T;
|
||||
|
||||
module test (
|
||||
input T x
|
||||
);
|
||||
|
||||
localparam A = 5;
|
||||
|
||||
bit failed = 1'b0;
|
||||
|
||||
`define check(expr, val) \
|
||||
if (expr !== val) begin \
|
||||
$display("FAILED: %s, expected %0d, got %0d", `"expr`", val, expr); \
|
||||
failed = 1'b1; \
|
||||
end
|
||||
|
||||
initial begin
|
||||
`check($bits(x), 2);
|
||||
if (!failed) begin
|
||||
$display("PASSED");
|
||||
end
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
|
@ -371,6 +371,7 @@ module_nonansi_struct_fail CE,-g2005-sv ivltests
|
|||
module_output_port_sv_var1 normal,-g2005-sv ivltests
|
||||
module_output_port_sv_var2 normal,-g2005-sv ivltests
|
||||
module_port_typedef_array1 normal,-g2005-sv ivltests
|
||||
module_port_typedef_vector normal,-g2005-sv ivltests
|
||||
named_begin normal,-g2009 ivltests
|
||||
named_begin_fail CE,-g2009 ivltests
|
||||
named_fork normal,-g2009 ivltests
|
||||
|
|
|
|||
Loading…
Reference in New Issue