OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [ada/] [acats/] [tests/] [c4/] [c48004b.ada] - Blame information for rev 720

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 720 jeremybenn
-- C48004B.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 THE FORM "NEW T" IS PERMITTED IF T IS A CONSTRAINED
26
-- RECORD, PRIVATE, OR LIMITED PRIVATE TYPE.
27
 
28
-- RM  01/12/80
29
-- JBG 03/03/83
30
-- EG  07/05/84
31
 
32
WITH REPORT;
33
 
34
PROCEDURE C48004B IS
35
 
36
     USE REPORT;
37
 
38
BEGIN
39
 
40
     TEST("C48004B","CHECK THAT THE FORM 'NEW T' IS PERMITTED IF " &
41
                    "T IS A CONSTRAINED RECORD, PRIVATE, OR "      &
42
                    "LIMITED PRIVATE TYPE");
43
 
44
     DECLARE
45
 
46
          TYPE  TB0(A , B : INTEGER )  IS
47
               RECORD
48
                    C : INTEGER := 7;
49
               END RECORD;
50
          SUBTYPE  TB  IS  TB0( 2 , 3 );
51
          TYPE ATB IS ACCESS TB0;
52
          VB : ATB;
53
 
54
          TYPE  TBB0(  A , B : INTEGER := 5 )  IS
55
               RECORD
56
                    C : INTEGER := 6;
57
               END RECORD;
58
          SUBTYPE  TBB  IS  TBB0( 4 , 5 );
59
          TYPE ATBB IS ACCESS TBB0;
60
          VBB : ATBB;
61
 
62
          PACKAGE  P  IS
63
               TYPE   PRIV0( A , B : INTEGER )  IS PRIVATE;
64
               TYPE  LPRIV0( A , B : INTEGER := 1 )  IS LIMITED PRIVATE;
65
               FUNCTION FUN(LP : LPRIV0) RETURN INTEGER;
66
          PRIVATE
67
               TYPE  PRIV0( A , B : INTEGER )  IS
68
                    RECORD
69
                         Q : INTEGER;
70
                    END RECORD;
71
               TYPE  LPRIV0( A , B : INTEGER := 1 )  IS
72
                    RECORD
73
                         Q : INTEGER := 7;
74
                    END RECORD;
75
          END P;
76
 
77
          USE P;
78
 
79
          SUBTYPE  PRIV  IS  P.PRIV0( 12 , 13 );
80
          TYPE  A_PRIV  IS  ACCESS P.PRIV0;
81
          VP : A_PRIV;
82
 
83
          TYPE  A_LPRIV  IS  ACCESS LPRIV0;
84
          VLP : A_LPRIV;
85
 
86
          TYPE LCR(A, B : INTEGER := 4) IS
87
               RECORD
88
                    C : P.LPRIV0;
89
               END RECORD;
90
          SUBTYPE SLCR IS LCR(1, 2);
91
          TYPE A_SLCR IS ACCESS SLCR;
92
          VSLCR : A_SLCR;
93
 
94
          PACKAGE BODY P IS
95
               FUNCTION FUN(LP : LPRIV0) RETURN INTEGER IS
96
               BEGIN
97
                    RETURN LP.Q;
98
               END FUN;
99
          END P;
100
 
101
     BEGIN
102
 
103
          VB  :=  NEW TB;
104
          IF ( VB.A /= IDENT_INT(2)  OR
105
               VB.B /= 3  OR
106
               VB.C /= 7 )  THEN FAILED( "WRONG VALUES  -  B1" );
107
          END IF;
108
 
109
          VBB  :=  NEW TBB0;
110
          IF ( VBB.A /= IDENT_INT(5)  OR
111
               VBB.B /= 5  OR
112
               VBB.C /= 6 )  THEN
113
               FAILED( "WRONG VALUES  -  B2" );
114
          END IF;
115
 
116
          VP  :=  NEW PRIV;
117
          IF ( VP.A /= IDENT_INT(12)  OR
118
               VP.B /= 13 )  THEN
119
               FAILED( "WRONG VALUES  -  B3" );
120
          END IF;
121
 
122
          VLP  :=  NEW LPRIV0;
123
          IF ( VLP.A /= IDENT_INT(1)  OR
124
               VLP.B /= 1 OR
125
               P.FUN(VLP.ALL) /= IDENT_INT(7) )  THEN
126
               FAILED( "WRONG VALUES  -  B4" );
127
          END IF;
128
 
129
          VSLCR := NEW SLCR;
130
          IF ( VSLCR.A /= IDENT_INT(1) OR
131
               VSLCR.B /= IDENT_INT(2) OR
132
               P.FUN(VSLCR.C) /= IDENT_INT(7) ) THEN
133
               FAILED ("WRONG VALUES - B5");
134
          END IF;
135
 
136
     END;
137
 
138
     RESULT;
139
 
140
END C48004B;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.