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.
26 -- CHECK THAT IF A CASE EXPRESSION IS A FUNCTION INVOCATION,
27 -- ATTRIBUTE, STATIC EXPRESSION, OR ONE OF THESE IN PARENTHESES,
28 -- THEN ANY VALUE OF THE EXPRESSION'S BASE TYPE MAY APPEAR AS A
32 -- BCB 07/19/88 CREATED ORIGINAL TEST.
33 -- PWN 02/02/95 REMOVED INCONSISTENCIES WITH ADA 9X.
34 -- GJD 11/15/95 REMOVED ADA 95 INCOMPATIBLE ALTERNATIVE IN FIRST CASE.
36 WITH REPORT
; USE REPORT
;
40 SUBTYPE INT
IS INTEGER RANGE -100 .. 100;
42 CONS
: CONSTANT INT
:= 0;
46 TYPE ENUM
IS (ONE
, TWO
, THREE
, FOUR
, FIVE
, SIX
);
48 SUBTYPE SUBENUM
IS ENUM
RANGE THREE
.. FOUR
;
50 FUNCTION FUNC
RETURN INT
IS
56 TEST
("C54A13D", "CHECK THAT IF A CASE EXPRESSION IS A FUNCTION " &
57 "INVOCATION, ATTRIBUTE, STATIC EXPRESSION, OR " &
58 "ONE OF THESE IN PARENTHESES, THEN ANY VALUE " &
59 "OF THE EXPRESSION'S BASE TYPE MAY APPEAR AS " &
63 WHEN 0 => C
:= IDENT_INT
(5);
64 WHEN 100 => C
:= IDENT_INT
(10);
65 WHEN OTHERS => C
:= IDENT_INT
(20);
68 IF NOT EQUAL
(C
,5) THEN
69 FAILED
("IMPROPER CHOICE FOR CASE EXPRESSION WHICH IS A " &
70 "FUNCTION INVOCATION - 1");
74 WHEN 0 => C
:= IDENT_INT
(25);
75 WHEN 100 => C
:= IDENT_INT
(50);
76 WHEN -3000 => C
:= IDENT_INT
(75);
77 WHEN OTHERS => C
:= IDENT_INT
(90);
80 IF NOT EQUAL
(C
,25) THEN
81 FAILED
("IMPROPER CHOICE FOR CASE EXPRESSION WHICH IS A " &
82 "FUNCTION INVOCATION - 2");
86 WHEN ONE
=> C
:= IDENT_INT
(100);
87 WHEN TWO
=> C
:= IDENT_INT
(99);
88 WHEN THREE
=> C
:= IDENT_INT
(98);
89 WHEN FOUR
=> C
:= IDENT_INT
(97);
90 WHEN FIVE
=> C
:= IDENT_INT
(96);
91 WHEN SIX
=> C
:= IDENT_INT
(95);
94 IF NOT EQUAL
(C
,98) THEN
95 FAILED
("IMPROPER CHOICE FOR CASE EXPRESSION WHICH IS AN " &
99 CASE (SUBENUM
'FIRST) IS
100 WHEN ONE
=> C
:= IDENT_INT
(90);
101 WHEN TWO
=> C
:= IDENT_INT
(89);
102 WHEN THREE
=> C
:= IDENT_INT
(88);
103 WHEN FOUR
=> C
:= IDENT_INT
(87);
104 WHEN FIVE
=> C
:= IDENT_INT
(86);
105 WHEN SIX
=> C
:= IDENT_INT
(85);
108 IF NOT EQUAL
(C
,88) THEN
109 FAILED
("IMPROPER CHOICE FOR CASE EXPRESSION WHICH IS AN " &
114 WHEN 0 => C
:= IDENT_INT
(1);
115 WHEN 100 => C
:= IDENT_INT
(2);
116 WHEN -3000 => C
:= IDENT_INT
(3);
117 WHEN OTHERS => C
:= IDENT_INT
(4);
120 IF NOT EQUAL
(C
,1) THEN
121 FAILED
("IMPROPER CHOICE FOR CASE EXPRESSION WHICH IS A " &
122 "STATIC EXPRESSION - 1");
126 WHEN 0 => C
:= IDENT_INT
(10);
127 WHEN 100 => C
:= IDENT_INT
(20);
128 WHEN -3000 => C
:= IDENT_INT
(30);
129 WHEN OTHERS => C
:= IDENT_INT
(40);
132 IF NOT EQUAL
(C
,10) THEN
133 FAILED
("IMPROPER CHOICE FOR CASE EXPRESSION WHICH IS A " &
134 "STATIC EXPRESSION - 2");