2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / ada / acats / tests / c8 / c87b62d.tst
blob296402a6de003502534d99c10f4518528ef33669
1 -- C87B62D.TST
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 OVERLOADING RESOLUTION USES THE RULE THAT:
28 --       IN A LENGTH CLAUSE THAT SPECIFIES 'STORAGE_SIZE,
29 --       THE EXPRESSION MUST BE OF SOME INTEGER TYPE.
30 --       TASK TYPE IS HERE; ACCESS TYPE IS IN C87B62B.DEP.
32 -- MACRO SUBSTITUTION:
33 --     $TASK_STORAGE_SIZE IS THE NUMBER OF STORAGE_UNITS REQUIRED FOR
34 --     THE ACTIVATION OF A TASK.
36 -- HISTORY:
37 --     TRH 09/08/82  CREATED ORIGINAL TEST.
38 --     EG  06/04/84
39 --     PWB 01/19/86  CREATED THIS TEST FILE FROM THE TASK TYPE PART
40 --                   OF THE OLD C87B62B;
41 --                   CLARIFIED COMMENTS REGARDING NON-APPLICABILITY.
42 --     BCB 01/04/88  MODIFIED HEADER.
43 --     PWB 05/11/89  CHANGED EXTENSION FROM '.DEP' TO '.TST'.
45 WITH REPORT; USE REPORT;
47 PROCEDURE C87B62D IS
49      TASK_STORAGE_SIZE : CONSTANT := $TASK_STORAGE_SIZE;
51      TYPE POS_INT IS NEW INTEGER RANGE 0 .. INTEGER'LAST;
52      TYPE POS_FIX IS DELTA 0.1 RANGE 0.0 .. 10.0;
53      TYPE NUMERAL IS NEW CHARACTER RANGE '0' .. '9';
54      TYPE BASE_5  IS ('0', '1', '2', '3', '4');
55      ERR : BOOLEAN := FALSE;
57      FUNCTION F (X : INTEGER) RETURN NUMERAL IS
58      BEGIN
59           ERR := TRUE;
60           RETURN ('9');
61      END F;
63      FUNCTION F (X : INTEGER) RETURN BASE_5 IS
64      BEGIN
65           ERR := TRUE;
66           RETURN ('4');
67      END F;
69      FUNCTION F (X : INTEGER) RETURN POS_FIX IS
70      BEGIN
71           ERR := TRUE;
72           RETURN POS_FIX (X);
73      END F;
75      FUNCTION F (X : INTEGER) RETURN POS_INT IS
76      BEGIN
77           RETURN POS_INT (X);
78      END F;
80 BEGIN
81      TEST ("C87B62D","OVERLOADED EXPRESSION WITHIN LENGTH CLAUSE " &
82            "- SPECIFICATION OF ATTRIBUTE T'STORAGE_SIZE " &
83            "FOR TASK TYPES ");
85      DECLARE
87           TASK TYPE TSK1  IS
88           END TSK1;
90           FOR TSK1'STORAGE_SIZE USE F (TASK_STORAGE_SIZE);
92           TASK BODY TSK1 IS
93           BEGIN
94                NULL;
95           END TSK1;
97      BEGIN
98           IF ERR THEN
99                FAILED ("RESOLUTION INCORRECT FOR EXPRESSION IN " &
100                        "LENGTH CLAUSE USING 'STORAGE_SIZE");
101           END IF;
102      END;
104      RESULT;
105 END C87B62D;