Add regression test for package names shadowing type identifiers
Check that a package declaration can use a visible type identifier as its package name. Also check that the resulting package scope can be selected with a scope-qualified reference. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
This commit is contained in:
parent
ca5c6fc59f
commit
15277c9fa4
|
|
@ -0,0 +1,30 @@
|
|||
// Check that package names can shadow visible type identifiers.
|
||||
|
||||
package p;
|
||||
typedef int T;
|
||||
endpackage
|
||||
|
||||
import p::*;
|
||||
|
||||
package T;
|
||||
parameter int VALUE = 23;
|
||||
endpackage
|
||||
|
||||
module test;
|
||||
|
||||
reg failed;
|
||||
|
||||
initial begin
|
||||
failed = 1'b0;
|
||||
|
||||
if (T::VALUE !== 23) begin
|
||||
$display("FAILED(%0d). Package name did not hide typedef", `__LINE__);
|
||||
failed = 1'b1;
|
||||
end
|
||||
|
||||
if (!failed) begin
|
||||
$display("PASSED");
|
||||
end
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
|
@ -395,6 +395,7 @@ sv_type_identifier_modport_name vvp_tests/sv_type_identifier_modport_name.json
|
|||
sv_type_identifier_module_name vvp_tests/sv_type_identifier_module_name.json
|
||||
sv_type_identifier_net_name vvp_tests/sv_type_identifier_net_name.json
|
||||
sv_type_identifier_package_item vvp_tests/sv_type_identifier_package_item.json
|
||||
sv_type_identifier_package_name vvp_tests/sv_type_identifier_package_name.json
|
||||
sv_type_identifier_parameter_decl_name vvp_tests/sv_type_identifier_parameter_decl_name.json
|
||||
sv_type_identifier_parameter_port_name vvp_tests/sv_type_identifier_parameter_port_name.json
|
||||
sv_type_identifier_parameter_type_decl_name vvp_tests/sv_type_identifier_parameter_type_decl_name.json
|
||||
|
|
|
|||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"type" : "normal",
|
||||
"source" : "sv_type_identifier_package_name.v",
|
||||
"iverilog-args" : [ "-g2005-sv" ]
|
||||
}
|
||||
Loading…
Reference in New Issue