3 -- Grant of Unlimited Rights
5 -- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
6 -- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
7 -- unlimited rights in the software and documentation contained herein.
8 -- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
9 -- this public release, the Government intends to confer upon all
10 -- recipients unlimited rights equal to those held by the Government.
11 -- These rights include rights to use, duplicate, release or disclose the
12 -- released technical data and computer software in whole or in part, in
13 -- any manner and for any purpose whatsoever, and to have or permit others
18 -- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
19 -- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
20 -- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
21 -- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
22 -- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
23 -- PARTICULAR PURPOSE OF SAID MATERIAL.
25 -- CHECK THAT A FULL DECLARATION FOR A PRIVATE TYPE OR FOR A LIMITED
26 -- PRIVATE TYPE CAN BE GIVEN IN TERMS OF ANY SCALAR TYPE, ARRAY TYPE,
27 -- RECORD TYPE (WITH OR WITHOUT DISCRIMINANTS), ACCESS TYPE (WITH
28 -- OR WITHOUT DISCRIMINANTS), OR ANY TYPE DERIVED FROM ANY OF THE
31 -- PART A: TYPES NOT INVOLVING FLOATING-POINT DATA OR FIXED-POINT DATA.
44 TEST
( "A74106A" , "CHECK THAT PRIVATE TYPES AND LIMITED PRIVATE " &
45 "TYPES CAN BE DEFINED IN TERMS OF " &
46 "VARIOUS OTHER TYPES" );
50 TYPE ENUM
IS ( A
, B
, C
, D
);
55 TYPE T0
IS NEW INTEGER;
72 TYPE TD
(I
: INTEGER) IS PRIVATE;
74 TYPE ARR_T
IS ARRAY(1..2) OF BOOLEAN;
75 TYPE ACC_T
IS ACCESS CHARACTER;
76 TYPE REC_T
IS RECORD T
: BOOLEAN; END RECORD;
77 TYPE D_REC_T
(I
: INTEGER := 1) IS
78 RECORD T
: ENUM
; END RECORD;
80 TYPE TY
(B
: BOOLEAN) IS
81 RECORD G
: BOOLEAN; END RECORD;
83 TYPE T1
IS RANGE 1..100;
84 TYPE T2
IS NEW CHARACTER RANGE 'A'..'Z';
86 TYPE T4
IS ARRAY(1..2) OF INTEGER;
88 TYPE T6
IS ACCESS ENUM
;
91 RECORD T
: CHARACTER; END RECORD;
94 TYPE TB
IS ACCESS D_REC_T
;
95 TYPE TD
(I
: INTEGER) IS
96 RECORD G
: BOOLEAN; END RECORD;
109 TYPE ENUM
IS ( A
, B
, C
, D
);
112 TYPE T0
IS LIMITED PRIVATE;
119 TYPE T1
IS LIMITED PRIVATE;
120 TYPE T2
IS LIMITED PRIVATE;
121 TYPE T3
IS LIMITED PRIVATE;
122 TYPE T4
IS LIMITED PRIVATE;
123 TYPE T5
IS LIMITED PRIVATE;
124 TYPE T6
IS LIMITED PRIVATE;
125 TYPE T7
IS LIMITED PRIVATE;
126 TYPE T8
IS LIMITED PRIVATE;
127 TYPE T9
IS LIMITED PRIVATE;
128 TYPE TA
IS LIMITED PRIVATE;
129 TYPE TB
IS LIMITED PRIVATE;
130 TYPE TC
IS LIMITED PRIVATE;
131 TYPE TD
(I
: INTEGER) IS LIMITED PRIVATE;
133 TYPE ARR_T
IS ARRAY(1..2) OF BOOLEAN;
134 TYPE ACC_T
IS ACCESS CHARACTER;
135 TYPE REC_T
IS RECORD T
: BOOLEAN; END RECORD;
136 TYPE D_REC_T
(I
: INTEGER := 1) IS
137 RECORD T
: ENUM
; END RECORD;
139 TYPE TY
(B
: BOOLEAN) IS
140 RECORD G
: BOOLEAN; END RECORD;
142 TYPE T1
IS RANGE 1..100;
143 TYPE T2
IS NEW CHARACTER RANGE 'A'..'Z';
145 TYPE T4
IS ARRAY(1..2) OF INTEGER;
146 TYPE T5
IS NEW ARR_T
;
147 TYPE T6
IS ACCESS ENUM
;
148 TYPE T7
IS NEW ACC_T
;
149 TYPE T8
IS RECORD T
: CHARACTER; END RECORD;
150 TYPE T9
IS NEW REC_T
;
151 TYPE TA
IS ACCESS TD
;
152 TYPE TB
IS ACCESS D_REC_T
;
153 TYPE TD
(I
: INTEGER) IS
154 RECORD G
: BOOLEAN; END RECORD;