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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [ada/] [acats/] [tests/] [c7/] [c74407b.ada] - Blame information for rev 294

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 294 jeremybenn
-- C74407B.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
-- OBJECTIVE:
26
--     CHECK, FOR A LIMITED PRIVATE TYPE, THAT PRE-DEFINED EQUALITY AND
27
--     ASSIGNMENT ARE DEFINED AND AVAILABLE WITHIN THE PRIVATE PART AND
28
--     THE BODY OF A PACKAGE, AFTER THE FULL DECLARATION, IF THE FULL
29
--     DECLARATION IS NOT LIMITED.
30
 
31
-- HISTORY:
32
--     BCB 07/15/88  CREATED ORIGINAL TEST.
33
 
34
WITH REPORT; USE REPORT;
35
 
36
PROCEDURE C74407B IS
37
 
38
     PACKAGE PP IS
39
          TYPE PRIV IS PRIVATE;
40
          C1 : CONSTANT PRIV;
41
          C2 : CONSTANT PRIV;
42
     PRIVATE
43
          TYPE PRIV IS (ONE, TWO, THREE, FOUR, FIVE, SIX);
44
          C1 : CONSTANT PRIV := ONE;
45
          C2 : CONSTANT PRIV := TWO;
46
     END PP;
47
 
48
     USE PP;
49
 
50
     PACKAGE P IS
51
          TYPE INT IS LIMITED PRIVATE;
52
          TYPE COMP IS LIMITED PRIVATE;
53
          TYPE DER IS LIMITED PRIVATE;
54
     PRIVATE
55
          TYPE INT IS RANGE 1 .. 100;
56
          TYPE COMP IS ARRAY(1..5) OF INTEGER;
57
          TYPE DER IS NEW PRIV;
58
          D, E : INT := 10;
59
          F : INT := 20;
60
          CONS_INT1 : CONSTANT INT := 30;
61
          G : BOOLEAN := D = E;
62
          H : BOOLEAN := D /= F;
63
          CONS_BOOL1 : CONSTANT BOOLEAN := D = E;
64
          CONS_BOOL2 : CONSTANT BOOLEAN := D /= F;
65
          I : COMP := (1,2,3,4,5);
66
          CONS_COMP1 : CONSTANT COMP := (6,7,8,9,10);
67
          J : DER := DER(C1);
68
          CONS_DER1 : CONSTANT DER := DER(C2);
69
     END P;
70
 
71
     PACKAGE BODY P IS
72
          A, B, C : INT;
73
          X, Y, Z : COMP;
74
          L, M, N : DER;
75
          CONS_INT2 : CONSTANT INT := 10;
76
          CONS_COMP2 : CONSTANT COMP := (1,2,3,4,5);
77
          CONS_DER2 : CONSTANT DER := DER(C1);
78
     BEGIN
79
          TEST ("C74407B", "CHECK, FOR A LIMITED PRIVATE TYPE, THAT " &
80
                           "PRE-DEFINED EQUALITY AND ASSIGNMENT ARE " &
81
                           "DEFINED AND AVAILABLE WITHIN THE PRIVATE " &
82
                           "PART AND THE BODY OF A PACKAGE, AFTER " &
83
                           "THE FULL DECLARATION, IF THE FULL " &
84
                           "DECLARATION IS NOT LIMITED");
85
 
86
          A := 10;
87
 
88
          B := 10;
89
 
90
          C := 20;
91
 
92
          IF A = C THEN
93
               FAILED ("IMPROPER RESULT FROM PRE-DEFINED EQUALITY " &
94
                       "OPERATION WITHIN THE PACKAGE BODY - 1");
95
          END IF;
96
 
97
          IF A /= B THEN
98
               FAILED ("IMPROPER RESULT FROM PRE-DEFINED INEQUALITY " &
99
                       "OPERATION WITHIN THE PACKAGE BODY - 1");
100
          END IF;
101
 
102
          IF CONS_INT2 = C THEN
103
               FAILED ("IMPROPER RESULT FROM PRE-DEFINED EQUALITY " &
104
                       "OPERATION WITHIN THE PACKAGE BODY - 2");
105
          END IF;
106
 
107
          IF CONS_INT2 /= B THEN
108
               FAILED ("IMPROPER RESULT FROM PRE-DEFINED INEQUALITY " &
109
                       "OPERATION WITHIN THE PACKAGE BODY - 2");
110
          END IF;
111
 
112
          IF NOT G THEN
113
               FAILED ("IMPROPER RESULT FROM PRE-DEFINED EQUALITY " &
114
                       "OPERATION WITHIN THE PRIVATE PART OF THE " &
115
                       "PACKAGE - 1");
116
          END IF;
117
 
118
          IF NOT H THEN
119
               FAILED ("IMPROPER RESULT FROM PRE-DEFINED INEQUALITY " &
120
                       "OPERATION WITHIN THE PRIVATE PART OF THE " &
121
                       "PACKAGE - 1");
122
          END IF;
123
 
124
          IF NOT CONS_BOOL1 THEN
125
               FAILED ("IMPROPER RESULT FROM PRE-DEFINED EQUALITY " &
126
                       "OPERATION WITHIN THE PRIVATE PART OF THE " &
127
                       "PACKAGE - 2");
128
          END IF;
129
 
130
          IF NOT CONS_BOOL2 THEN
131
               FAILED ("IMPROPER RESULT FROM PRE-DEFINED INEQUALITY " &
132
                       "OPERATION WITHIN THE PRIVATE PART OF THE " &
133
                       "PACKAGE - 2");
134
          END IF;
135
 
136
          X := (1,2,3,4,5);
137
 
138
          Y := (1,2,3,4,5);
139
 
140
          Z := (5,4,3,2,1);
141
 
142
          IF X = Z THEN
143
               FAILED ("IMPROPER RESULT FROM PRE-DEFINED EQUALITY " &
144
                       "OPERATION WITHIN THE PACKAGE BODY - 3");
145
          END IF;
146
 
147
          IF X /= Y THEN
148
               FAILED ("IMPROPER RESULT FROM PRE-DEFINED INEQUALITY " &
149
                       "OPERATION WITHIN THE PACKAGE BODY - 3");
150
          END IF;
151
 
152
          IF CONS_COMP2 = Z THEN
153
               FAILED ("IMPROPER RESULT FROM PRE-DEFINED EQUALITY " &
154
                       "OPERATION WITHIN THE PACKAGE BODY - 4");
155
          END IF;
156
 
157
          IF CONS_COMP2 /= Y THEN
158
               FAILED ("IMPROPER RESULT FROM PRE-DEFINED INEQUALITY " &
159
                       "OPERATION WITHIN THE PACKAGE BODY - 4");
160
          END IF;
161
 
162
          L := DER(C1);
163
 
164
          M := DER(C1);
165
 
166
          N := DER(C2);
167
 
168
          IF L = N THEN
169
               FAILED ("IMPROPER RESULT FROM PRE-DEFINED EQUALITY " &
170
                       "OPERATION WITHIN THE PACKAGE BODY - 5");
171
          END IF;
172
 
173
          IF L /= M THEN
174
               FAILED ("IMPROPER RESULT FROM PRE-DEFINED INEQUALITY " &
175
                       "OPERATION WITHIN THE PACKAGE BODY - 5");
176
          END IF;
177
 
178
          IF CONS_DER2 = N THEN
179
               FAILED ("IMPROPER RESULT FROM PRE-DEFINED EQUALITY " &
180
                       "OPERATION WITHIN THE PACKAGE BODY - 6");
181
          END IF;
182
 
183
          IF CONS_DER2 /= M THEN
184
               FAILED ("IMPROPER RESULT FROM PRE-DEFINED INEQUALITY " &
185
                       "OPERATION WITHIN THE PACKAGE BODY - 6");
186
          END IF;
187
 
188
          RESULT;
189
     END P;
190
 
191
     USE P;
192
 
193
BEGIN
194
     NULL;
195
END C74407B;

powered by: WebSVN 2.1.0

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