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