2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / ada / acats / tests / cd / cd5012i.ada
blob1be46d425b6857b61675766f00ab13c1253f73b2
1 -- CD5012I.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 AN ADDRESS CLAUSE CAN BE GIVEN FOR A VARIABLE OF AN
27 -- ACCESS TYPE IN THE DECLARATIVE PART OF A GENERIC SUBPROGRAM.
29 -- HISTORY:
30 -- DHH 09/17/87 CREATED ORIGINAL TEST.
31 -- PWB 05/11/89 CHANGED EXTENSION FROM '.DEP' TO '.ADA'.
33 WITH SYSTEM; USE SYSTEM;
34 WITH REPORT; USE REPORT;
35 WITH SPPRT13;
36 PROCEDURE CD5012I IS
38 BEGIN
40 TEST ("CD5012I", "AN ADDRESS CLAUSE CAN BE " &
41 "GIVEN FOR A VARIABLE OF AN ACCESS " &
42 "TYPE IN THE DECLARATIVE PART OF A " &
43 "GENERIC SUBPROGRAM");
45 DECLARE
47 GENERIC
48 PROCEDURE GENPROC;
50 PROCEDURE GENPROC IS
52 TYPE CELL;
53 TYPE POINTER IS ACCESS CELL;
54 TYPE CELL IS
55 RECORD
56 VALUE : INTEGER;
57 NEXT : POINTER;
58 END RECORD;
60 C,PTR : POINTER := NULL;
62 FOR PTR USE AT
63 SPPRT13.VARIABLE_ADDRESS;
64 BEGIN
65 PTR := NEW CELL'(0,NULL);
66 C := PTR;
68 IF EQUAL (3, 3) THEN
69 PTR.VALUE := 1;
70 PTR.NEXT := C;
71 END IF;
72 IF PTR.ALL /= (1,C) THEN
73 FAILED ("WRONG VALUE FOR VARIABLE IN " &
74 "A GENERIC PROCEDURE");
75 END IF;
76 IF PTR'ADDRESS /= SPPRT13.VARIABLE_ADDRESS THEN
77 FAILED ("WRONG ADDRESS FOR VARIABLE " &
78 "IN A GENERIC PROCEDURE");
79 END IF;
80 END GENPROC;
82 PROCEDURE PROC IS NEW GENPROC;
83 BEGIN
84 PROC;
85 END;
86 RESULT;
87 END CD5012I;