2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / ada / acats / tests / c3 / c37306a.ada
blobf50fe01958f6b7a7921b010a49bb51c590473d67
1 -- C37306A.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 -- CHECK THAT IN A VARIANT PART OF A RECORD THE CHOICES WITHIN AND
26 -- BETWEEN ALTERNATIVES CAN APPEAR IN NON-MONOTONIC ORDER.
28 -- ASL 7/13/81
29 -- JWC 6/28/85 RENAMED TO -AB
31 WITH REPORT;
32 PROCEDURE C37306A IS
34 USE REPORT;
36 BEGIN
37 TEST ("C37306A","NON-MONOTONIC ORDER OF CHOICES IN VARIANT PARTS");
39 DECLARE
40 TYPE COLOR IS (WHITE,RED,ORANGE,YELLOW,GREEN,AQUA,BLUE,BLACK);
42 TYPE REC(DISC : COLOR := BLUE) IS
43 RECORD
44 CASE DISC IS
45 WHEN ORANGE => NULL;
46 WHEN GREEN | WHITE | BLACK => NULL;
47 WHEN YELLOW => NULL;
48 WHEN BLUE | RED => NULL;
49 WHEN OTHERS => NULL;
50 END CASE;
51 END RECORD;
53 R : REC;
54 BEGIN
55 R := (DISC => WHITE);
57 IF EQUAL(3,4) THEN
58 R := (DISC => RED);
59 END IF;
61 IF R.DISC /= WHITE THEN
62 FAILED ("ASSIGNMENT FAILED");
63 END IF;
64 EXCEPTION
65 WHEN OTHERS =>
66 FAILED ("EXCEPTION RAISED");
67 END;
69 RESULT;
70 END C37306A;