2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / ada / acats / support / f460a00.a
blob382f5c516c849b7f9bb7c2d80f4013985ba01ed0
1 -- F460A00.A
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.
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 --*
26 -- FOUNDATION DESCRIPTION:
27 -- This foundation declares support types and subprograms for testing
28 -- run-time accessibility checks.
30 -- CHANGE HISTORY:
31 -- 11 May 95 SAIC Initial prerelease version.
32 -- 24 Apr 96 SAIC Modified Array_Type.
34 --!
36 package F460A00 is
38 type Tagged_Type is tagged record
39 C : Integer := 0;
40 end record;
42 type Derived_Tagged_Type is new Tagged_Type with record
43 D : String (1 .. 4) := "void";
44 end record;
46 type Composite_Type (D: access Tagged_Type) is limited record
47 C : Boolean;
48 end record;
50 type Array_Type is array (1 .. 10) of Tagged_Type;
52 type AccTag_L0 is access constant Tagged_Type;
53 type AccTagClass_L0 is access all Tagged_Type'Class;
55 type AccArr_L0 is access all Array_Type;
57 X_DerivedTag : aliased Derived_Tagged_Type;
58 PTagClass_L0 : AccTagClass_L0 := X_DerivedTag'Access;
60 type TC_Result_Kind is (OK, UN_Init, PE_Exception, Others_Exception);
62 procedure TC_Check_Results (Actual : in TC_Result_Kind;
63 Expected: in TC_Result_Kind;
64 Message : in String);
65 end F460A00;
68 --==================================================================--
71 with Report;
72 package body F460A00 is
74 procedure TC_Check_Results (Actual : in TC_Result_Kind;
75 Expected: in TC_Result_Kind;
76 Message : in String) is
77 begin
78 if Actual /= Expected then
79 case Actual is
80 when OK | UN_Init =>
81 Report.Failed ("No exception raised: " & Message);
82 when PE_Exception =>
83 Report.Failed ("Program_Error raised: " & Message);
84 when Others_Exception =>
85 Report.Failed ("Unexpected exception raised: " & Message);
86 end case;
87 end if;
88 end TC_Check_Results;
90 end F460A00;