1entity repro3 is
2
3end repro3;
4
5package repro3_pkg is
6  procedure inc (a : inout integer);
7  type prot is protected
8    procedure get (a : integer);
9  end protected prot;
10end repro3_pkg;
11
12package body repro3_pkg is
13  procedure inc (a : inout integer) is
14  begin
15    a := a + 1;
16  end inc;
17
18  procedure inc (a : inout time) is
19  begin
20    a := a + 1 ns;
21  end inc;
22
23  type prot is protected body
24    variable v : integer;
25
26    function inc (a : integer) return integer is
27    begin
28      return a + 1;
29    end inc;
30
31    procedure get (a : integer) is
32    begin
33      v := a;
34    end get;
35  end protected body prot;
36
37end repro3_pkg;
38
39use work.repro3_pkg.all;
40architecture behav of repro3 is
41begin  -- behav
42  process
43    variable a : integer := 2;
44  begin
45    inc (a);
46    assert a = 3 report "bad value of a";
47    wait;
48  end process;
49end behav;
50