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 PROGRAM_ERROR IS RAISED IF AN ATTEMPT IS MADE TO CALL A
26 -- SUBPROGRAM WHOSE BODY HAS NOT YET BEEN ELABORATED. CHECK THE
28 -- A) A FUNCTION IS CALLED IN THE INITIALIZATION EXPRESSION OF A
29 -- SCALAR VARIABLE OR A RECORD COMPONENT, AND THE SCALAR OR
30 -- RECORD VARIABLE'S DECLARATION IS ELABORATED BEFORE THE
31 -- SUBPROGRAM BODY IS ELABORATED.
35 WITH REPORT
; USE REPORT
;
39 TEST
("C39006A", "CHECK THAT PROGRAM_ERROR IS RAISED IF AN " &
40 "ATTEMPT IS MADE TO CALL A SUBPROGRAM WHOSE " &
41 "BODY HAS NOT YET BEEN ELABORATED");
45 FUNCTION INIT_1
(A
: INTEGER) RETURN INTEGER;
47 VAR1
: INTEGER := INIT_1
(1);
49 FUNCTION INIT_1
(A
: INTEGER) RETURN INTEGER IS
51 RETURN (A
+ IDENT_INT
(1));
55 FAILED
("PROGRAM_ERROR NOT RAISED - 1");
62 FAILED
("UNEXPECTED EXCEPTION RAISED - 1");
68 FUNCTION INIT_2
(A
: INTEGER) RETURN INTEGER;
72 NUMBER
: INTEGER := INIT_2
(2);
77 FUNCTION INIT_2
(A
: INTEGER) RETURN INTEGER IS
79 RETURN (A
+ IDENT_INT
(1));
83 FAILED
("PROGRAM_ERROR NOT RAISED - 2");
90 FAILED
("UNEXPECTED EXCEPTION RAISED - 2");
96 FUNCTION F1
RETURN INTEGER;
102 FUNCTION F1
RETURN INTEGER IS
104 RETURN (IDENT_INT
(1));
108 FAILED
("PROGRAM_ERROR NOT RAISED - 3");
112 WHEN PROGRAM_ERROR
=>
115 FAILED
("UNEXPECTED EXCEPTION RAISED - 3");
122 FUNCTION F2
RETURN INTEGER;
123 VAR2
: INTEGER := F2
;
127 FUNCTION F2
RETURN INTEGER IS
129 RETURN (IDENT_INT
(3));
134 FAILED
("PROGRAM_ERROR NOT RAISED - 4");
138 WHEN PROGRAM_ERROR
=>
141 FAILED
("UNEXPECTED EXCEPTION RAISED - 4");
147 FUNCTION INIT_3
(A
: INTEGER) RETURN INTEGER;
151 VAR1
: INTEGER := INIT_3
(1);
154 PACKAGE NEW_Q
IS NEW Q
;
156 FUNCTION INIT_3
(A
: INTEGER) RETURN INTEGER IS
158 RETURN (A
+ IDENT_INT
(3));
162 FAILED
("PROGRAM_ERROR NOT RAISED - 5");
166 WHEN PROGRAM_ERROR
=>
169 FAILED
("UNEXPECTED EXCEPTION RAISED - 5");
175 FUNCTION FUN
RETURN INTEGER;
179 COMP
: INTEGER := FUN
;
188 PACKAGE INST
IS NEW GP
(PARAM
);
190 FUNCTION FUN
RETURN INTEGER IS
192 RETURN (IDENT_INT
(3));
196 FAILED
("PROGRAM_ERROR NOT RAISED - 6");
200 WHEN PROGRAM_ERROR
=>
203 FAILED
("UNEXPECTED EXCEPTION RAISED - 6");