entity repro3 is end repro3; package repro3_pkg is procedure inc (a : inout integer); type prot is protected procedure get (a : integer); end protected prot; end repro3_pkg; package body repro3_pkg is procedure inc (a : inout integer) is begin a := a + 1; end inc; procedure inc (a : inout time) is begin a := a + 1 ns; end inc; type prot is protected body variable v : integer; function inc (a : integer) return integer is begin return a + 1; end inc; procedure get (a : integer) is begin v := a; end get; end protected body prot; end repro3_pkg; use work.repro3_pkg.all; architecture behav of repro3 is begin -- behav process variable a : integer := 2; begin inc (a); assert a = 3 report "bad value of a"; wait; end process; end behav;