1package pkg is 2 type rec_t is record 3 boolean_field : boolean; 4 integer_field : integer; 5 end record; 6 7 type other_rec_t is record 8 integer_field : integer; 9 end record; 10 11 type protected_t is protected 12 end protected protected_t; 13 14 procedure proc(variable prot : inout protected_t; variable rec : inout rec_t); 15 procedure proc(variable prot : inout protected_t; variable rec : inout other_rec_t); 16end package; 17 18package body pkg is 19 type protected_t is protected body 20 end protected body protected_t; 21 22 procedure proc (variable prot : inout protected_t; variable rec : inout rec_t) is 23 begin 24 end; 25 26 procedure proc(variable prot : inout protected_t; variable rec : inout other_rec_t) is 27 begin 28 end; 29end package body; 30 31use work.pkg.all; 32 33package other_pkg is 34 shared variable default_prot : protected_t; 35 36 procedure other_proc(variable rec : inout rec_t); 37 alias other_proc is proc[protected_t, rec_t]; 38 39 procedure other_proc(variable rec : inout other_rec_t); 40 alias other_proc is proc[protected_t, other_rec_t]; 41end package; 42