aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/gna/bug02/repro3.vhdl
blob: 31d489224df6195f0c6570e26c37d08a5f065f95 (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
42
43
44
45
46
47
48
49
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;