aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/gna/issue2196/def_err2.vhdl
blob: f992e43b91d4ac013b45bdd75c171ccdbadb7985 (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
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity def_err2 is
end entity;

architecture test of def_err2 is

type SharedCounter is protected
procedure increment (N: Integer := 1);
procedure decrement (N: Integer := 1);
impure function value return Integer;
end protected SharedCounter;

type SharedCounter is protected body
variable counter: Integer := 0;
procedure increment (N: Integer := 1) is
begin
counter := counter + N;
end procedure increment;
procedure decrement (N: Integer := 1) is
begin
counter := counter - N;
end procedure decrement;
impure function value return Integer is
begin
return counter;
end function value;
end protected body;

subtype mc_t is SharedCounter;

type shared_cnt_lst is array(natural range <>) of mc_t;

begin

stim1: process

begin

wait;
end process;

end test;