2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / ada / acats / tests / cd / cd5003i.ada
blob7ea6dc71578193e05b541e57e157bb368aeeefca
1 -- CD5003I.ADA
3 -- Grant of Unlimited Rights
4 --
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
14 -- to do so.
16 -- DISCLAIMER
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.
24 --*
25 -- OBJECTIVE:
26 -- CHECK THAT A 'WITH' CLAUSE NAMING 'SYSTEM' NEED NOT BE GIVEN
27 -- FOR A GENERIC PROCEDURE BODY SUBUNIT CONTAINING AN ADDRESS
28 -- CLAUSE AS LONG AS A 'WITH' CLAUSE IS GIVEN FOR THE UNIT
29 -- CONTAINING THE GENERIC PROCEDURE SPECIFICATION.
31 -- HISTORY:
32 -- VCL 09/09/87 CREATED ORIGINAL TEST.
33 -- PWB 05/11/89 CHANGED EXTENSION FROM '.DEP' TO '.ADA'.
35 PACKAGE CD5003I_PACK3 IS
36 GENERIC
37 PROCEDURE PROC2;
38 END CD5003I_PACK3;
40 WITH SYSTEM;
41 PACKAGE BODY CD5003I_PACK3 IS
42 PROCEDURE PROC2 IS SEPARATE;
43 END CD5003I_PACK3;
45 WITH SPPRT13;
46 WITH REPORT; USE REPORT;
47 PRAGMA ELABORATE (SPPRT13);
48 PRAGMA ELABORATE (REPORT);
49 SEPARATE (CD5003I_PACK3)
50 PROCEDURE PROC2 IS
51 TYPE FIXD IS DELTA 0.1 RANGE -10.0 .. 10.0;
53 TEST_VAR : FIXD;
54 FOR TEST_VAR
55 USE AT SPPRT13.VARIABLE_ADDRESS;
57 USE SYSTEM;
59 FUNCTION IDENT (P : FIXD) RETURN FIXD IS
60 BEGIN
61 IF EQUAL (3, 3) THEN
62 RETURN P;
63 ELSE
64 RETURN 0.0;
65 END IF;
66 END IDENT;
67 BEGIN
68 TEST ("CD5003I", "A 'WITH' CLAUSE NAMING 'SYSTEM' NEED NOT BE " &
69 "GIVEN FOR A GENERIC PROCEDURE BODY SUBUNIT " &
70 "CONTAINING AN ADDRESS CLAUSE AS LONG AS A " &
71 "'WITH' CLAUSE IS GIVEN FOR THE UNIT " &
72 "CONTAINING THE GENERIC PROCEDURE SPECIFICATION");
74 TEST_VAR := IDENT (3.3);
76 IF TEST_VAR /= 3.3 THEN
77 FAILED ("INCORRECT VALUE FOR TEST_VAR");
78 END IF;
80 IF TEST_VAR'ADDRESS /= SPPRT13.VARIABLE_ADDRESS THEN
81 FAILED ("INCORRECT ADDRESS FOR TEST_VAR");
82 END IF;
84 RESULT;
85 END PROC2;
87 WITH CD5003I_PACK3; USE CD5003I_PACK3;
88 WITH REPORT; USE REPORT;
89 PRAGMA ELABORATE (REPORT);
90 PROCEDURE CD5003I IS
91 PROCEDURE PROC3 IS NEW PROC2;
92 BEGIN
93 PROC3;
94 END CD5003I;