1-- C87B54A.ADA
2
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.
15--
16--                                    DISCLAIMER
17--
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-- CHECK THAT OVERLOADING RESOLUTION USES THE RULE THAT:
26--
27-- THE ARGUMENT OF THE DELAY STATEMENT IS OF THE PREDEFINED FIXED
28-- POINT TYPE DURATION.
29
30-- TRH  7 SEPT 82
31
32WITH REPORT; USE REPORT;
33
34PROCEDURE C87B54A IS
35
36     TYPE TEMPS  IS NEW DURATION;
37     TYPE REAL   IS NEW FLOAT;
38     TYPE TEMPUS IS DELTA 0.1 RANGE -1.0 .. 1.0;
39     ERR : BOOLEAN := FALSE;
40
41     FUNCTION F (X : TEMPS) RETURN TEMPS IS
42     BEGIN
43          ERR := TRUE;
44          RETURN X;
45     END F;
46
47     FUNCTION F (X : REAL) RETURN REAL IS
48     BEGIN
49          ERR := TRUE;
50          RETURN X;
51     END F;
52
53     FUNCTION F (X : TEMPUS) RETURN TEMPUS IS
54     BEGIN
55          ERR := TRUE;
56          RETURN X;
57     END F;
58
59     FUNCTION F (X : DURATION) RETURN DURATION IS
60     BEGIN
61          RETURN X;
62     END F;
63
64BEGIN
65     TEST ("C87B54A","OVERLOADED EXPRESSION WITHIN DELAY STATEMENT");
66
67     DECLARE
68          TASK T IS
69               ENTRY E;
70          END T;
71
72          TASK BODY T IS
73          BEGIN
74               DELAY F (0.0);
75               DELAY F (1.0);
76               DELAY F (-1.0);
77          END T;
78
79     BEGIN
80          IF ERR THEN FAILED ("DELAY STATEMENT TAKES AN ARGUMENT OF " &
81                              "THE PREDEFINED FIXED POINT TYPE " &
82                              "DURATION");
83          END IF;
84     END;
85
86     RESULT;
87END C87B54A;
88