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 'POS' AND 'VAL' YIELD THE CORRECT RESULTS WHEN
26 -- THE PREFIX IS A FORMAL DISCRETE TYPE WHOSE ACTUAL ARGUMENT IS
27 -- AN ENUMERATION TYPE OTHER THAN A BOOLEAN OR A CHARACTER TYPE.
31 WITH REPORT
; USE REPORT
;
35 TYPE ENUM
IS (A
, BC
, ABC
, A_B_C
, ABCD
);
36 SUBTYPE SUBENUM
IS ENUM
RANGE A
.. BC
;
38 TYPE NEWENUM
IS NEW ENUM
;
39 SUBTYPE SUBNEW
IS NEWENUM
RANGE A
.. BC
;
42 TEST
("C35502L", "CHECK THAT 'POS' AND 'VAL' YIELD THE " &
43 "CORRECT RESULTS WHEN THE PREFIX IS A " &
44 "FORMAL DISCRETE TYPE WHOSE ACTUAL ARGUMENT " &
45 "IS AN ENUMERATION TYPE OTHER THAN A " &
46 "CHARACTER OR A BOOLEAN TYPE" );
56 SUBTYPE SE
IS E
RANGE E
'VAL(0) .. E
'VAL(1);
64 IF SE
'POS (E1
) /= POSITION
THEN
65 FAILED
( "INCORRECT SE'POS (" &
69 IF SE
'VAL (POSITION
) /= E1
THEN
70 FAILED
( "INCORRECT " & STR
& "'VAL (" &
71 INTEGER'IMAGE (POSITION
) &
75 POSITION
:= POSITION
+ 1;
79 IF E
'VAL (-1) = E
'VAL (1) THEN
80 FAILED
( "NO EXCEPTION RAISED FOR " &
81 STR
& "'VAL (-1) - 1" );
83 FAILED
( "NO EXCEPTION RAISED FOR " &
84 STR
& "'VAL (-1) - 2" );
87 WHEN CONSTRAINT_ERROR
=>
90 FAILED
( "WRONG EXCEPTION RAISED FOR " &
95 IF E
'VAL (5) = E
'VAL (4) THEN
96 FAILED
( "NO EXCEPTION RAISED FOR " &
97 STR
& "'VAL (5) - 1" );
99 FAILED
( "NO EXCEPTION RAISED FOR " &
100 STR
& "'VAL (5) - 2" );
103 WHEN CONSTRAINT_ERROR
=>
106 FAILED
( "WRONG EXCEPTION RAISED FOR " &
111 PROCEDURE PE
IS NEW P
( ENUM
, "ENUM" );
112 PROCEDURE PN
IS NEW P
( NEWENUM
, "NEWENUM" );
121 FUNCTION F
(E1
: E
) RETURN BOOLEAN;
123 FUNCTION F
(E1
: E
) RETURN BOOLEAN IS
125 RETURN E
'VAL (0) = E1
;
128 FUNCTION FE
IS NEW F
(ENUM
);
133 FUNCTION A_B_C
RETURN ENUM
IS
135 RETURN ENUM
'VAL (IDENT_INT
(0));
141 FAILED
( "INCORRECT VAL FOR A_B_C WHEN HIDDEN " &
145 IF FE
(C35502L
.A_B_C
) THEN
146 FAILED
( "INCORRECT VAL FOR C35502L.A_B_C" );