OSDN Git Service

Fix sgi typos
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / ada / acats / tests / cd / cdd1001.a
1 -- CDD1001.A
2 --
3 --                             Grant of Unlimited Rights
4 --
5 --     The Ada Conformity Assessment Authority (ACAA) holds unlimited
6 --     rights in the software and documentation contained herein. Unlimited
7 --     rights are the same as those granted by the U.S. Government for older
8 --     parts of the Ada Conformity Assessment Test Suite, and are defined
9 --     in DFAR 252.227-7013(a)(19). By making this public release, the ACAA
10 --     intends to confer upon all recipients unlimited rights equal to those
11 --     held by the ACAA. These rights include rights to use, duplicate,
12 --     release or disclose the released technical data and computer software
13 --     in whole or in part, in any manner and for any purpose whatsoever, and
14 --     to have or permit others 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 --
26 -- OBJECTIVE:
27 --    Check that components of Stream_Element_Array are aliased.  (Defect
28 --    Report 8652/0044).
29 --
30 -- APPLICABILITY CRITERIA:
31 --    All implementations must attempt to compile this test.
32 --
33 --    For implementations for which Stream_Element'Size is a multiple of
34 --    System.Storage_Unit, this test must execute.
35 --
36 --    For other implementations, if this test compiles without error messages
37 --    at compilation, it must bind and execute.
38 --
39 -- PASS/FAIL CRITERIA:
40 --    For implementations for which Stream_Element'Size is a multiple of
41 --      System.Storage_Unit, this test must execute, report PASSED, and
42 --      complete normally, otherwise the test FAILS.
43 --
44 --    For other implementations:
45 --      PASSING behavior is:
46 --        this test executes, reports PASSED, and completes normally
47 --      or
48 --        this test produces at least one error message at compilation, and
49 --        the error message is associated with one of the items marked:
50 --           -- N/A => ERROR.
51 --
52 --      All other behaviors are FAILING.
53 --
54 --
55 -- CHANGE HISTORY:
56 --    12 FEB 2001   PHL   Initial version
57 --    15 MAR 2001   RLB   Readied for release.
58
59 --!
60 with Ada.Streams;
61 use Ada.Streams;
62 with Report;
63 use Report;
64 procedure CDD1001 is
65
66     type Acc is access all Stream_Element;
67
68     A : Stream_Element_Array
69            (Stream_Element_Offset (Ident_Int (1)) ..
70                Stream_Element_Offset (Ident_Int (10)));
71     B : array (A'Range) of Acc;
72 begin
73     Test ("CDD1001",
74           "Check that components of Stream_Element_Array are aliased");
75
76     for I in A'Range loop
77         A (I) := Stream_Element (Ident_Int (Integer (I)) * Ident_Int (3));
78     end loop;
79
80     for I in B'Range loop
81         B (I) := A (I)'Access;                                -- N/A => ERROR.
82     end loop;
83
84     for I in B'Range loop
85         if B (I).all /= Stream_Element
86                            (Ident_Int (Integer (I)) * Ident_Int (3)) then
87             Failed ("Unable to build access values designating elements " &
88                     "of a Stream_Element_Array");
89         end if;
90     end loop;
91
92     Result;
93 end CDD1001;
94