'instance_name and 'path_name for dynamically allocated protected type
LCS2016_032 extends 'instance_name and 'path_name for protected type variables to "include the package or full instance path to the variable of the protected type". However LCS2016_014a allows us to allocate instances of a protected type dynamically without an associated variable, so what should the value of these attributes be in that case?
entity protected13 is
end entity;
architecture test of protected13 is
type t_test is protected
impure function get_path return string;
end protected;
type t_test is protected body
variable v : integer;
impure function get_path return string is
begin
return v'path_name;
end function;
end protected body;
type t_test_ptr is access t_test;
impure function make_test return t_test_ptr is
begin
return new t_test;
end function;
begin
p1: process is
begin
report make_test.get_path;
wait;
end process;
end architecture;NVC currently prints :protected13:make_test[return t_test_ptr]::v (i.e. the path to the point where it was allocated, with an empty name).
Edited by Nick Gasson