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