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 'FIRST' AND 'LAST' YIELD THE CORRECT RESULTS WHEN THE
27 -- PREFIX IS A GENERIC FORMAL DISCRETE TYPE WHOSE ACTUAL PARAMETER
31 -- RJW 03/19/86 CREATED ORIGINAL TEST.
32 -- DHH 10/19/87 SHORTENED LINES CONTAINING MORE THAN 72 CHARACTERS.
34 WITH REPORT
; USE REPORT
;
39 TEST
("C35508P", "CHECK THAT 'FIRST' AND 'LAST' YIELD THE " &
40 "CORRECT RESULTS WHEN THE PREFIX IS A " &
41 "GENERIC FORMAL DISCRETE TYPE WHOSE ACTUAL " &
42 "PARAMETER IS A BOOLEAN TYPE" );
44 SUBTYPE TBOOL
IS BOOLEAN
45 RANGE IDENT_BOOL
(TRUE) .. IDENT_BOOL
(TRUE);
46 SUBTYPE FBOOL
IS BOOLEAN
47 RANGE IDENT_BOOL
(FALSE) .. IDENT_BOOL
(FALSE);
48 SUBTYPE NOBOOL
IS BOOLEAN
49 RANGE IDENT_BOOL
(TRUE) .. IDENT_BOOL
(FALSE);
50 TYPE NEWBOOL
IS NEW BOOLEAN;
55 PROCEDURE P
( STR
: STRING );
57 PROCEDURE P
( STR
: STRING ) IS
59 IF BOOL
'FIRST /= F
THEN
60 FAILED
( "WRONG VALUE FOR " & STR
& "'FIRST" );
62 IF BOOL
'LAST /= L
THEN
63 FAILED
( "WRONG VALUE FOR " & STR
& "'LAST" );
73 IF BOOL
'FIRST /= BOOL
'VAL (IDENT_INT
(1)) THEN
74 FAILED
( "WRONG 'FIRST FOR NOBOOL" );
76 IF BOOL
'LAST /= BOOL
'VAL (IDENT_INT
(0)) THEN
77 FAILED
( "WRONG 'LAST FOR NOBOOL" );
88 RANGE BOOL
'VAL (0) .. BOOL
'VAL (1);
90 IF SBOOL
'FIRST /= F
THEN
91 FAILED
( "WRONG VALUE FOR BOOLEAN'FIRST AS " &
94 IF SBOOL
'LAST /= L
THEN
95 FAILED
( "WRONG VALUE FOR BOOLEAN'LAST AS " &
100 PROCEDURE P1
IS NEW P
101 ( BOOL
=> BOOLEAN, F
=> IDENT_BOOL
(FALSE),
102 L
=> IDENT_BOOL
(TRUE) );
104 PROCEDURE P2
IS NEW P
105 ( BOOL
=> TBOOL
, F
=> IDENT_BOOL
(TRUE),
106 L
=> IDENT_BOOL
(TRUE) );
108 PROCEDURE P3
IS NEW P
109 ( BOOL
=> FBOOL
, F
=> IDENT_BOOL
(FALSE),
110 L
=> IDENT_BOOL
(FALSE) );
112 PROCEDURE P4
IS NEW P
113 (BOOL
=> NEWBOOL
, F
=> FALSE, L
=> TRUE );
115 PROCEDURE Q1
IS NEW Q
118 PROCEDURE R1
IS NEW R
119 ( BOOL
=> BOOLEAN, F
=> FALSE, L
=> TRUE );