lustrec-tests / vhdl_json / vhdl_files / 2-exportOK / ghdl / ghdl / testsuite / vests / vhdl-93 / billowitch / compliant / tc1139.vhd @ 3fd18385
History | View | Annotate | Download (2.24 KB)
1 | 3fd18385 | Arnaud Dieumegard | |
---|---|---|---|
2 | -- Copyright (C) 2001 Bill Billowitch. |
||
3 | |||
4 | -- Some of the work to develop this test suite was done with Air Force |
||
5 | -- support. The Air Force and Bill Billowitch assume no |
||
6 | -- responsibilities for this software. |
||
7 | |||
8 | -- This file is part of VESTs (Vhdl tESTs). |
||
9 | |||
10 | -- VESTs is free software; you can redistribute it and/or modify it |
||
11 | -- under the terms of the GNU General Public License as published by the |
||
12 | -- Free Software Foundation; either version 2 of the License, or (at |
||
13 | -- your option) any later version. |
||
14 | |||
15 | -- VESTs is distributed in the hope that it will be useful, but WITHOUT |
||
16 | -- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
||
17 | -- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
||
18 | -- for more details. |
||
19 | |||
20 | -- You should have received a copy of the GNU General Public License |
||
21 | -- along with VESTs; if not, write to the Free Software Foundation, |
||
22 | -- Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
||
23 | |||
24 | -- --------------------------------------------------------------------- |
||
25 | -- |
||
26 | -- $Id: tc1139.vhd,v 1.2 2001-10-26 16:29:39 paw Exp $ |
||
27 | -- $Revision: 1.2 $ |
||
28 | -- |
||
29 | -- --------------------------------------------------------------------- |
||
30 | |||
31 | ENTITY c06s05b00x00p05n02i01139ent IS |
||
32 | END c06s05b00x00p05n02i01139ent; |
||
33 | |||
34 | ARCHITECTURE c06s05b00x00p05n02i01139arch OF c06s05b00x00p05n02i01139ent IS |
||
35 | |||
36 | BEGIN |
||
37 | TESTING: PROCESS |
||
38 | type ENUM1 is (M1, M2, M3, M4, M5); |
||
39 | type ABASE is array (ENUM1 range <>) of BOOLEAN; |
||
40 | subtype A1 is ABASE(ENUM1 range M1 to M5); |
||
41 | function F(i : integer) return ENUM1 is |
||
42 | begin |
||
43 | return M2; |
||
44 | end F; |
||
45 | |||
46 | function G(j : integer) return ENUM1 is |
||
47 | begin |
||
48 | return M4; |
||
49 | end G; |
||
50 | variable ii : integer; |
||
51 | variable jj : integer; |
||
52 | variable V1 : A1 ; -- := (others=>TRUE); |
||
53 | variable V4 : A1 ; -- := (others=>TRUE); |
||
54 | variable V2, V3: ENUM1; |
||
55 | BEGIN |
||
56 | V1(M1 to M3) := V1(F(ii) to G(jj)); |
||
57 | assert NOT(V1(M1 to M3)=(false,false,false)) |
||
58 | report "***PASSED TEST: c06s05b00x00p05n02i01139" |
||
59 | severity NOTE; |
||
60 | assert (V1(M1 to M3)=(false,false,false)) |
||
61 | report "***FAILED TEST: c06s05b00x00p05n02i01139 - Dynamic expressions are permitted in lower and upper bounds in range specifications in array slices." |
||
62 | severity ERROR; |
||
63 | wait; |
||
64 | END PROCESS TESTING; |
||
65 | |||
66 | END c06s05b00x00p05n02i01139arch; |