2 |
7u83 |
1 |
/*
|
|
|
2 |
Crown Copyright (c) 1997, 1998
|
|
|
3 |
|
|
|
4 |
This TenDRA(r) Computer Program is subject to Copyright
|
|
|
5 |
owned by the United Kingdom Secretary of State for Defence
|
|
|
6 |
acting through the Defence Evaluation and Research Agency
|
|
|
7 |
(DERA). It is made available to Recipients with a
|
|
|
8 |
royalty-free licence for its use, reproduction, transfer
|
|
|
9 |
to other parties and amendment for any purpose not excluding
|
|
|
10 |
product development provided that any such use et cetera
|
|
|
11 |
shall be deemed to be acceptance of the following conditions:-
|
|
|
12 |
|
|
|
13 |
(1) Its Recipients shall ensure that this Notice is
|
|
|
14 |
reproduced upon any copies or amended versions of it;
|
|
|
15 |
|
|
|
16 |
(2) Any amended version of it shall be clearly marked to
|
|
|
17 |
show both the nature of and the organisation responsible
|
|
|
18 |
for the relevant amendment or amendments;
|
|
|
19 |
|
|
|
20 |
(3) Its onward transfer from a recipient to another
|
|
|
21 |
party shall be deemed to be that party's acceptance of
|
|
|
22 |
these conditions;
|
|
|
23 |
|
|
|
24 |
(4) DERA gives no warranty or assurance as to its
|
|
|
25 |
quality or suitability for any purpose and DERA accepts
|
|
|
26 |
no liability whatsoever in relation to any use to which
|
|
|
27 |
it may be put.
|
|
|
28 |
*/
|
|
|
29 |
|
|
|
30 |
/*
|
|
|
31 |
AUTOMATICALLY GENERATED FROM ALGEBRA c_class (VERSION 1.1)
|
|
|
32 |
BY calculus (VERSION 1.2)
|
|
|
33 |
*/
|
|
|
34 |
|
|
|
35 |
#ifndef EXP_OPS_H_INCLUDED
|
|
|
36 |
#define EXP_OPS_H_INCLUDED
|
|
|
37 |
|
|
|
38 |
/* Operations for union EXP */
|
|
|
39 |
|
7 |
7u83 |
40 |
#define TAG_exp(P) (CHECK_NULL(P)->ag_tag)
|
2 |
7u83 |
41 |
|
|
|
42 |
|
|
|
43 |
/* Operations for component type of union EXP */
|
|
|
44 |
|
7 |
7u83 |
45 |
#define exp_type(P) (CHECK_NULL(P) + 1)
|
2 |
7u83 |
46 |
|
|
|
47 |
|
|
|
48 |
/* Operations for field set identifier_etc of union EXP */
|
|
|
49 |
|
7 |
7u83 |
50 |
#define exp_identifier_etc_tag ((unsigned)4)
|
|
|
51 |
#define IS_exp_identifier_etc(P) ((unsigned)(CHECK_NULL(P)->ag_tag - 0) < (unsigned)4)
|
2 |
7u83 |
52 |
|
7 |
7u83 |
53 |
#define exp_identifier_etc_id(P) (CHECK_TAG_ETC((P), 0, 4) + 2)
|
|
|
54 |
#define exp_identifier_etc_qual(P) (CHECK_TAG_ETC((P), 0, 4) + 3)
|
2 |
7u83 |
55 |
|
7 |
7u83 |
56 |
#define MAKE_exp_identifier_etc(tag, type_, id_, qual_, c_class_exp)\
|
2 |
7u83 |
57 |
{\
|
7 |
7u83 |
58 |
c_class *x486_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
59 |
x486_->ag_tag = (tag);\
|
|
|
60 |
COPY_type(x486_ + 1, (type_));\
|
|
|
61 |
COPY_id(x486_ + 2, (id_));\
|
|
|
62 |
COPY_qual(x486_ + 3, (qual_));\
|
|
|
63 |
(c_class_exp) = CHECK_TAG_ETC(x486_, 0, 4);\
|
2 |
7u83 |
64 |
}
|
|
|
65 |
|
7 |
7u83 |
66 |
#define MODIFY_exp_identifier_etc(tag, c_class_exp)\
|
2 |
7u83 |
67 |
{\
|
7 |
7u83 |
68 |
c_class *x487_ = CHECK_TAG_ETC ((c_class_exp), 0, 4);\
|
|
|
69 |
x487_->ag_tag = (tag);\
|
|
|
70 |
(void) CHECK_TAG_ETC (x487_, 0, 4);\
|
2 |
7u83 |
71 |
}
|
|
|
72 |
|
7 |
7u83 |
73 |
#define DECONS_exp_identifier_etc(type_, id_, qual_, c_class_exp)\
|
2 |
7u83 |
74 |
{\
|
7 |
7u83 |
75 |
c_class *x488_ = CHECK_TAG_ETC((c_class_exp), 0, 4);\
|
|
|
76 |
(type_) = DEREF_type(x488_ + 1);\
|
|
|
77 |
(id_) = DEREF_id(x488_ + 2);\
|
|
|
78 |
(qual_) = DEREF_qual(x488_ + 3);\
|
2 |
7u83 |
79 |
}
|
|
|
80 |
|
7 |
7u83 |
81 |
#define DESTROY_exp_identifier_etc(destroyer_, type_, id_, qual_, c_class_exp)\
|
2 |
7u83 |
82 |
{\
|
7 |
7u83 |
83 |
c_class *x489_ = CHECK_TAG_ETC((c_class_exp), 0, 4);\
|
|
|
84 |
(type_) = DEREF_type(x489_ + 1);\
|
|
|
85 |
(id_) = DEREF_id(x489_ + 2);\
|
|
|
86 |
(qual_) = DEREF_qual(x489_ + 3);\
|
|
|
87 |
(destroyer_)(x489_, (unsigned)4);\
|
2 |
7u83 |
88 |
}
|
|
|
89 |
|
|
|
90 |
|
|
|
91 |
/* Operations for field identifier of union EXP */
|
|
|
92 |
|
7 |
7u83 |
93 |
#define exp_identifier_tag ((unsigned)0)
|
|
|
94 |
#define IS_exp_identifier(P) (CHECK_NULL(P)->ag_tag == 0)
|
2 |
7u83 |
95 |
|
7 |
7u83 |
96 |
#define exp_identifier_id(P) (CHECK_TAG((P), 0) + 2)
|
|
|
97 |
#define exp_identifier_qual(P) (CHECK_TAG((P), 0) + 3)
|
2 |
7u83 |
98 |
|
7 |
7u83 |
99 |
#define MAKE_exp_identifier(type_, id_, qual_, c_class_exp)\
|
2 |
7u83 |
100 |
{\
|
7 |
7u83 |
101 |
c_class *x490_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
102 |
x490_->ag_tag = 0;\
|
|
|
103 |
COPY_type(x490_ + 1, (type_));\
|
|
|
104 |
COPY_id(x490_ + 2, (id_));\
|
|
|
105 |
COPY_qual(x490_ + 3, (qual_));\
|
|
|
106 |
(c_class_exp) = x490_;\
|
2 |
7u83 |
107 |
}
|
|
|
108 |
|
7 |
7u83 |
109 |
#define DECONS_exp_identifier(type_, id_, qual_, c_class_exp)\
|
2 |
7u83 |
110 |
{\
|
7 |
7u83 |
111 |
c_class *x491_ = CHECK_TAG((c_class_exp), 0);\
|
|
|
112 |
(type_) = DEREF_type(x491_ + 1);\
|
|
|
113 |
(id_) = DEREF_id(x491_ + 2);\
|
|
|
114 |
(qual_) = DEREF_qual(x491_ + 3);\
|
2 |
7u83 |
115 |
}
|
|
|
116 |
|
7 |
7u83 |
117 |
#define DESTROY_exp_identifier(destroyer_, type_, id_, qual_, c_class_exp)\
|
2 |
7u83 |
118 |
{\
|
7 |
7u83 |
119 |
c_class *x492_ = CHECK_TAG((c_class_exp), 0);\
|
|
|
120 |
(type_) = DEREF_type(x492_ + 1);\
|
|
|
121 |
(id_) = DEREF_id(x492_ + 2);\
|
|
|
122 |
(qual_) = DEREF_qual(x492_ + 3);\
|
|
|
123 |
(destroyer_)(x492_, (unsigned)4);\
|
2 |
7u83 |
124 |
}
|
|
|
125 |
|
|
|
126 |
|
|
|
127 |
/* Operations for field member of union EXP */
|
|
|
128 |
|
7 |
7u83 |
129 |
#define exp_member_tag ((unsigned)1)
|
|
|
130 |
#define IS_exp_member(P) (CHECK_NULL(P)->ag_tag == 1)
|
2 |
7u83 |
131 |
|
7 |
7u83 |
132 |
#define exp_member_id(P) (CHECK_TAG((P), 1) + 2)
|
|
|
133 |
#define exp_member_qual(P) (CHECK_TAG((P), 1) + 3)
|
2 |
7u83 |
134 |
|
7 |
7u83 |
135 |
#define MAKE_exp_member(type_, id_, qual_, c_class_exp)\
|
2 |
7u83 |
136 |
{\
|
7 |
7u83 |
137 |
c_class *x493_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
138 |
x493_->ag_tag = 1;\
|
|
|
139 |
COPY_type(x493_ + 1, (type_));\
|
|
|
140 |
COPY_id(x493_ + 2, (id_));\
|
|
|
141 |
COPY_qual(x493_ + 3, (qual_));\
|
|
|
142 |
(c_class_exp) = x493_;\
|
2 |
7u83 |
143 |
}
|
|
|
144 |
|
7 |
7u83 |
145 |
#define DECONS_exp_member(type_, id_, qual_, c_class_exp)\
|
2 |
7u83 |
146 |
{\
|
7 |
7u83 |
147 |
c_class *x494_ = CHECK_TAG((c_class_exp), 1);\
|
|
|
148 |
(type_) = DEREF_type(x494_ + 1);\
|
|
|
149 |
(id_) = DEREF_id(x494_ + 2);\
|
|
|
150 |
(qual_) = DEREF_qual(x494_ + 3);\
|
2 |
7u83 |
151 |
}
|
|
|
152 |
|
7 |
7u83 |
153 |
#define DESTROY_exp_member(destroyer_, type_, id_, qual_, c_class_exp)\
|
2 |
7u83 |
154 |
{\
|
7 |
7u83 |
155 |
c_class *x495_ = CHECK_TAG((c_class_exp), 1);\
|
|
|
156 |
(type_) = DEREF_type(x495_ + 1);\
|
|
|
157 |
(id_) = DEREF_id(x495_ + 2);\
|
|
|
158 |
(qual_) = DEREF_qual(x495_ + 3);\
|
|
|
159 |
(destroyer_)(x495_, (unsigned)4);\
|
2 |
7u83 |
160 |
}
|
|
|
161 |
|
|
|
162 |
|
|
|
163 |
/* Operations for field ambiguous of union EXP */
|
|
|
164 |
|
7 |
7u83 |
165 |
#define exp_ambiguous_tag ((unsigned)2)
|
|
|
166 |
#define IS_exp_ambiguous(P) (CHECK_NULL(P)->ag_tag == 2)
|
2 |
7u83 |
167 |
|
7 |
7u83 |
168 |
#define exp_ambiguous_id(P) (CHECK_TAG((P), 2) + 2)
|
|
|
169 |
#define exp_ambiguous_qual(P) (CHECK_TAG((P), 2) + 3)
|
2 |
7u83 |
170 |
|
7 |
7u83 |
171 |
#define MAKE_exp_ambiguous(type_, id_, qual_, c_class_exp)\
|
2 |
7u83 |
172 |
{\
|
7 |
7u83 |
173 |
c_class *x496_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
174 |
x496_->ag_tag = 2;\
|
|
|
175 |
COPY_type(x496_ + 1, (type_));\
|
|
|
176 |
COPY_id(x496_ + 2, (id_));\
|
|
|
177 |
COPY_qual(x496_ + 3, (qual_));\
|
|
|
178 |
(c_class_exp) = x496_;\
|
2 |
7u83 |
179 |
}
|
|
|
180 |
|
7 |
7u83 |
181 |
#define DECONS_exp_ambiguous(type_, id_, qual_, c_class_exp)\
|
2 |
7u83 |
182 |
{\
|
7 |
7u83 |
183 |
c_class *x497_ = CHECK_TAG((c_class_exp), 2);\
|
|
|
184 |
(type_) = DEREF_type(x497_ + 1);\
|
|
|
185 |
(id_) = DEREF_id(x497_ + 2);\
|
|
|
186 |
(qual_) = DEREF_qual(x497_ + 3);\
|
2 |
7u83 |
187 |
}
|
|
|
188 |
|
7 |
7u83 |
189 |
#define DESTROY_exp_ambiguous(destroyer_, type_, id_, qual_, c_class_exp)\
|
2 |
7u83 |
190 |
{\
|
7 |
7u83 |
191 |
c_class *x498_ = CHECK_TAG((c_class_exp), 2);\
|
|
|
192 |
(type_) = DEREF_type(x498_ + 1);\
|
|
|
193 |
(id_) = DEREF_id(x498_ + 2);\
|
|
|
194 |
(qual_) = DEREF_qual(x498_ + 3);\
|
|
|
195 |
(destroyer_)(x498_, (unsigned)4);\
|
2 |
7u83 |
196 |
}
|
|
|
197 |
|
|
|
198 |
|
|
|
199 |
/* Operations for field undeclared of union EXP */
|
|
|
200 |
|
7 |
7u83 |
201 |
#define exp_undeclared_tag ((unsigned)3)
|
|
|
202 |
#define IS_exp_undeclared(P) (CHECK_NULL(P)->ag_tag == 3)
|
2 |
7u83 |
203 |
|
7 |
7u83 |
204 |
#define exp_undeclared_id(P) (CHECK_TAG((P), 3) + 2)
|
|
|
205 |
#define exp_undeclared_qual(P) (CHECK_TAG((P), 3) + 3)
|
2 |
7u83 |
206 |
|
7 |
7u83 |
207 |
#define MAKE_exp_undeclared(type_, id_, qual_, c_class_exp)\
|
2 |
7u83 |
208 |
{\
|
7 |
7u83 |
209 |
c_class *x499_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
210 |
x499_->ag_tag = 3;\
|
|
|
211 |
COPY_type(x499_ + 1, (type_));\
|
|
|
212 |
COPY_id(x499_ + 2, (id_));\
|
|
|
213 |
COPY_qual(x499_ + 3, (qual_));\
|
|
|
214 |
(c_class_exp) = x499_;\
|
2 |
7u83 |
215 |
}
|
|
|
216 |
|
7 |
7u83 |
217 |
#define DECONS_exp_undeclared(type_, id_, qual_, c_class_exp)\
|
2 |
7u83 |
218 |
{\
|
7 |
7u83 |
219 |
c_class *x500_ = CHECK_TAG((c_class_exp), 3);\
|
|
|
220 |
(type_) = DEREF_type(x500_ + 1);\
|
|
|
221 |
(id_) = DEREF_id(x500_ + 2);\
|
|
|
222 |
(qual_) = DEREF_qual(x500_ + 3);\
|
2 |
7u83 |
223 |
}
|
|
|
224 |
|
7 |
7u83 |
225 |
#define DESTROY_exp_undeclared(destroyer_, type_, id_, qual_, c_class_exp)\
|
2 |
7u83 |
226 |
{\
|
7 |
7u83 |
227 |
c_class *x501_ = CHECK_TAG((c_class_exp), 3);\
|
|
|
228 |
(type_) = DEREF_type(x501_ + 1);\
|
|
|
229 |
(id_) = DEREF_id(x501_ + 2);\
|
|
|
230 |
(qual_) = DEREF_qual(x501_ + 3);\
|
|
|
231 |
(destroyer_)(x501_, (unsigned)4);\
|
2 |
7u83 |
232 |
}
|
|
|
233 |
|
|
|
234 |
|
|
|
235 |
/* Operations for field int_lit of union EXP */
|
|
|
236 |
|
7 |
7u83 |
237 |
#define exp_int_lit_tag ((unsigned)4)
|
|
|
238 |
#define IS_exp_int_lit(P) (CHECK_NULL(P)->ag_tag == 4)
|
2 |
7u83 |
239 |
|
7 |
7u83 |
240 |
#define exp_int_lit_nat(P) (CHECK_TAG((P), 4) + 2)
|
|
|
241 |
#define exp_int_lit_etag(P) (CHECK_TAG((P), 4) + 3)
|
2 |
7u83 |
242 |
|
7 |
7u83 |
243 |
#define MAKE_exp_int_lit(type_, nat_, etag_, c_class_exp)\
|
2 |
7u83 |
244 |
{\
|
7 |
7u83 |
245 |
c_class *x502_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
246 |
x502_->ag_tag = 4;\
|
|
|
247 |
COPY_type(x502_ + 1, (type_));\
|
|
|
248 |
COPY_nat(x502_ + 2, (nat_));\
|
|
|
249 |
COPY_unsigned(x502_ + 3, (etag_));\
|
|
|
250 |
(c_class_exp) = x502_;\
|
2 |
7u83 |
251 |
}
|
|
|
252 |
|
7 |
7u83 |
253 |
#define DECONS_exp_int_lit(type_, nat_, etag_, c_class_exp)\
|
2 |
7u83 |
254 |
{\
|
7 |
7u83 |
255 |
c_class *x503_ = CHECK_TAG((c_class_exp), 4);\
|
|
|
256 |
(type_) = DEREF_type(x503_ + 1);\
|
|
|
257 |
(nat_) = DEREF_nat(x503_ + 2);\
|
|
|
258 |
(etag_) = DEREF_unsigned(x503_ + 3);\
|
2 |
7u83 |
259 |
}
|
|
|
260 |
|
7 |
7u83 |
261 |
#define DESTROY_exp_int_lit(destroyer_, type_, nat_, etag_, c_class_exp)\
|
2 |
7u83 |
262 |
{\
|
7 |
7u83 |
263 |
c_class *x504_ = CHECK_TAG((c_class_exp), 4);\
|
|
|
264 |
(type_) = DEREF_type(x504_ + 1);\
|
|
|
265 |
(nat_) = DEREF_nat(x504_ + 2);\
|
|
|
266 |
(etag_) = DEREF_unsigned(x504_ + 3);\
|
|
|
267 |
(destroyer_)(x504_, (unsigned)4);\
|
2 |
7u83 |
268 |
}
|
|
|
269 |
|
|
|
270 |
|
|
|
271 |
/* Operations for field float_lit of union EXP */
|
|
|
272 |
|
7 |
7u83 |
273 |
#define exp_float_lit_tag ((unsigned)5)
|
|
|
274 |
#define IS_exp_float_lit(P) (CHECK_NULL(P)->ag_tag == 5)
|
2 |
7u83 |
275 |
|
7 |
7u83 |
276 |
#define exp_float_lit_flt(P) (CHECK_TAG((P), 5) + 2)
|
2 |
7u83 |
277 |
|
7 |
7u83 |
278 |
#define MAKE_exp_float_lit(type_, flt_, c_class_exp)\
|
2 |
7u83 |
279 |
{\
|
7 |
7u83 |
280 |
c_class *x505_ = GEN_c_class(3, TYPEID_exp);\
|
|
|
281 |
x505_->ag_tag = 5;\
|
|
|
282 |
COPY_type(x505_ + 1, (type_));\
|
|
|
283 |
COPY_flt(x505_ + 2, (flt_));\
|
|
|
284 |
(c_class_exp) = x505_;\
|
2 |
7u83 |
285 |
}
|
|
|
286 |
|
7 |
7u83 |
287 |
#define DECONS_exp_float_lit(type_, flt_, c_class_exp)\
|
2 |
7u83 |
288 |
{\
|
7 |
7u83 |
289 |
c_class *x506_ = CHECK_TAG((c_class_exp), 5);\
|
|
|
290 |
(type_) = DEREF_type(x506_ + 1);\
|
|
|
291 |
(flt_) = DEREF_flt(x506_ + 2);\
|
2 |
7u83 |
292 |
}
|
|
|
293 |
|
7 |
7u83 |
294 |
#define DESTROY_exp_float_lit(destroyer_, type_, flt_, c_class_exp)\
|
2 |
7u83 |
295 |
{\
|
7 |
7u83 |
296 |
c_class *x507_ = CHECK_TAG((c_class_exp), 5);\
|
|
|
297 |
(type_) = DEREF_type(x507_ + 1);\
|
|
|
298 |
(flt_) = DEREF_flt(x507_ + 2);\
|
|
|
299 |
(destroyer_)(x507_, (unsigned)3);\
|
2 |
7u83 |
300 |
}
|
|
|
301 |
|
|
|
302 |
|
|
|
303 |
/* Operations for field char_lit of union EXP */
|
|
|
304 |
|
7 |
7u83 |
305 |
#define exp_char_lit_tag ((unsigned)6)
|
|
|
306 |
#define IS_exp_char_lit(P) (CHECK_NULL(P)->ag_tag == 6)
|
2 |
7u83 |
307 |
|
7 |
7u83 |
308 |
#define exp_char_lit_str(P) (CHECK_TAG((P), 6) + 2)
|
|
|
309 |
#define exp_char_lit_digit(P) (CHECK_TAG((P), 6) + 3)
|
2 |
7u83 |
310 |
|
7 |
7u83 |
311 |
#define MAKE_exp_char_lit(type_, str_, digit_, c_class_exp)\
|
2 |
7u83 |
312 |
{\
|
7 |
7u83 |
313 |
c_class *x508_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
314 |
x508_->ag_tag = 6;\
|
|
|
315 |
COPY_type(x508_ + 1, (type_));\
|
|
|
316 |
COPY_str(x508_ + 2, (str_));\
|
|
|
317 |
COPY_int(x508_ + 3, (digit_));\
|
|
|
318 |
(c_class_exp) = x508_;\
|
2 |
7u83 |
319 |
}
|
|
|
320 |
|
7 |
7u83 |
321 |
#define DECONS_exp_char_lit(type_, str_, digit_, c_class_exp)\
|
2 |
7u83 |
322 |
{\
|
7 |
7u83 |
323 |
c_class *x509_ = CHECK_TAG((c_class_exp), 6);\
|
|
|
324 |
(type_) = DEREF_type(x509_ + 1);\
|
|
|
325 |
(str_) = DEREF_str(x509_ + 2);\
|
|
|
326 |
(digit_) = DEREF_int(x509_ + 3);\
|
2 |
7u83 |
327 |
}
|
|
|
328 |
|
7 |
7u83 |
329 |
#define DESTROY_exp_char_lit(destroyer_, type_, str_, digit_, c_class_exp)\
|
2 |
7u83 |
330 |
{\
|
7 |
7u83 |
331 |
c_class *x510_ = CHECK_TAG((c_class_exp), 6);\
|
|
|
332 |
(type_) = DEREF_type(x510_ + 1);\
|
|
|
333 |
(str_) = DEREF_str(x510_ + 2);\
|
|
|
334 |
(digit_) = DEREF_int(x510_ + 3);\
|
|
|
335 |
(destroyer_)(x510_, (unsigned)4);\
|
2 |
7u83 |
336 |
}
|
|
|
337 |
|
|
|
338 |
|
|
|
339 |
/* Operations for field string_lit of union EXP */
|
|
|
340 |
|
7 |
7u83 |
341 |
#define exp_string_lit_tag ((unsigned)7)
|
|
|
342 |
#define IS_exp_string_lit(P) (CHECK_NULL(P)->ag_tag == 7)
|
2 |
7u83 |
343 |
|
7 |
7u83 |
344 |
#define exp_string_lit_str(P) (CHECK_TAG((P), 7) + 2)
|
2 |
7u83 |
345 |
|
7 |
7u83 |
346 |
#define MAKE_exp_string_lit(type_, str_, c_class_exp)\
|
2 |
7u83 |
347 |
{\
|
7 |
7u83 |
348 |
c_class *x511_ = GEN_c_class(3, TYPEID_exp);\
|
|
|
349 |
x511_->ag_tag = 7;\
|
|
|
350 |
COPY_type(x511_ + 1, (type_));\
|
|
|
351 |
COPY_str(x511_ + 2, (str_));\
|
|
|
352 |
(c_class_exp) = x511_;\
|
2 |
7u83 |
353 |
}
|
|
|
354 |
|
7 |
7u83 |
355 |
#define DECONS_exp_string_lit(type_, str_, c_class_exp)\
|
2 |
7u83 |
356 |
{\
|
7 |
7u83 |
357 |
c_class *x512_ = CHECK_TAG((c_class_exp), 7);\
|
|
|
358 |
(type_) = DEREF_type(x512_ + 1);\
|
|
|
359 |
(str_) = DEREF_str(x512_ + 2);\
|
2 |
7u83 |
360 |
}
|
|
|
361 |
|
7 |
7u83 |
362 |
#define DESTROY_exp_string_lit(destroyer_, type_, str_, c_class_exp)\
|
2 |
7u83 |
363 |
{\
|
7 |
7u83 |
364 |
c_class *x513_ = CHECK_TAG((c_class_exp), 7);\
|
|
|
365 |
(type_) = DEREF_type(x513_ + 1);\
|
|
|
366 |
(str_) = DEREF_str(x513_ + 2);\
|
|
|
367 |
(destroyer_)(x513_, (unsigned)3);\
|
2 |
7u83 |
368 |
}
|
|
|
369 |
|
|
|
370 |
|
|
|
371 |
/* Operations for field value of union EXP */
|
|
|
372 |
|
7 |
7u83 |
373 |
#define exp_value_tag ((unsigned)8)
|
|
|
374 |
#define IS_exp_value(P) (CHECK_NULL(P)->ag_tag == 8)
|
2 |
7u83 |
375 |
|
|
|
376 |
|
7 |
7u83 |
377 |
#define MAKE_exp_value(type_, c_class_exp)\
|
2 |
7u83 |
378 |
{\
|
7 |
7u83 |
379 |
c_class *x514_ = GEN_c_class(2, TYPEID_exp);\
|
|
|
380 |
x514_->ag_tag = 8;\
|
|
|
381 |
COPY_type(x514_ + 1, (type_));\
|
|
|
382 |
(c_class_exp) = x514_;\
|
2 |
7u83 |
383 |
}
|
|
|
384 |
|
7 |
7u83 |
385 |
#define DECONS_exp_value(type_, c_class_exp)\
|
2 |
7u83 |
386 |
{\
|
7 |
7u83 |
387 |
c_class *x515_ = CHECK_TAG((c_class_exp), 8);\
|
|
|
388 |
(type_) = DEREF_type(x515_ + 1);\
|
2 |
7u83 |
389 |
}
|
|
|
390 |
|
7 |
7u83 |
391 |
#define DESTROY_exp_value(destroyer_, type_, c_class_exp)\
|
2 |
7u83 |
392 |
{\
|
7 |
7u83 |
393 |
c_class *x516_ = CHECK_TAG((c_class_exp), 8);\
|
|
|
394 |
(type_) = DEREF_type(x516_ + 1);\
|
|
|
395 |
(destroyer_)(x516_, (unsigned)2);\
|
2 |
7u83 |
396 |
}
|
|
|
397 |
|
|
|
398 |
|
|
|
399 |
/* Operations for field set null_etc of union EXP */
|
|
|
400 |
|
7 |
7u83 |
401 |
#define exp_null_etc_tag ((unsigned)11)
|
|
|
402 |
#define IS_exp_null_etc(P) ((unsigned)(CHECK_NULL(P)->ag_tag - 9) < (unsigned)2)
|
2 |
7u83 |
403 |
|
|
|
404 |
|
7 |
7u83 |
405 |
#define MAKE_exp_null_etc(tag, type_, c_class_exp)\
|
2 |
7u83 |
406 |
{\
|
7 |
7u83 |
407 |
c_class *x517_ = GEN_c_class(2, TYPEID_exp);\
|
|
|
408 |
x517_->ag_tag = (tag);\
|
|
|
409 |
COPY_type(x517_ + 1, (type_));\
|
|
|
410 |
(c_class_exp) = CHECK_TAG_ETC(x517_, 9, 11);\
|
2 |
7u83 |
411 |
}
|
|
|
412 |
|
7 |
7u83 |
413 |
#define MODIFY_exp_null_etc(tag, c_class_exp)\
|
2 |
7u83 |
414 |
{\
|
7 |
7u83 |
415 |
c_class *x518_ = CHECK_TAG_ETC ((c_class_exp), 9, 11);\
|
|
|
416 |
x518_->ag_tag = (tag);\
|
|
|
417 |
(void) CHECK_TAG_ETC (x518_, 9, 11);\
|
2 |
7u83 |
418 |
}
|
|
|
419 |
|
7 |
7u83 |
420 |
#define DECONS_exp_null_etc(type_, c_class_exp)\
|
2 |
7u83 |
421 |
{\
|
7 |
7u83 |
422 |
c_class *x519_ = CHECK_TAG_ETC((c_class_exp), 9, 11);\
|
|
|
423 |
(type_) = DEREF_type(x519_ + 1);\
|
2 |
7u83 |
424 |
}
|
|
|
425 |
|
7 |
7u83 |
426 |
#define DESTROY_exp_null_etc(destroyer_, type_, c_class_exp)\
|
2 |
7u83 |
427 |
{\
|
7 |
7u83 |
428 |
c_class *x520_ = CHECK_TAG_ETC((c_class_exp), 9, 11);\
|
|
|
429 |
(type_) = DEREF_type(x520_ + 1);\
|
|
|
430 |
(destroyer_)(x520_, (unsigned)2);\
|
2 |
7u83 |
431 |
}
|
|
|
432 |
|
|
|
433 |
|
|
|
434 |
/* Operations for field null of union EXP */
|
|
|
435 |
|
7 |
7u83 |
436 |
#define exp_null_tag ((unsigned)9)
|
|
|
437 |
#define IS_exp_null(P) (CHECK_NULL(P)->ag_tag == 9)
|
2 |
7u83 |
438 |
|
|
|
439 |
|
7 |
7u83 |
440 |
#define MAKE_exp_null(type_, c_class_exp)\
|
2 |
7u83 |
441 |
{\
|
7 |
7u83 |
442 |
c_class *x521_ = GEN_c_class(2, TYPEID_exp);\
|
|
|
443 |
x521_->ag_tag = 9;\
|
|
|
444 |
COPY_type(x521_ + 1, (type_));\
|
|
|
445 |
(c_class_exp) = x521_;\
|
2 |
7u83 |
446 |
}
|
|
|
447 |
|
7 |
7u83 |
448 |
#define DECONS_exp_null(type_, c_class_exp)\
|
2 |
7u83 |
449 |
{\
|
7 |
7u83 |
450 |
c_class *x522_ = CHECK_TAG((c_class_exp), 9);\
|
|
|
451 |
(type_) = DEREF_type(x522_ + 1);\
|
2 |
7u83 |
452 |
}
|
|
|
453 |
|
7 |
7u83 |
454 |
#define DESTROY_exp_null(destroyer_, type_, c_class_exp)\
|
2 |
7u83 |
455 |
{\
|
7 |
7u83 |
456 |
c_class *x523_ = CHECK_TAG((c_class_exp), 9);\
|
|
|
457 |
(type_) = DEREF_type(x523_ + 1);\
|
|
|
458 |
(destroyer_)(x523_, (unsigned)2);\
|
2 |
7u83 |
459 |
}
|
|
|
460 |
|
|
|
461 |
|
|
|
462 |
/* Operations for field zero of union EXP */
|
|
|
463 |
|
7 |
7u83 |
464 |
#define exp_zero_tag ((unsigned)10)
|
|
|
465 |
#define IS_exp_zero(P) (CHECK_NULL(P)->ag_tag == 10)
|
2 |
7u83 |
466 |
|
|
|
467 |
|
7 |
7u83 |
468 |
#define MAKE_exp_zero(type_, c_class_exp)\
|
2 |
7u83 |
469 |
{\
|
7 |
7u83 |
470 |
c_class *x524_ = GEN_c_class(2, TYPEID_exp);\
|
|
|
471 |
x524_->ag_tag = 10;\
|
|
|
472 |
COPY_type(x524_ + 1, (type_));\
|
|
|
473 |
(c_class_exp) = x524_;\
|
2 |
7u83 |
474 |
}
|
|
|
475 |
|
7 |
7u83 |
476 |
#define DECONS_exp_zero(type_, c_class_exp)\
|
2 |
7u83 |
477 |
{\
|
7 |
7u83 |
478 |
c_class *x525_ = CHECK_TAG((c_class_exp), 10);\
|
|
|
479 |
(type_) = DEREF_type(x525_ + 1);\
|
2 |
7u83 |
480 |
}
|
|
|
481 |
|
7 |
7u83 |
482 |
#define DESTROY_exp_zero(destroyer_, type_, c_class_exp)\
|
2 |
7u83 |
483 |
{\
|
7 |
7u83 |
484 |
c_class *x526_ = CHECK_TAG((c_class_exp), 10);\
|
|
|
485 |
(type_) = DEREF_type(x526_ + 1);\
|
|
|
486 |
(destroyer_)(x526_, (unsigned)2);\
|
2 |
7u83 |
487 |
}
|
|
|
488 |
|
|
|
489 |
|
|
|
490 |
/* Operations for field set paren_etc of union EXP */
|
|
|
491 |
|
7 |
7u83 |
492 |
#define exp_paren_etc_tag ((unsigned)13)
|
|
|
493 |
#define IS_exp_paren_etc(P) ((unsigned)(CHECK_NULL(P)->ag_tag - 11) < (unsigned)2)
|
2 |
7u83 |
494 |
|
7 |
7u83 |
495 |
#define exp_paren_etc_arg(P) (CHECK_TAG_ETC((P), 11, 13) + 2)
|
2 |
7u83 |
496 |
|
7 |
7u83 |
497 |
#define MAKE_exp_paren_etc(tag, type_, arg_, c_class_exp)\
|
2 |
7u83 |
498 |
{\
|
7 |
7u83 |
499 |
c_class *x527_ = GEN_c_class(3, TYPEID_exp);\
|
|
|
500 |
x527_->ag_tag = (tag);\
|
|
|
501 |
COPY_type(x527_ + 1, (type_));\
|
|
|
502 |
COPY_exp(x527_ + 2, (arg_));\
|
|
|
503 |
(c_class_exp) = CHECK_TAG_ETC(x527_, 11, 13);\
|
2 |
7u83 |
504 |
}
|
|
|
505 |
|
7 |
7u83 |
506 |
#define MODIFY_exp_paren_etc(tag, c_class_exp)\
|
2 |
7u83 |
507 |
{\
|
7 |
7u83 |
508 |
c_class *x528_ = CHECK_TAG_ETC ((c_class_exp), 11, 13);\
|
|
|
509 |
x528_->ag_tag = (tag);\
|
|
|
510 |
(void) CHECK_TAG_ETC (x528_, 11, 13);\
|
2 |
7u83 |
511 |
}
|
|
|
512 |
|
7 |
7u83 |
513 |
#define DECONS_exp_paren_etc(type_, arg_, c_class_exp)\
|
2 |
7u83 |
514 |
{\
|
7 |
7u83 |
515 |
c_class *x529_ = CHECK_TAG_ETC((c_class_exp), 11, 13);\
|
|
|
516 |
(type_) = DEREF_type(x529_ + 1);\
|
|
|
517 |
(arg_) = DEREF_exp(x529_ + 2);\
|
2 |
7u83 |
518 |
}
|
|
|
519 |
|
7 |
7u83 |
520 |
#define DESTROY_exp_paren_etc(destroyer_, type_, arg_, c_class_exp)\
|
2 |
7u83 |
521 |
{\
|
7 |
7u83 |
522 |
c_class *x530_ = CHECK_TAG_ETC((c_class_exp), 11, 13);\
|
|
|
523 |
(type_) = DEREF_type(x530_ + 1);\
|
|
|
524 |
(arg_) = DEREF_exp(x530_ + 2);\
|
|
|
525 |
(destroyer_)(x530_, (unsigned)3);\
|
2 |
7u83 |
526 |
}
|
|
|
527 |
|
|
|
528 |
|
|
|
529 |
/* Operations for field paren of union EXP */
|
|
|
530 |
|
7 |
7u83 |
531 |
#define exp_paren_tag ((unsigned)11)
|
|
|
532 |
#define IS_exp_paren(P) (CHECK_NULL(P)->ag_tag == 11)
|
2 |
7u83 |
533 |
|
7 |
7u83 |
534 |
#define exp_paren_arg(P) (CHECK_TAG((P), 11) + 2)
|
2 |
7u83 |
535 |
|
7 |
7u83 |
536 |
#define MAKE_exp_paren(type_, arg_, c_class_exp)\
|
2 |
7u83 |
537 |
{\
|
7 |
7u83 |
538 |
c_class *x531_ = GEN_c_class(3, TYPEID_exp);\
|
|
|
539 |
x531_->ag_tag = 11;\
|
|
|
540 |
COPY_type(x531_ + 1, (type_));\
|
|
|
541 |
COPY_exp(x531_ + 2, (arg_));\
|
|
|
542 |
(c_class_exp) = x531_;\
|
2 |
7u83 |
543 |
}
|
|
|
544 |
|
7 |
7u83 |
545 |
#define DECONS_exp_paren(type_, arg_, c_class_exp)\
|
2 |
7u83 |
546 |
{\
|
7 |
7u83 |
547 |
c_class *x532_ = CHECK_TAG((c_class_exp), 11);\
|
|
|
548 |
(type_) = DEREF_type(x532_ + 1);\
|
|
|
549 |
(arg_) = DEREF_exp(x532_ + 2);\
|
2 |
7u83 |
550 |
}
|
|
|
551 |
|
7 |
7u83 |
552 |
#define DESTROY_exp_paren(destroyer_, type_, arg_, c_class_exp)\
|
2 |
7u83 |
553 |
{\
|
7 |
7u83 |
554 |
c_class *x533_ = CHECK_TAG((c_class_exp), 11);\
|
|
|
555 |
(type_) = DEREF_type(x533_ + 1);\
|
|
|
556 |
(arg_) = DEREF_exp(x533_ + 2);\
|
|
|
557 |
(destroyer_)(x533_, (unsigned)3);\
|
2 |
7u83 |
558 |
}
|
|
|
559 |
|
|
|
560 |
|
|
|
561 |
/* Operations for field copy of union EXP */
|
|
|
562 |
|
7 |
7u83 |
563 |
#define exp_copy_tag ((unsigned)12)
|
|
|
564 |
#define IS_exp_copy(P) (CHECK_NULL(P)->ag_tag == 12)
|
2 |
7u83 |
565 |
|
7 |
7u83 |
566 |
#define exp_copy_arg(P) (CHECK_TAG((P), 12) + 2)
|
2 |
7u83 |
567 |
|
7 |
7u83 |
568 |
#define MAKE_exp_copy(type_, arg_, c_class_exp)\
|
2 |
7u83 |
569 |
{\
|
7 |
7u83 |
570 |
c_class *x534_ = GEN_c_class(3, TYPEID_exp);\
|
|
|
571 |
x534_->ag_tag = 12;\
|
|
|
572 |
COPY_type(x534_ + 1, (type_));\
|
|
|
573 |
COPY_exp(x534_ + 2, (arg_));\
|
|
|
574 |
(c_class_exp) = x534_;\
|
2 |
7u83 |
575 |
}
|
|
|
576 |
|
7 |
7u83 |
577 |
#define DECONS_exp_copy(type_, arg_, c_class_exp)\
|
2 |
7u83 |
578 |
{\
|
7 |
7u83 |
579 |
c_class *x535_ = CHECK_TAG((c_class_exp), 12);\
|
|
|
580 |
(type_) = DEREF_type(x535_ + 1);\
|
|
|
581 |
(arg_) = DEREF_exp(x535_ + 2);\
|
2 |
7u83 |
582 |
}
|
|
|
583 |
|
7 |
7u83 |
584 |
#define DESTROY_exp_copy(destroyer_, type_, arg_, c_class_exp)\
|
2 |
7u83 |
585 |
{\
|
7 |
7u83 |
586 |
c_class *x536_ = CHECK_TAG((c_class_exp), 12);\
|
|
|
587 |
(type_) = DEREF_type(x536_ + 1);\
|
|
|
588 |
(arg_) = DEREF_exp(x536_ + 2);\
|
|
|
589 |
(destroyer_)(x536_, (unsigned)3);\
|
2 |
7u83 |
590 |
}
|
|
|
591 |
|
|
|
592 |
|
|
|
593 |
/* Operations for field assign of union EXP */
|
|
|
594 |
|
7 |
7u83 |
595 |
#define exp_assign_tag ((unsigned)13)
|
|
|
596 |
#define IS_exp_assign(P) (CHECK_NULL(P)->ag_tag == 13)
|
2 |
7u83 |
597 |
|
7 |
7u83 |
598 |
#define exp_assign_ref(P) (CHECK_TAG((P), 13) + 2)
|
|
|
599 |
#define exp_assign_arg(P) (CHECK_TAG((P), 13) + 3)
|
2 |
7u83 |
600 |
|
7 |
7u83 |
601 |
#define MAKE_exp_assign(type_, ref_, arg_, c_class_exp)\
|
2 |
7u83 |
602 |
{\
|
7 |
7u83 |
603 |
c_class *x537_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
604 |
x537_->ag_tag = 13;\
|
|
|
605 |
COPY_type(x537_ + 1, (type_));\
|
|
|
606 |
COPY_exp(x537_ + 2, (ref_));\
|
|
|
607 |
COPY_exp(x537_ + 3, (arg_));\
|
|
|
608 |
(c_class_exp) = x537_;\
|
2 |
7u83 |
609 |
}
|
|
|
610 |
|
7 |
7u83 |
611 |
#define DECONS_exp_assign(type_, ref_, arg_, c_class_exp)\
|
2 |
7u83 |
612 |
{\
|
7 |
7u83 |
613 |
c_class *x538_ = CHECK_TAG((c_class_exp), 13);\
|
|
|
614 |
(type_) = DEREF_type(x538_ + 1);\
|
|
|
615 |
(ref_) = DEREF_exp(x538_ + 2);\
|
|
|
616 |
(arg_) = DEREF_exp(x538_ + 3);\
|
2 |
7u83 |
617 |
}
|
|
|
618 |
|
7 |
7u83 |
619 |
#define DESTROY_exp_assign(destroyer_, type_, ref_, arg_, c_class_exp)\
|
2 |
7u83 |
620 |
{\
|
7 |
7u83 |
621 |
c_class *x539_ = CHECK_TAG((c_class_exp), 13);\
|
|
|
622 |
(type_) = DEREF_type(x539_ + 1);\
|
|
|
623 |
(ref_) = DEREF_exp(x539_ + 2);\
|
|
|
624 |
(arg_) = DEREF_exp(x539_ + 3);\
|
|
|
625 |
(destroyer_)(x539_, (unsigned)4);\
|
2 |
7u83 |
626 |
}
|
|
|
627 |
|
|
|
628 |
|
|
|
629 |
/* Operations for field init of union EXP */
|
|
|
630 |
|
7 |
7u83 |
631 |
#define exp_init_tag ((unsigned)14)
|
|
|
632 |
#define IS_exp_init(P) (CHECK_NULL(P)->ag_tag == 14)
|
2 |
7u83 |
633 |
|
7 |
7u83 |
634 |
#define exp_init_id(P) (CHECK_TAG((P), 14) + 2)
|
|
|
635 |
#define exp_init_arg(P) (CHECK_TAG((P), 14) + 3)
|
2 |
7u83 |
636 |
|
7 |
7u83 |
637 |
#define MAKE_exp_init(type_, id_, arg_, c_class_exp)\
|
2 |
7u83 |
638 |
{\
|
7 |
7u83 |
639 |
c_class *x540_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
640 |
x540_->ag_tag = 14;\
|
|
|
641 |
COPY_type(x540_ + 1, (type_));\
|
|
|
642 |
COPY_id(x540_ + 2, (id_));\
|
|
|
643 |
COPY_exp(x540_ + 3, (arg_));\
|
|
|
644 |
(c_class_exp) = x540_;\
|
2 |
7u83 |
645 |
}
|
|
|
646 |
|
7 |
7u83 |
647 |
#define DECONS_exp_init(type_, id_, arg_, c_class_exp)\
|
2 |
7u83 |
648 |
{\
|
7 |
7u83 |
649 |
c_class *x541_ = CHECK_TAG((c_class_exp), 14);\
|
|
|
650 |
(type_) = DEREF_type(x541_ + 1);\
|
|
|
651 |
(id_) = DEREF_id(x541_ + 2);\
|
|
|
652 |
(arg_) = DEREF_exp(x541_ + 3);\
|
2 |
7u83 |
653 |
}
|
|
|
654 |
|
7 |
7u83 |
655 |
#define DESTROY_exp_init(destroyer_, type_, id_, arg_, c_class_exp)\
|
2 |
7u83 |
656 |
{\
|
7 |
7u83 |
657 |
c_class *x542_ = CHECK_TAG((c_class_exp), 14);\
|
|
|
658 |
(type_) = DEREF_type(x542_ + 1);\
|
|
|
659 |
(id_) = DEREF_id(x542_ + 2);\
|
|
|
660 |
(arg_) = DEREF_exp(x542_ + 3);\
|
|
|
661 |
(destroyer_)(x542_, (unsigned)4);\
|
2 |
7u83 |
662 |
}
|
|
|
663 |
|
|
|
664 |
|
|
|
665 |
/* Operations for field preinc of union EXP */
|
|
|
666 |
|
7 |
7u83 |
667 |
#define exp_preinc_tag ((unsigned)15)
|
|
|
668 |
#define IS_exp_preinc(P) (CHECK_NULL(P)->ag_tag == 15)
|
2 |
7u83 |
669 |
|
7 |
7u83 |
670 |
#define exp_preinc_ref(P) (CHECK_TAG((P), 15) + 2)
|
|
|
671 |
#define exp_preinc_op(P) (CHECK_TAG((P), 15) + 3)
|
|
|
672 |
#define exp_preinc_becomes(P) (CHECK_TAG((P), 15) + 4)
|
2 |
7u83 |
673 |
|
7 |
7u83 |
674 |
#define MAKE_exp_preinc(type_, ref_, op_, becomes_, c_class_exp)\
|
2 |
7u83 |
675 |
{\
|
7 |
7u83 |
676 |
c_class *x543_ = GEN_c_class(5, TYPEID_exp);\
|
|
|
677 |
x543_->ag_tag = 15;\
|
|
|
678 |
COPY_type(x543_ + 1, (type_));\
|
|
|
679 |
COPY_exp(x543_ + 2, (ref_));\
|
|
|
680 |
COPY_exp(x543_ + 3, (op_));\
|
|
|
681 |
COPY_int(x543_ + 4, (becomes_));\
|
|
|
682 |
(c_class_exp) = x543_;\
|
2 |
7u83 |
683 |
}
|
|
|
684 |
|
7 |
7u83 |
685 |
#define DECONS_exp_preinc(type_, ref_, op_, becomes_, c_class_exp)\
|
2 |
7u83 |
686 |
{\
|
7 |
7u83 |
687 |
c_class *x544_ = CHECK_TAG((c_class_exp), 15);\
|
|
|
688 |
(type_) = DEREF_type(x544_ + 1);\
|
|
|
689 |
(ref_) = DEREF_exp(x544_ + 2);\
|
|
|
690 |
(op_) = DEREF_exp(x544_ + 3);\
|
|
|
691 |
(becomes_) = DEREF_int(x544_ + 4);\
|
2 |
7u83 |
692 |
}
|
|
|
693 |
|
7 |
7u83 |
694 |
#define DESTROY_exp_preinc(destroyer_, type_, ref_, op_, becomes_, c_class_exp)\
|
2 |
7u83 |
695 |
{\
|
7 |
7u83 |
696 |
c_class *x545_ = CHECK_TAG((c_class_exp), 15);\
|
|
|
697 |
(type_) = DEREF_type(x545_ + 1);\
|
|
|
698 |
(ref_) = DEREF_exp(x545_ + 2);\
|
|
|
699 |
(op_) = DEREF_exp(x545_ + 3);\
|
|
|
700 |
(becomes_) = DEREF_int(x545_ + 4);\
|
|
|
701 |
(destroyer_)(x545_, (unsigned)5);\
|
2 |
7u83 |
702 |
}
|
|
|
703 |
|
|
|
704 |
|
|
|
705 |
/* Operations for field postinc of union EXP */
|
|
|
706 |
|
7 |
7u83 |
707 |
#define exp_postinc_tag ((unsigned)16)
|
|
|
708 |
#define IS_exp_postinc(P) (CHECK_NULL(P)->ag_tag == 16)
|
2 |
7u83 |
709 |
|
7 |
7u83 |
710 |
#define exp_postinc_ref(P) (CHECK_TAG((P), 16) + 2)
|
|
|
711 |
#define exp_postinc_value(P) (CHECK_TAG((P), 16) + 3)
|
|
|
712 |
#define exp_postinc_op(P) (CHECK_TAG((P), 16) + 4)
|
2 |
7u83 |
713 |
|
7 |
7u83 |
714 |
#define MAKE_exp_postinc(type_, ref_, value_, op_, c_class_exp)\
|
2 |
7u83 |
715 |
{\
|
7 |
7u83 |
716 |
c_class *x546_ = GEN_c_class(5, TYPEID_exp);\
|
|
|
717 |
x546_->ag_tag = 16;\
|
|
|
718 |
COPY_type(x546_ + 1, (type_));\
|
|
|
719 |
COPY_exp(x546_ + 2, (ref_));\
|
|
|
720 |
COPY_exp(x546_ + 3, (value_));\
|
|
|
721 |
COPY_exp(x546_ + 4, (op_));\
|
|
|
722 |
(c_class_exp) = x546_;\
|
2 |
7u83 |
723 |
}
|
|
|
724 |
|
7 |
7u83 |
725 |
#define DECONS_exp_postinc(type_, ref_, value_, op_, c_class_exp)\
|
2 |
7u83 |
726 |
{\
|
7 |
7u83 |
727 |
c_class *x547_ = CHECK_TAG((c_class_exp), 16);\
|
|
|
728 |
(type_) = DEREF_type(x547_ + 1);\
|
|
|
729 |
(ref_) = DEREF_exp(x547_ + 2);\
|
|
|
730 |
(value_) = DEREF_exp(x547_ + 3);\
|
|
|
731 |
(op_) = DEREF_exp(x547_ + 4);\
|
2 |
7u83 |
732 |
}
|
|
|
733 |
|
7 |
7u83 |
734 |
#define DESTROY_exp_postinc(destroyer_, type_, ref_, value_, op_, c_class_exp)\
|
2 |
7u83 |
735 |
{\
|
7 |
7u83 |
736 |
c_class *x548_ = CHECK_TAG((c_class_exp), 16);\
|
|
|
737 |
(type_) = DEREF_type(x548_ + 1);\
|
|
|
738 |
(ref_) = DEREF_exp(x548_ + 2);\
|
|
|
739 |
(value_) = DEREF_exp(x548_ + 3);\
|
|
|
740 |
(op_) = DEREF_exp(x548_ + 4);\
|
|
|
741 |
(destroyer_)(x548_, (unsigned)5);\
|
2 |
7u83 |
742 |
}
|
|
|
743 |
|
|
|
744 |
|
|
|
745 |
/* Operations for field indir of union EXP */
|
|
|
746 |
|
7 |
7u83 |
747 |
#define exp_indir_tag ((unsigned)17)
|
|
|
748 |
#define IS_exp_indir(P) (CHECK_NULL(P)->ag_tag == 17)
|
2 |
7u83 |
749 |
|
7 |
7u83 |
750 |
#define exp_indir_ptr(P) (CHECK_TAG((P), 17) + 2)
|
|
|
751 |
#define exp_indir_index(P) (CHECK_TAG((P), 17) + 3)
|
2 |
7u83 |
752 |
|
7 |
7u83 |
753 |
#define MAKE_exp_indir(type_, ptr_, c_class_exp)\
|
2 |
7u83 |
754 |
{\
|
7 |
7u83 |
755 |
c_class *x549_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
756 |
x549_->ag_tag = 17;\
|
|
|
757 |
COPY_type(x549_ + 1, (type_));\
|
|
|
758 |
COPY_exp(x549_ + 2, (ptr_));\
|
|
|
759 |
COPY_int(x549_ + 3, 0);\
|
|
|
760 |
(c_class_exp) = x549_;\
|
2 |
7u83 |
761 |
}
|
|
|
762 |
|
7 |
7u83 |
763 |
#define DECONS_exp_indir(type_, ptr_, index_, c_class_exp)\
|
2 |
7u83 |
764 |
{\
|
7 |
7u83 |
765 |
c_class *x550_ = CHECK_TAG((c_class_exp), 17);\
|
|
|
766 |
(type_) = DEREF_type(x550_ + 1);\
|
|
|
767 |
(ptr_) = DEREF_exp(x550_ + 2);\
|
|
|
768 |
(index_) = DEREF_int(x550_ + 3);\
|
2 |
7u83 |
769 |
}
|
|
|
770 |
|
7 |
7u83 |
771 |
#define DESTROY_exp_indir(destroyer_, type_, ptr_, index_, c_class_exp)\
|
2 |
7u83 |
772 |
{\
|
7 |
7u83 |
773 |
c_class *x551_ = CHECK_TAG((c_class_exp), 17);\
|
|
|
774 |
(type_) = DEREF_type(x551_ + 1);\
|
|
|
775 |
(ptr_) = DEREF_exp(x551_ + 2);\
|
|
|
776 |
(index_) = DEREF_int(x551_ + 3);\
|
|
|
777 |
(destroyer_)(x551_, (unsigned)4);\
|
2 |
7u83 |
778 |
}
|
|
|
779 |
|
|
|
780 |
|
|
|
781 |
/* Operations for field contents of union EXP */
|
|
|
782 |
|
7 |
7u83 |
783 |
#define exp_contents_tag ((unsigned)18)
|
|
|
784 |
#define IS_exp_contents(P) (CHECK_NULL(P)->ag_tag == 18)
|
2 |
7u83 |
785 |
|
7 |
7u83 |
786 |
#define exp_contents_ptr(P) (CHECK_TAG((P), 18) + 2)
|
2 |
7u83 |
787 |
|
7 |
7u83 |
788 |
#define MAKE_exp_contents(type_, ptr_, c_class_exp)\
|
2 |
7u83 |
789 |
{\
|
7 |
7u83 |
790 |
c_class *x552_ = GEN_c_class(3, TYPEID_exp);\
|
|
|
791 |
x552_->ag_tag = 18;\
|
|
|
792 |
COPY_type(x552_ + 1, (type_));\
|
|
|
793 |
COPY_exp(x552_ + 2, (ptr_));\
|
|
|
794 |
(c_class_exp) = x552_;\
|
2 |
7u83 |
795 |
}
|
|
|
796 |
|
7 |
7u83 |
797 |
#define DECONS_exp_contents(type_, ptr_, c_class_exp)\
|
2 |
7u83 |
798 |
{\
|
7 |
7u83 |
799 |
c_class *x553_ = CHECK_TAG((c_class_exp), 18);\
|
|
|
800 |
(type_) = DEREF_type(x553_ + 1);\
|
|
|
801 |
(ptr_) = DEREF_exp(x553_ + 2);\
|
2 |
7u83 |
802 |
}
|
|
|
803 |
|
7 |
7u83 |
804 |
#define DESTROY_exp_contents(destroyer_, type_, ptr_, c_class_exp)\
|
2 |
7u83 |
805 |
{\
|
7 |
7u83 |
806 |
c_class *x554_ = CHECK_TAG((c_class_exp), 18);\
|
|
|
807 |
(type_) = DEREF_type(x554_ + 1);\
|
|
|
808 |
(ptr_) = DEREF_exp(x554_ + 2);\
|
|
|
809 |
(destroyer_)(x554_, (unsigned)3);\
|
2 |
7u83 |
810 |
}
|
|
|
811 |
|
|
|
812 |
|
|
|
813 |
/* Operations for field address of union EXP */
|
|
|
814 |
|
7 |
7u83 |
815 |
#define exp_address_tag ((unsigned)19)
|
|
|
816 |
#define IS_exp_address(P) (CHECK_NULL(P)->ag_tag == 19)
|
2 |
7u83 |
817 |
|
7 |
7u83 |
818 |
#define exp_address_arg(P) (CHECK_TAG((P), 19) + 2)
|
2 |
7u83 |
819 |
|
7 |
7u83 |
820 |
#define MAKE_exp_address(type_, arg_, c_class_exp)\
|
2 |
7u83 |
821 |
{\
|
7 |
7u83 |
822 |
c_class *x555_ = GEN_c_class(3, TYPEID_exp);\
|
|
|
823 |
x555_->ag_tag = 19;\
|
|
|
824 |
COPY_type(x555_ + 1, (type_));\
|
|
|
825 |
COPY_exp(x555_ + 2, (arg_));\
|
|
|
826 |
(c_class_exp) = x555_;\
|
2 |
7u83 |
827 |
}
|
|
|
828 |
|
7 |
7u83 |
829 |
#define DECONS_exp_address(type_, arg_, c_class_exp)\
|
2 |
7u83 |
830 |
{\
|
7 |
7u83 |
831 |
c_class *x556_ = CHECK_TAG((c_class_exp), 19);\
|
|
|
832 |
(type_) = DEREF_type(x556_ + 1);\
|
|
|
833 |
(arg_) = DEREF_exp(x556_ + 2);\
|
2 |
7u83 |
834 |
}
|
|
|
835 |
|
7 |
7u83 |
836 |
#define DESTROY_exp_address(destroyer_, type_, arg_, c_class_exp)\
|
2 |
7u83 |
837 |
{\
|
7 |
7u83 |
838 |
c_class *x557_ = CHECK_TAG((c_class_exp), 19);\
|
|
|
839 |
(type_) = DEREF_type(x557_ + 1);\
|
|
|
840 |
(arg_) = DEREF_exp(x557_ + 2);\
|
|
|
841 |
(destroyer_)(x557_, (unsigned)3);\
|
2 |
7u83 |
842 |
}
|
|
|
843 |
|
|
|
844 |
|
|
|
845 |
/* Operations for field address_mem of union EXP */
|
|
|
846 |
|
7 |
7u83 |
847 |
#define exp_address_mem_tag ((unsigned)20)
|
|
|
848 |
#define IS_exp_address_mem(P) (CHECK_NULL(P)->ag_tag == 20)
|
2 |
7u83 |
849 |
|
7 |
7u83 |
850 |
#define exp_address_mem_arg(P) (CHECK_TAG((P), 20) + 2)
|
|
|
851 |
#define exp_address_mem_paren(P) (CHECK_TAG((P), 20) + 3)
|
2 |
7u83 |
852 |
|
7 |
7u83 |
853 |
#define MAKE_exp_address_mem(type_, arg_, paren_, c_class_exp)\
|
2 |
7u83 |
854 |
{\
|
7 |
7u83 |
855 |
c_class *x558_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
856 |
x558_->ag_tag = 20;\
|
|
|
857 |
COPY_type(x558_ + 1, (type_));\
|
|
|
858 |
COPY_exp(x558_ + 2, (arg_));\
|
|
|
859 |
COPY_int(x558_ + 3, (paren_));\
|
|
|
860 |
(c_class_exp) = x558_;\
|
2 |
7u83 |
861 |
}
|
|
|
862 |
|
7 |
7u83 |
863 |
#define DECONS_exp_address_mem(type_, arg_, paren_, c_class_exp)\
|
2 |
7u83 |
864 |
{\
|
7 |
7u83 |
865 |
c_class *x559_ = CHECK_TAG((c_class_exp), 20);\
|
|
|
866 |
(type_) = DEREF_type(x559_ + 1);\
|
|
|
867 |
(arg_) = DEREF_exp(x559_ + 2);\
|
|
|
868 |
(paren_) = DEREF_int(x559_ + 3);\
|
2 |
7u83 |
869 |
}
|
|
|
870 |
|
7 |
7u83 |
871 |
#define DESTROY_exp_address_mem(destroyer_, type_, arg_, paren_, c_class_exp)\
|
2 |
7u83 |
872 |
{\
|
7 |
7u83 |
873 |
c_class *x560_ = CHECK_TAG((c_class_exp), 20);\
|
|
|
874 |
(type_) = DEREF_type(x560_ + 1);\
|
|
|
875 |
(arg_) = DEREF_exp(x560_ + 2);\
|
|
|
876 |
(paren_) = DEREF_int(x560_ + 3);\
|
|
|
877 |
(destroyer_)(x560_, (unsigned)4);\
|
2 |
7u83 |
878 |
}
|
|
|
879 |
|
|
|
880 |
|
|
|
881 |
/* Operations for field func of union EXP */
|
|
|
882 |
|
7 |
7u83 |
883 |
#define exp_func_tag ((unsigned)21)
|
|
|
884 |
#define IS_exp_func(P) (CHECK_NULL(P)->ag_tag == 21)
|
2 |
7u83 |
885 |
|
7 |
7u83 |
886 |
#define exp_func_fn(P) (CHECK_TAG((P), 21) + 2)
|
|
|
887 |
#define exp_func_args(P) (CHECK_TAG((P), 21) + 3)
|
|
|
888 |
#define exp_func_extra(P) (CHECK_TAG((P), 21) + 4)
|
2 |
7u83 |
889 |
|
7 |
7u83 |
890 |
#define MAKE_exp_func(type_, fn_, args_, c_class_exp)\
|
2 |
7u83 |
891 |
{\
|
7 |
7u83 |
892 |
c_class *x561_ = GEN_c_class(5, TYPEID_exp);\
|
|
|
893 |
x561_->ag_tag = 21;\
|
|
|
894 |
COPY_type(x561_ + 1, (type_));\
|
|
|
895 |
COPY_exp(x561_ + 2, (fn_));\
|
|
|
896 |
COPY_list(x561_ + 3, (args_));\
|
|
|
897 |
COPY_unsigned(x561_ + 4, 0);\
|
|
|
898 |
(c_class_exp) = x561_;\
|
2 |
7u83 |
899 |
}
|
|
|
900 |
|
7 |
7u83 |
901 |
#define DECONS_exp_func(type_, fn_, args_, extra_, c_class_exp)\
|
2 |
7u83 |
902 |
{\
|
7 |
7u83 |
903 |
c_class *x562_ = CHECK_TAG((c_class_exp), 21);\
|
|
|
904 |
(type_) = DEREF_type(x562_ + 1);\
|
|
|
905 |
(fn_) = DEREF_exp(x562_ + 2);\
|
|
|
906 |
(args_) = DEREF_list(x562_ + 3);\
|
|
|
907 |
(extra_) = DEREF_unsigned(x562_ + 4);\
|
2 |
7u83 |
908 |
}
|
|
|
909 |
|
7 |
7u83 |
910 |
#define DESTROY_exp_func(destroyer_, type_, fn_, args_, extra_, c_class_exp)\
|
2 |
7u83 |
911 |
{\
|
7 |
7u83 |
912 |
c_class *x563_ = CHECK_TAG((c_class_exp), 21);\
|
|
|
913 |
(type_) = DEREF_type(x563_ + 1);\
|
|
|
914 |
(fn_) = DEREF_exp(x563_ + 2);\
|
|
|
915 |
(args_) = DEREF_list(x563_ + 3);\
|
|
|
916 |
(extra_) = DEREF_unsigned(x563_ + 4);\
|
|
|
917 |
(destroyer_)(x563_, (unsigned)5);\
|
2 |
7u83 |
918 |
}
|
|
|
919 |
|
|
|
920 |
|
|
|
921 |
/* Operations for field func_id of union EXP */
|
|
|
922 |
|
7 |
7u83 |
923 |
#define exp_func_id_tag ((unsigned)22)
|
|
|
924 |
#define IS_exp_func_id(P) (CHECK_NULL(P)->ag_tag == 22)
|
2 |
7u83 |
925 |
|
7 |
7u83 |
926 |
#define exp_func_id_id(P) (CHECK_TAG((P), 22) + 2)
|
|
|
927 |
#define exp_func_id_args(P) (CHECK_TAG((P), 22) + 3)
|
|
|
928 |
#define exp_func_id_virt(P) (CHECK_TAG((P), 22) + 4)
|
|
|
929 |
#define exp_func_id_extra(P) (CHECK_TAG((P), 22) + 5)
|
2 |
7u83 |
930 |
|
7 |
7u83 |
931 |
#define MAKE_exp_func_id(type_, id_, args_, virt_, c_class_exp)\
|
2 |
7u83 |
932 |
{\
|
7 |
7u83 |
933 |
c_class *x564_ = GEN_c_class(6, TYPEID_exp);\
|
|
|
934 |
x564_->ag_tag = 22;\
|
|
|
935 |
COPY_type(x564_ + 1, (type_));\
|
|
|
936 |
COPY_id(x564_ + 2, (id_));\
|
|
|
937 |
COPY_list(x564_ + 3, (args_));\
|
|
|
938 |
COPY_exp(x564_ + 4, (virt_));\
|
|
|
939 |
COPY_unsigned(x564_ + 5, 0);\
|
|
|
940 |
(c_class_exp) = x564_;\
|
2 |
7u83 |
941 |
}
|
|
|
942 |
|
7 |
7u83 |
943 |
#define DECONS_exp_func_id(type_, id_, args_, virt_, extra_, c_class_exp)\
|
2 |
7u83 |
944 |
{\
|
7 |
7u83 |
945 |
c_class *x565_ = CHECK_TAG((c_class_exp), 22);\
|
|
|
946 |
(type_) = DEREF_type(x565_ + 1);\
|
|
|
947 |
(id_) = DEREF_id(x565_ + 2);\
|
|
|
948 |
(args_) = DEREF_list(x565_ + 3);\
|
|
|
949 |
(virt_) = DEREF_exp(x565_ + 4);\
|
|
|
950 |
(extra_) = DEREF_unsigned(x565_ + 5);\
|
2 |
7u83 |
951 |
}
|
|
|
952 |
|
7 |
7u83 |
953 |
#define DESTROY_exp_func_id(destroyer_, type_, id_, args_, virt_, extra_, c_class_exp)\
|
2 |
7u83 |
954 |
{\
|
7 |
7u83 |
955 |
c_class *x566_ = CHECK_TAG((c_class_exp), 22);\
|
|
|
956 |
(type_) = DEREF_type(x566_ + 1);\
|
|
|
957 |
(id_) = DEREF_id(x566_ + 2);\
|
|
|
958 |
(args_) = DEREF_list(x566_ + 3);\
|
|
|
959 |
(virt_) = DEREF_exp(x566_ + 4);\
|
|
|
960 |
(extra_) = DEREF_unsigned(x566_ + 5);\
|
|
|
961 |
(destroyer_)(x566_, (unsigned)6);\
|
2 |
7u83 |
962 |
}
|
|
|
963 |
|
|
|
964 |
|
|
|
965 |
/* Operations for field call of union EXP */
|
|
|
966 |
|
7 |
7u83 |
967 |
#define exp_call_tag ((unsigned)23)
|
|
|
968 |
#define IS_exp_call(P) (CHECK_NULL(P)->ag_tag == 23)
|
2 |
7u83 |
969 |
|
7 |
7u83 |
970 |
#define exp_call_ptr(P) (CHECK_TAG((P), 23) + 2)
|
|
|
971 |
#define exp_call_arg(P) (CHECK_TAG((P), 23) + 3)
|
|
|
972 |
#define exp_call_base(P) (CHECK_TAG((P), 23) + 4)
|
2 |
7u83 |
973 |
|
7 |
7u83 |
974 |
#define MAKE_exp_call(type_, ptr_, arg_, base_, c_class_exp)\
|
2 |
7u83 |
975 |
{\
|
7 |
7u83 |
976 |
c_class *x567_ = GEN_c_class(5, TYPEID_exp);\
|
|
|
977 |
x567_->ag_tag = 23;\
|
|
|
978 |
COPY_type(x567_ + 1, (type_));\
|
|
|
979 |
COPY_exp(x567_ + 2, (ptr_));\
|
|
|
980 |
COPY_exp(x567_ + 3, (arg_));\
|
|
|
981 |
COPY_graph(x567_ + 4, (base_));\
|
|
|
982 |
(c_class_exp) = x567_;\
|
2 |
7u83 |
983 |
}
|
|
|
984 |
|
7 |
7u83 |
985 |
#define DECONS_exp_call(type_, ptr_, arg_, base_, c_class_exp)\
|
2 |
7u83 |
986 |
{\
|
7 |
7u83 |
987 |
c_class *x568_ = CHECK_TAG((c_class_exp), 23);\
|
|
|
988 |
(type_) = DEREF_type(x568_ + 1);\
|
|
|
989 |
(ptr_) = DEREF_exp(x568_ + 2);\
|
|
|
990 |
(arg_) = DEREF_exp(x568_ + 3);\
|
|
|
991 |
(base_) = DEREF_graph(x568_ + 4);\
|
2 |
7u83 |
992 |
}
|
|
|
993 |
|
7 |
7u83 |
994 |
#define DESTROY_exp_call(destroyer_, type_, ptr_, arg_, base_, c_class_exp)\
|
2 |
7u83 |
995 |
{\
|
7 |
7u83 |
996 |
c_class *x569_ = CHECK_TAG((c_class_exp), 23);\
|
|
|
997 |
(type_) = DEREF_type(x569_ + 1);\
|
|
|
998 |
(ptr_) = DEREF_exp(x569_ + 2);\
|
|
|
999 |
(arg_) = DEREF_exp(x569_ + 3);\
|
|
|
1000 |
(base_) = DEREF_graph(x569_ + 4);\
|
|
|
1001 |
(destroyer_)(x569_, (unsigned)5);\
|
2 |
7u83 |
1002 |
}
|
|
|
1003 |
|
|
|
1004 |
|
|
|
1005 |
/* Operations for field set negate_etc of union EXP */
|
|
|
1006 |
|
7 |
7u83 |
1007 |
#define exp_negate_etc_tag ((unsigned)28)
|
|
|
1008 |
#define IS_exp_negate_etc(P) ((unsigned)(CHECK_NULL(P)->ag_tag - 24) < (unsigned)4)
|
2 |
7u83 |
1009 |
|
7 |
7u83 |
1010 |
#define exp_negate_etc_arg(P) (CHECK_TAG_ETC((P), 24, 28) + 2)
|
2 |
7u83 |
1011 |
|
7 |
7u83 |
1012 |
#define MAKE_exp_negate_etc(tag, type_, arg_, c_class_exp)\
|
2 |
7u83 |
1013 |
{\
|
7 |
7u83 |
1014 |
c_class *x570_ = GEN_c_class(3, TYPEID_exp);\
|
|
|
1015 |
x570_->ag_tag = (tag);\
|
|
|
1016 |
COPY_type(x570_ + 1, (type_));\
|
|
|
1017 |
COPY_exp(x570_ + 2, (arg_));\
|
|
|
1018 |
(c_class_exp) = CHECK_TAG_ETC(x570_, 24, 28);\
|
2 |
7u83 |
1019 |
}
|
|
|
1020 |
|
7 |
7u83 |
1021 |
#define MODIFY_exp_negate_etc(tag, c_class_exp)\
|
2 |
7u83 |
1022 |
{\
|
7 |
7u83 |
1023 |
c_class *x571_ = CHECK_TAG_ETC ((c_class_exp), 24, 28);\
|
|
|
1024 |
x571_->ag_tag = (tag);\
|
|
|
1025 |
(void) CHECK_TAG_ETC (x571_, 24, 28);\
|
2 |
7u83 |
1026 |
}
|
|
|
1027 |
|
7 |
7u83 |
1028 |
#define DECONS_exp_negate_etc(type_, arg_, c_class_exp)\
|
2 |
7u83 |
1029 |
{\
|
7 |
7u83 |
1030 |
c_class *x572_ = CHECK_TAG_ETC((c_class_exp), 24, 28);\
|
|
|
1031 |
(type_) = DEREF_type(x572_ + 1);\
|
|
|
1032 |
(arg_) = DEREF_exp(x572_ + 2);\
|
2 |
7u83 |
1033 |
}
|
|
|
1034 |
|
7 |
7u83 |
1035 |
#define DESTROY_exp_negate_etc(destroyer_, type_, arg_, c_class_exp)\
|
2 |
7u83 |
1036 |
{\
|
7 |
7u83 |
1037 |
c_class *x573_ = CHECK_TAG_ETC((c_class_exp), 24, 28);\
|
|
|
1038 |
(type_) = DEREF_type(x573_ + 1);\
|
|
|
1039 |
(arg_) = DEREF_exp(x573_ + 2);\
|
|
|
1040 |
(destroyer_)(x573_, (unsigned)3);\
|
2 |
7u83 |
1041 |
}
|
|
|
1042 |
|
|
|
1043 |
|
|
|
1044 |
/* Operations for field negate of union EXP */
|
|
|
1045 |
|
7 |
7u83 |
1046 |
#define exp_negate_tag ((unsigned)24)
|
|
|
1047 |
#define IS_exp_negate(P) (CHECK_NULL(P)->ag_tag == 24)
|
2 |
7u83 |
1048 |
|
7 |
7u83 |
1049 |
#define exp_negate_arg(P) (CHECK_TAG((P), 24) + 2)
|
2 |
7u83 |
1050 |
|
7 |
7u83 |
1051 |
#define MAKE_exp_negate(type_, arg_, c_class_exp)\
|
2 |
7u83 |
1052 |
{\
|
7 |
7u83 |
1053 |
c_class *x574_ = GEN_c_class(3, TYPEID_exp);\
|
|
|
1054 |
x574_->ag_tag = 24;\
|
|
|
1055 |
COPY_type(x574_ + 1, (type_));\
|
|
|
1056 |
COPY_exp(x574_ + 2, (arg_));\
|
|
|
1057 |
(c_class_exp) = x574_;\
|
2 |
7u83 |
1058 |
}
|
|
|
1059 |
|
7 |
7u83 |
1060 |
#define DECONS_exp_negate(type_, arg_, c_class_exp)\
|
2 |
7u83 |
1061 |
{\
|
7 |
7u83 |
1062 |
c_class *x575_ = CHECK_TAG((c_class_exp), 24);\
|
|
|
1063 |
(type_) = DEREF_type(x575_ + 1);\
|
|
|
1064 |
(arg_) = DEREF_exp(x575_ + 2);\
|
2 |
7u83 |
1065 |
}
|
|
|
1066 |
|
7 |
7u83 |
1067 |
#define DESTROY_exp_negate(destroyer_, type_, arg_, c_class_exp)\
|
2 |
7u83 |
1068 |
{\
|
7 |
7u83 |
1069 |
c_class *x576_ = CHECK_TAG((c_class_exp), 24);\
|
|
|
1070 |
(type_) = DEREF_type(x576_ + 1);\
|
|
|
1071 |
(arg_) = DEREF_exp(x576_ + 2);\
|
|
|
1072 |
(destroyer_)(x576_, (unsigned)3);\
|
2 |
7u83 |
1073 |
}
|
|
|
1074 |
|
|
|
1075 |
|
|
|
1076 |
/* Operations for field compl of union EXP */
|
|
|
1077 |
|
7 |
7u83 |
1078 |
#define exp_compl_tag ((unsigned)25)
|
|
|
1079 |
#define IS_exp_compl(P) (CHECK_NULL(P)->ag_tag == 25)
|
2 |
7u83 |
1080 |
|
7 |
7u83 |
1081 |
#define exp_compl_arg(P) (CHECK_TAG((P), 25) + 2)
|
2 |
7u83 |
1082 |
|
7 |
7u83 |
1083 |
#define MAKE_exp_compl(type_, arg_, c_class_exp)\
|
2 |
7u83 |
1084 |
{\
|
7 |
7u83 |
1085 |
c_class *x577_ = GEN_c_class(3, TYPEID_exp);\
|
|
|
1086 |
x577_->ag_tag = 25;\
|
|
|
1087 |
COPY_type(x577_ + 1, (type_));\
|
|
|
1088 |
COPY_exp(x577_ + 2, (arg_));\
|
|
|
1089 |
(c_class_exp) = x577_;\
|
2 |
7u83 |
1090 |
}
|
|
|
1091 |
|
7 |
7u83 |
1092 |
#define DECONS_exp_compl(type_, arg_, c_class_exp)\
|
2 |
7u83 |
1093 |
{\
|
7 |
7u83 |
1094 |
c_class *x578_ = CHECK_TAG((c_class_exp), 25);\
|
|
|
1095 |
(type_) = DEREF_type(x578_ + 1);\
|
|
|
1096 |
(arg_) = DEREF_exp(x578_ + 2);\
|
2 |
7u83 |
1097 |
}
|
|
|
1098 |
|
7 |
7u83 |
1099 |
#define DESTROY_exp_compl(destroyer_, type_, arg_, c_class_exp)\
|
2 |
7u83 |
1100 |
{\
|
7 |
7u83 |
1101 |
c_class *x579_ = CHECK_TAG((c_class_exp), 25);\
|
|
|
1102 |
(type_) = DEREF_type(x579_ + 1);\
|
|
|
1103 |
(arg_) = DEREF_exp(x579_ + 2);\
|
|
|
1104 |
(destroyer_)(x579_, (unsigned)3);\
|
2 |
7u83 |
1105 |
}
|
|
|
1106 |
|
|
|
1107 |
|
|
|
1108 |
/* Operations for field not of union EXP */
|
|
|
1109 |
|
7 |
7u83 |
1110 |
#define exp_not_tag ((unsigned)26)
|
|
|
1111 |
#define IS_exp_not(P) (CHECK_NULL(P)->ag_tag == 26)
|
2 |
7u83 |
1112 |
|
7 |
7u83 |
1113 |
#define exp_not_arg(P) (CHECK_TAG((P), 26) + 2)
|
2 |
7u83 |
1114 |
|
7 |
7u83 |
1115 |
#define MAKE_exp_not(type_, arg_, c_class_exp)\
|
2 |
7u83 |
1116 |
{\
|
7 |
7u83 |
1117 |
c_class *x580_ = GEN_c_class(3, TYPEID_exp);\
|
|
|
1118 |
x580_->ag_tag = 26;\
|
|
|
1119 |
COPY_type(x580_ + 1, (type_));\
|
|
|
1120 |
COPY_exp(x580_ + 2, (arg_));\
|
|
|
1121 |
(c_class_exp) = x580_;\
|
2 |
7u83 |
1122 |
}
|
|
|
1123 |
|
7 |
7u83 |
1124 |
#define DECONS_exp_not(type_, arg_, c_class_exp)\
|
2 |
7u83 |
1125 |
{\
|
7 |
7u83 |
1126 |
c_class *x581_ = CHECK_TAG((c_class_exp), 26);\
|
|
|
1127 |
(type_) = DEREF_type(x581_ + 1);\
|
|
|
1128 |
(arg_) = DEREF_exp(x581_ + 2);\
|
2 |
7u83 |
1129 |
}
|
|
|
1130 |
|
7 |
7u83 |
1131 |
#define DESTROY_exp_not(destroyer_, type_, arg_, c_class_exp)\
|
2 |
7u83 |
1132 |
{\
|
7 |
7u83 |
1133 |
c_class *x582_ = CHECK_TAG((c_class_exp), 26);\
|
|
|
1134 |
(type_) = DEREF_type(x582_ + 1);\
|
|
|
1135 |
(arg_) = DEREF_exp(x582_ + 2);\
|
|
|
1136 |
(destroyer_)(x582_, (unsigned)3);\
|
2 |
7u83 |
1137 |
}
|
|
|
1138 |
|
|
|
1139 |
|
|
|
1140 |
/* Operations for field abs of union EXP */
|
|
|
1141 |
|
7 |
7u83 |
1142 |
#define exp_abs_tag ((unsigned)27)
|
|
|
1143 |
#define IS_exp_abs(P) (CHECK_NULL(P)->ag_tag == 27)
|
2 |
7u83 |
1144 |
|
7 |
7u83 |
1145 |
#define exp_abs_arg(P) (CHECK_TAG((P), 27) + 2)
|
2 |
7u83 |
1146 |
|
7 |
7u83 |
1147 |
#define MAKE_exp_abs(type_, arg_, c_class_exp)\
|
2 |
7u83 |
1148 |
{\
|
7 |
7u83 |
1149 |
c_class *x583_ = GEN_c_class(3, TYPEID_exp);\
|
|
|
1150 |
x583_->ag_tag = 27;\
|
|
|
1151 |
COPY_type(x583_ + 1, (type_));\
|
|
|
1152 |
COPY_exp(x583_ + 2, (arg_));\
|
|
|
1153 |
(c_class_exp) = x583_;\
|
2 |
7u83 |
1154 |
}
|
|
|
1155 |
|
7 |
7u83 |
1156 |
#define DECONS_exp_abs(type_, arg_, c_class_exp)\
|
2 |
7u83 |
1157 |
{\
|
7 |
7u83 |
1158 |
c_class *x584_ = CHECK_TAG((c_class_exp), 27);\
|
|
|
1159 |
(type_) = DEREF_type(x584_ + 1);\
|
|
|
1160 |
(arg_) = DEREF_exp(x584_ + 2);\
|
2 |
7u83 |
1161 |
}
|
|
|
1162 |
|
7 |
7u83 |
1163 |
#define DESTROY_exp_abs(destroyer_, type_, arg_, c_class_exp)\
|
2 |
7u83 |
1164 |
{\
|
7 |
7u83 |
1165 |
c_class *x585_ = CHECK_TAG((c_class_exp), 27);\
|
|
|
1166 |
(type_) = DEREF_type(x585_ + 1);\
|
|
|
1167 |
(arg_) = DEREF_exp(x585_ + 2);\
|
|
|
1168 |
(destroyer_)(x585_, (unsigned)3);\
|
2 |
7u83 |
1169 |
}
|
|
|
1170 |
|
|
|
1171 |
|
|
|
1172 |
/* Operations for field set plus_etc of union EXP */
|
|
|
1173 |
|
7 |
7u83 |
1174 |
#define exp_plus_etc_tag ((unsigned)42)
|
|
|
1175 |
#define IS_exp_plus_etc(P) ((unsigned)(CHECK_NULL(P)->ag_tag - 28) < (unsigned)14)
|
2 |
7u83 |
1176 |
|
7 |
7u83 |
1177 |
#define exp_plus_etc_arg1(P) (CHECK_TAG_ETC((P), 28, 42) + 2)
|
|
|
1178 |
#define exp_plus_etc_arg2(P) (CHECK_TAG_ETC((P), 28, 42) + 3)
|
2 |
7u83 |
1179 |
|
7 |
7u83 |
1180 |
#define MAKE_exp_plus_etc(tag, type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1181 |
{\
|
7 |
7u83 |
1182 |
c_class *x586_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
1183 |
x586_->ag_tag = (tag);\
|
|
|
1184 |
COPY_type(x586_ + 1, (type_));\
|
|
|
1185 |
COPY_exp(x586_ + 2, (arg1_));\
|
|
|
1186 |
COPY_exp(x586_ + 3, (arg2_));\
|
|
|
1187 |
(c_class_exp) = CHECK_TAG_ETC(x586_, 28, 42);\
|
2 |
7u83 |
1188 |
}
|
|
|
1189 |
|
7 |
7u83 |
1190 |
#define MODIFY_exp_plus_etc(tag, c_class_exp)\
|
2 |
7u83 |
1191 |
{\
|
7 |
7u83 |
1192 |
c_class *x587_ = CHECK_TAG_ETC ((c_class_exp), 28, 42);\
|
|
|
1193 |
x587_->ag_tag = (tag);\
|
|
|
1194 |
(void) CHECK_TAG_ETC (x587_, 28, 42);\
|
2 |
7u83 |
1195 |
}
|
|
|
1196 |
|
7 |
7u83 |
1197 |
#define DECONS_exp_plus_etc(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1198 |
{\
|
7 |
7u83 |
1199 |
c_class *x588_ = CHECK_TAG_ETC((c_class_exp), 28, 42);\
|
|
|
1200 |
(type_) = DEREF_type(x588_ + 1);\
|
|
|
1201 |
(arg1_) = DEREF_exp(x588_ + 2);\
|
|
|
1202 |
(arg2_) = DEREF_exp(x588_ + 3);\
|
2 |
7u83 |
1203 |
}
|
|
|
1204 |
|
7 |
7u83 |
1205 |
#define DESTROY_exp_plus_etc(destroyer_, type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1206 |
{\
|
7 |
7u83 |
1207 |
c_class *x589_ = CHECK_TAG_ETC((c_class_exp), 28, 42);\
|
|
|
1208 |
(type_) = DEREF_type(x589_ + 1);\
|
|
|
1209 |
(arg1_) = DEREF_exp(x589_ + 2);\
|
|
|
1210 |
(arg2_) = DEREF_exp(x589_ + 3);\
|
|
|
1211 |
(destroyer_)(x589_, (unsigned)4);\
|
2 |
7u83 |
1212 |
}
|
|
|
1213 |
|
|
|
1214 |
|
|
|
1215 |
/* Operations for field plus of union EXP */
|
|
|
1216 |
|
7 |
7u83 |
1217 |
#define exp_plus_tag ((unsigned)28)
|
|
|
1218 |
#define IS_exp_plus(P) (CHECK_NULL(P)->ag_tag == 28)
|
2 |
7u83 |
1219 |
|
7 |
7u83 |
1220 |
#define exp_plus_arg1(P) (CHECK_TAG((P), 28) + 2)
|
|
|
1221 |
#define exp_plus_arg2(P) (CHECK_TAG((P), 28) + 3)
|
2 |
7u83 |
1222 |
|
7 |
7u83 |
1223 |
#define MAKE_exp_plus(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1224 |
{\
|
7 |
7u83 |
1225 |
c_class *x590_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
1226 |
x590_->ag_tag = 28;\
|
|
|
1227 |
COPY_type(x590_ + 1, (type_));\
|
|
|
1228 |
COPY_exp(x590_ + 2, (arg1_));\
|
|
|
1229 |
COPY_exp(x590_ + 3, (arg2_));\
|
|
|
1230 |
(c_class_exp) = x590_;\
|
2 |
7u83 |
1231 |
}
|
|
|
1232 |
|
7 |
7u83 |
1233 |
#define DECONS_exp_plus(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1234 |
{\
|
7 |
7u83 |
1235 |
c_class *x591_ = CHECK_TAG((c_class_exp), 28);\
|
|
|
1236 |
(type_) = DEREF_type(x591_ + 1);\
|
|
|
1237 |
(arg1_) = DEREF_exp(x591_ + 2);\
|
|
|
1238 |
(arg2_) = DEREF_exp(x591_ + 3);\
|
2 |
7u83 |
1239 |
}
|
|
|
1240 |
|
7 |
7u83 |
1241 |
#define DESTROY_exp_plus(destroyer_, type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1242 |
{\
|
7 |
7u83 |
1243 |
c_class *x592_ = CHECK_TAG((c_class_exp), 28);\
|
|
|
1244 |
(type_) = DEREF_type(x592_ + 1);\
|
|
|
1245 |
(arg1_) = DEREF_exp(x592_ + 2);\
|
|
|
1246 |
(arg2_) = DEREF_exp(x592_ + 3);\
|
|
|
1247 |
(destroyer_)(x592_, (unsigned)4);\
|
2 |
7u83 |
1248 |
}
|
|
|
1249 |
|
|
|
1250 |
|
|
|
1251 |
/* Operations for field minus of union EXP */
|
|
|
1252 |
|
7 |
7u83 |
1253 |
#define exp_minus_tag ((unsigned)29)
|
|
|
1254 |
#define IS_exp_minus(P) (CHECK_NULL(P)->ag_tag == 29)
|
2 |
7u83 |
1255 |
|
7 |
7u83 |
1256 |
#define exp_minus_arg1(P) (CHECK_TAG((P), 29) + 2)
|
|
|
1257 |
#define exp_minus_arg2(P) (CHECK_TAG((P), 29) + 3)
|
2 |
7u83 |
1258 |
|
7 |
7u83 |
1259 |
#define MAKE_exp_minus(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1260 |
{\
|
7 |
7u83 |
1261 |
c_class *x593_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
1262 |
x593_->ag_tag = 29;\
|
|
|
1263 |
COPY_type(x593_ + 1, (type_));\
|
|
|
1264 |
COPY_exp(x593_ + 2, (arg1_));\
|
|
|
1265 |
COPY_exp(x593_ + 3, (arg2_));\
|
|
|
1266 |
(c_class_exp) = x593_;\
|
2 |
7u83 |
1267 |
}
|
|
|
1268 |
|
7 |
7u83 |
1269 |
#define DECONS_exp_minus(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1270 |
{\
|
7 |
7u83 |
1271 |
c_class *x594_ = CHECK_TAG((c_class_exp), 29);\
|
|
|
1272 |
(type_) = DEREF_type(x594_ + 1);\
|
|
|
1273 |
(arg1_) = DEREF_exp(x594_ + 2);\
|
|
|
1274 |
(arg2_) = DEREF_exp(x594_ + 3);\
|
2 |
7u83 |
1275 |
}
|
|
|
1276 |
|
7 |
7u83 |
1277 |
#define DESTROY_exp_minus(destroyer_, type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1278 |
{\
|
7 |
7u83 |
1279 |
c_class *x595_ = CHECK_TAG((c_class_exp), 29);\
|
|
|
1280 |
(type_) = DEREF_type(x595_ + 1);\
|
|
|
1281 |
(arg1_) = DEREF_exp(x595_ + 2);\
|
|
|
1282 |
(arg2_) = DEREF_exp(x595_ + 3);\
|
|
|
1283 |
(destroyer_)(x595_, (unsigned)4);\
|
2 |
7u83 |
1284 |
}
|
|
|
1285 |
|
|
|
1286 |
|
|
|
1287 |
/* Operations for field mult of union EXP */
|
|
|
1288 |
|
7 |
7u83 |
1289 |
#define exp_mult_tag ((unsigned)30)
|
|
|
1290 |
#define IS_exp_mult(P) (CHECK_NULL(P)->ag_tag == 30)
|
2 |
7u83 |
1291 |
|
7 |
7u83 |
1292 |
#define exp_mult_arg1(P) (CHECK_TAG((P), 30) + 2)
|
|
|
1293 |
#define exp_mult_arg2(P) (CHECK_TAG((P), 30) + 3)
|
2 |
7u83 |
1294 |
|
7 |
7u83 |
1295 |
#define MAKE_exp_mult(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1296 |
{\
|
7 |
7u83 |
1297 |
c_class *x596_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
1298 |
x596_->ag_tag = 30;\
|
|
|
1299 |
COPY_type(x596_ + 1, (type_));\
|
|
|
1300 |
COPY_exp(x596_ + 2, (arg1_));\
|
|
|
1301 |
COPY_exp(x596_ + 3, (arg2_));\
|
|
|
1302 |
(c_class_exp) = x596_;\
|
2 |
7u83 |
1303 |
}
|
|
|
1304 |
|
7 |
7u83 |
1305 |
#define DECONS_exp_mult(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1306 |
{\
|
7 |
7u83 |
1307 |
c_class *x597_ = CHECK_TAG((c_class_exp), 30);\
|
|
|
1308 |
(type_) = DEREF_type(x597_ + 1);\
|
|
|
1309 |
(arg1_) = DEREF_exp(x597_ + 2);\
|
|
|
1310 |
(arg2_) = DEREF_exp(x597_ + 3);\
|
2 |
7u83 |
1311 |
}
|
|
|
1312 |
|
7 |
7u83 |
1313 |
#define DESTROY_exp_mult(destroyer_, type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1314 |
{\
|
7 |
7u83 |
1315 |
c_class *x598_ = CHECK_TAG((c_class_exp), 30);\
|
|
|
1316 |
(type_) = DEREF_type(x598_ + 1);\
|
|
|
1317 |
(arg1_) = DEREF_exp(x598_ + 2);\
|
|
|
1318 |
(arg2_) = DEREF_exp(x598_ + 3);\
|
|
|
1319 |
(destroyer_)(x598_, (unsigned)4);\
|
2 |
7u83 |
1320 |
}
|
|
|
1321 |
|
|
|
1322 |
|
|
|
1323 |
/* Operations for field div of union EXP */
|
|
|
1324 |
|
7 |
7u83 |
1325 |
#define exp_div_tag ((unsigned)31)
|
|
|
1326 |
#define IS_exp_div(P) (CHECK_NULL(P)->ag_tag == 31)
|
2 |
7u83 |
1327 |
|
7 |
7u83 |
1328 |
#define exp_div_arg1(P) (CHECK_TAG((P), 31) + 2)
|
|
|
1329 |
#define exp_div_arg2(P) (CHECK_TAG((P), 31) + 3)
|
2 |
7u83 |
1330 |
|
7 |
7u83 |
1331 |
#define MAKE_exp_div(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1332 |
{\
|
7 |
7u83 |
1333 |
c_class *x599_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
1334 |
x599_->ag_tag = 31;\
|
|
|
1335 |
COPY_type(x599_ + 1, (type_));\
|
|
|
1336 |
COPY_exp(x599_ + 2, (arg1_));\
|
|
|
1337 |
COPY_exp(x599_ + 3, (arg2_));\
|
|
|
1338 |
(c_class_exp) = x599_;\
|
2 |
7u83 |
1339 |
}
|
|
|
1340 |
|
7 |
7u83 |
1341 |
#define DECONS_exp_div(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1342 |
{\
|
7 |
7u83 |
1343 |
c_class *x600_ = CHECK_TAG((c_class_exp), 31);\
|
|
|
1344 |
(type_) = DEREF_type(x600_ + 1);\
|
|
|
1345 |
(arg1_) = DEREF_exp(x600_ + 2);\
|
|
|
1346 |
(arg2_) = DEREF_exp(x600_ + 3);\
|
2 |
7u83 |
1347 |
}
|
|
|
1348 |
|
7 |
7u83 |
1349 |
#define DESTROY_exp_div(destroyer_, type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1350 |
{\
|
7 |
7u83 |
1351 |
c_class *x601_ = CHECK_TAG((c_class_exp), 31);\
|
|
|
1352 |
(type_) = DEREF_type(x601_ + 1);\
|
|
|
1353 |
(arg1_) = DEREF_exp(x601_ + 2);\
|
|
|
1354 |
(arg2_) = DEREF_exp(x601_ + 3);\
|
|
|
1355 |
(destroyer_)(x601_, (unsigned)4);\
|
2 |
7u83 |
1356 |
}
|
|
|
1357 |
|
|
|
1358 |
|
|
|
1359 |
/* Operations for field rem of union EXP */
|
|
|
1360 |
|
7 |
7u83 |
1361 |
#define exp_rem_tag ((unsigned)32)
|
|
|
1362 |
#define IS_exp_rem(P) (CHECK_NULL(P)->ag_tag == 32)
|
2 |
7u83 |
1363 |
|
7 |
7u83 |
1364 |
#define exp_rem_arg1(P) (CHECK_TAG((P), 32) + 2)
|
|
|
1365 |
#define exp_rem_arg2(P) (CHECK_TAG((P), 32) + 3)
|
2 |
7u83 |
1366 |
|
7 |
7u83 |
1367 |
#define MAKE_exp_rem(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1368 |
{\
|
7 |
7u83 |
1369 |
c_class *x602_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
1370 |
x602_->ag_tag = 32;\
|
|
|
1371 |
COPY_type(x602_ + 1, (type_));\
|
|
|
1372 |
COPY_exp(x602_ + 2, (arg1_));\
|
|
|
1373 |
COPY_exp(x602_ + 3, (arg2_));\
|
|
|
1374 |
(c_class_exp) = x602_;\
|
2 |
7u83 |
1375 |
}
|
|
|
1376 |
|
7 |
7u83 |
1377 |
#define DECONS_exp_rem(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1378 |
{\
|
7 |
7u83 |
1379 |
c_class *x603_ = CHECK_TAG((c_class_exp), 32);\
|
|
|
1380 |
(type_) = DEREF_type(x603_ + 1);\
|
|
|
1381 |
(arg1_) = DEREF_exp(x603_ + 2);\
|
|
|
1382 |
(arg2_) = DEREF_exp(x603_ + 3);\
|
2 |
7u83 |
1383 |
}
|
|
|
1384 |
|
7 |
7u83 |
1385 |
#define DESTROY_exp_rem(destroyer_, type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1386 |
{\
|
7 |
7u83 |
1387 |
c_class *x604_ = CHECK_TAG((c_class_exp), 32);\
|
|
|
1388 |
(type_) = DEREF_type(x604_ + 1);\
|
|
|
1389 |
(arg1_) = DEREF_exp(x604_ + 2);\
|
|
|
1390 |
(arg2_) = DEREF_exp(x604_ + 3);\
|
|
|
1391 |
(destroyer_)(x604_, (unsigned)4);\
|
2 |
7u83 |
1392 |
}
|
|
|
1393 |
|
|
|
1394 |
|
|
|
1395 |
/* Operations for field and of union EXP */
|
|
|
1396 |
|
7 |
7u83 |
1397 |
#define exp_and_tag ((unsigned)33)
|
|
|
1398 |
#define IS_exp_and(P) (CHECK_NULL(P)->ag_tag == 33)
|
2 |
7u83 |
1399 |
|
7 |
7u83 |
1400 |
#define exp_and_arg1(P) (CHECK_TAG((P), 33) + 2)
|
|
|
1401 |
#define exp_and_arg2(P) (CHECK_TAG((P), 33) + 3)
|
2 |
7u83 |
1402 |
|
7 |
7u83 |
1403 |
#define MAKE_exp_and(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1404 |
{\
|
7 |
7u83 |
1405 |
c_class *x605_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
1406 |
x605_->ag_tag = 33;\
|
|
|
1407 |
COPY_type(x605_ + 1, (type_));\
|
|
|
1408 |
COPY_exp(x605_ + 2, (arg1_));\
|
|
|
1409 |
COPY_exp(x605_ + 3, (arg2_));\
|
|
|
1410 |
(c_class_exp) = x605_;\
|
2 |
7u83 |
1411 |
}
|
|
|
1412 |
|
7 |
7u83 |
1413 |
#define DECONS_exp_and(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1414 |
{\
|
7 |
7u83 |
1415 |
c_class *x606_ = CHECK_TAG((c_class_exp), 33);\
|
|
|
1416 |
(type_) = DEREF_type(x606_ + 1);\
|
|
|
1417 |
(arg1_) = DEREF_exp(x606_ + 2);\
|
|
|
1418 |
(arg2_) = DEREF_exp(x606_ + 3);\
|
2 |
7u83 |
1419 |
}
|
|
|
1420 |
|
7 |
7u83 |
1421 |
#define DESTROY_exp_and(destroyer_, type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1422 |
{\
|
7 |
7u83 |
1423 |
c_class *x607_ = CHECK_TAG((c_class_exp), 33);\
|
|
|
1424 |
(type_) = DEREF_type(x607_ + 1);\
|
|
|
1425 |
(arg1_) = DEREF_exp(x607_ + 2);\
|
|
|
1426 |
(arg2_) = DEREF_exp(x607_ + 3);\
|
|
|
1427 |
(destroyer_)(x607_, (unsigned)4);\
|
2 |
7u83 |
1428 |
}
|
|
|
1429 |
|
|
|
1430 |
|
|
|
1431 |
/* Operations for field or of union EXP */
|
|
|
1432 |
|
7 |
7u83 |
1433 |
#define exp_or_tag ((unsigned)34)
|
|
|
1434 |
#define IS_exp_or(P) (CHECK_NULL(P)->ag_tag == 34)
|
2 |
7u83 |
1435 |
|
7 |
7u83 |
1436 |
#define exp_or_arg1(P) (CHECK_TAG((P), 34) + 2)
|
|
|
1437 |
#define exp_or_arg2(P) (CHECK_TAG((P), 34) + 3)
|
2 |
7u83 |
1438 |
|
7 |
7u83 |
1439 |
#define MAKE_exp_or(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1440 |
{\
|
7 |
7u83 |
1441 |
c_class *x608_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
1442 |
x608_->ag_tag = 34;\
|
|
|
1443 |
COPY_type(x608_ + 1, (type_));\
|
|
|
1444 |
COPY_exp(x608_ + 2, (arg1_));\
|
|
|
1445 |
COPY_exp(x608_ + 3, (arg2_));\
|
|
|
1446 |
(c_class_exp) = x608_;\
|
2 |
7u83 |
1447 |
}
|
|
|
1448 |
|
7 |
7u83 |
1449 |
#define DECONS_exp_or(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1450 |
{\
|
7 |
7u83 |
1451 |
c_class *x609_ = CHECK_TAG((c_class_exp), 34);\
|
|
|
1452 |
(type_) = DEREF_type(x609_ + 1);\
|
|
|
1453 |
(arg1_) = DEREF_exp(x609_ + 2);\
|
|
|
1454 |
(arg2_) = DEREF_exp(x609_ + 3);\
|
2 |
7u83 |
1455 |
}
|
|
|
1456 |
|
7 |
7u83 |
1457 |
#define DESTROY_exp_or(destroyer_, type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1458 |
{\
|
7 |
7u83 |
1459 |
c_class *x610_ = CHECK_TAG((c_class_exp), 34);\
|
|
|
1460 |
(type_) = DEREF_type(x610_ + 1);\
|
|
|
1461 |
(arg1_) = DEREF_exp(x610_ + 2);\
|
|
|
1462 |
(arg2_) = DEREF_exp(x610_ + 3);\
|
|
|
1463 |
(destroyer_)(x610_, (unsigned)4);\
|
2 |
7u83 |
1464 |
}
|
|
|
1465 |
|
|
|
1466 |
|
|
|
1467 |
/* Operations for field xor of union EXP */
|
|
|
1468 |
|
7 |
7u83 |
1469 |
#define exp_xor_tag ((unsigned)35)
|
|
|
1470 |
#define IS_exp_xor(P) (CHECK_NULL(P)->ag_tag == 35)
|
2 |
7u83 |
1471 |
|
7 |
7u83 |
1472 |
#define exp_xor_arg1(P) (CHECK_TAG((P), 35) + 2)
|
|
|
1473 |
#define exp_xor_arg2(P) (CHECK_TAG((P), 35) + 3)
|
2 |
7u83 |
1474 |
|
7 |
7u83 |
1475 |
#define MAKE_exp_xor(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1476 |
{\
|
7 |
7u83 |
1477 |
c_class *x611_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
1478 |
x611_->ag_tag = 35;\
|
|
|
1479 |
COPY_type(x611_ + 1, (type_));\
|
|
|
1480 |
COPY_exp(x611_ + 2, (arg1_));\
|
|
|
1481 |
COPY_exp(x611_ + 3, (arg2_));\
|
|
|
1482 |
(c_class_exp) = x611_;\
|
2 |
7u83 |
1483 |
}
|
|
|
1484 |
|
7 |
7u83 |
1485 |
#define DECONS_exp_xor(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1486 |
{\
|
7 |
7u83 |
1487 |
c_class *x612_ = CHECK_TAG((c_class_exp), 35);\
|
|
|
1488 |
(type_) = DEREF_type(x612_ + 1);\
|
|
|
1489 |
(arg1_) = DEREF_exp(x612_ + 2);\
|
|
|
1490 |
(arg2_) = DEREF_exp(x612_ + 3);\
|
2 |
7u83 |
1491 |
}
|
|
|
1492 |
|
7 |
7u83 |
1493 |
#define DESTROY_exp_xor(destroyer_, type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1494 |
{\
|
7 |
7u83 |
1495 |
c_class *x613_ = CHECK_TAG((c_class_exp), 35);\
|
|
|
1496 |
(type_) = DEREF_type(x613_ + 1);\
|
|
|
1497 |
(arg1_) = DEREF_exp(x613_ + 2);\
|
|
|
1498 |
(arg2_) = DEREF_exp(x613_ + 3);\
|
|
|
1499 |
(destroyer_)(x613_, (unsigned)4);\
|
2 |
7u83 |
1500 |
}
|
|
|
1501 |
|
|
|
1502 |
|
|
|
1503 |
/* Operations for field log_and of union EXP */
|
|
|
1504 |
|
7 |
7u83 |
1505 |
#define exp_log_and_tag ((unsigned)36)
|
|
|
1506 |
#define IS_exp_log_and(P) (CHECK_NULL(P)->ag_tag == 36)
|
2 |
7u83 |
1507 |
|
7 |
7u83 |
1508 |
#define exp_log_and_arg1(P) (CHECK_TAG((P), 36) + 2)
|
|
|
1509 |
#define exp_log_and_arg2(P) (CHECK_TAG((P), 36) + 3)
|
2 |
7u83 |
1510 |
|
7 |
7u83 |
1511 |
#define MAKE_exp_log_and(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1512 |
{\
|
7 |
7u83 |
1513 |
c_class *x614_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
1514 |
x614_->ag_tag = 36;\
|
|
|
1515 |
COPY_type(x614_ + 1, (type_));\
|
|
|
1516 |
COPY_exp(x614_ + 2, (arg1_));\
|
|
|
1517 |
COPY_exp(x614_ + 3, (arg2_));\
|
|
|
1518 |
(c_class_exp) = x614_;\
|
2 |
7u83 |
1519 |
}
|
|
|
1520 |
|
7 |
7u83 |
1521 |
#define DECONS_exp_log_and(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1522 |
{\
|
7 |
7u83 |
1523 |
c_class *x615_ = CHECK_TAG((c_class_exp), 36);\
|
|
|
1524 |
(type_) = DEREF_type(x615_ + 1);\
|
|
|
1525 |
(arg1_) = DEREF_exp(x615_ + 2);\
|
|
|
1526 |
(arg2_) = DEREF_exp(x615_ + 3);\
|
2 |
7u83 |
1527 |
}
|
|
|
1528 |
|
7 |
7u83 |
1529 |
#define DESTROY_exp_log_and(destroyer_, type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1530 |
{\
|
7 |
7u83 |
1531 |
c_class *x616_ = CHECK_TAG((c_class_exp), 36);\
|
|
|
1532 |
(type_) = DEREF_type(x616_ + 1);\
|
|
|
1533 |
(arg1_) = DEREF_exp(x616_ + 2);\
|
|
|
1534 |
(arg2_) = DEREF_exp(x616_ + 3);\
|
|
|
1535 |
(destroyer_)(x616_, (unsigned)4);\
|
2 |
7u83 |
1536 |
}
|
|
|
1537 |
|
|
|
1538 |
|
|
|
1539 |
/* Operations for field log_or of union EXP */
|
|
|
1540 |
|
7 |
7u83 |
1541 |
#define exp_log_or_tag ((unsigned)37)
|
|
|
1542 |
#define IS_exp_log_or(P) (CHECK_NULL(P)->ag_tag == 37)
|
2 |
7u83 |
1543 |
|
7 |
7u83 |
1544 |
#define exp_log_or_arg1(P) (CHECK_TAG((P), 37) + 2)
|
|
|
1545 |
#define exp_log_or_arg2(P) (CHECK_TAG((P), 37) + 3)
|
2 |
7u83 |
1546 |
|
7 |
7u83 |
1547 |
#define MAKE_exp_log_or(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1548 |
{\
|
7 |
7u83 |
1549 |
c_class *x617_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
1550 |
x617_->ag_tag = 37;\
|
|
|
1551 |
COPY_type(x617_ + 1, (type_));\
|
|
|
1552 |
COPY_exp(x617_ + 2, (arg1_));\
|
|
|
1553 |
COPY_exp(x617_ + 3, (arg2_));\
|
|
|
1554 |
(c_class_exp) = x617_;\
|
2 |
7u83 |
1555 |
}
|
|
|
1556 |
|
7 |
7u83 |
1557 |
#define DECONS_exp_log_or(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1558 |
{\
|
7 |
7u83 |
1559 |
c_class *x618_ = CHECK_TAG((c_class_exp), 37);\
|
|
|
1560 |
(type_) = DEREF_type(x618_ + 1);\
|
|
|
1561 |
(arg1_) = DEREF_exp(x618_ + 2);\
|
|
|
1562 |
(arg2_) = DEREF_exp(x618_ + 3);\
|
2 |
7u83 |
1563 |
}
|
|
|
1564 |
|
7 |
7u83 |
1565 |
#define DESTROY_exp_log_or(destroyer_, type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1566 |
{\
|
7 |
7u83 |
1567 |
c_class *x619_ = CHECK_TAG((c_class_exp), 37);\
|
|
|
1568 |
(type_) = DEREF_type(x619_ + 1);\
|
|
|
1569 |
(arg1_) = DEREF_exp(x619_ + 2);\
|
|
|
1570 |
(arg2_) = DEREF_exp(x619_ + 3);\
|
|
|
1571 |
(destroyer_)(x619_, (unsigned)4);\
|
2 |
7u83 |
1572 |
}
|
|
|
1573 |
|
|
|
1574 |
|
|
|
1575 |
/* Operations for field lshift of union EXP */
|
|
|
1576 |
|
7 |
7u83 |
1577 |
#define exp_lshift_tag ((unsigned)38)
|
|
|
1578 |
#define IS_exp_lshift(P) (CHECK_NULL(P)->ag_tag == 38)
|
2 |
7u83 |
1579 |
|
7 |
7u83 |
1580 |
#define exp_lshift_arg1(P) (CHECK_TAG((P), 38) + 2)
|
|
|
1581 |
#define exp_lshift_arg2(P) (CHECK_TAG((P), 38) + 3)
|
2 |
7u83 |
1582 |
|
7 |
7u83 |
1583 |
#define MAKE_exp_lshift(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1584 |
{\
|
7 |
7u83 |
1585 |
c_class *x620_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
1586 |
x620_->ag_tag = 38;\
|
|
|
1587 |
COPY_type(x620_ + 1, (type_));\
|
|
|
1588 |
COPY_exp(x620_ + 2, (arg1_));\
|
|
|
1589 |
COPY_exp(x620_ + 3, (arg2_));\
|
|
|
1590 |
(c_class_exp) = x620_;\
|
2 |
7u83 |
1591 |
}
|
|
|
1592 |
|
7 |
7u83 |
1593 |
#define DECONS_exp_lshift(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1594 |
{\
|
7 |
7u83 |
1595 |
c_class *x621_ = CHECK_TAG((c_class_exp), 38);\
|
|
|
1596 |
(type_) = DEREF_type(x621_ + 1);\
|
|
|
1597 |
(arg1_) = DEREF_exp(x621_ + 2);\
|
|
|
1598 |
(arg2_) = DEREF_exp(x621_ + 3);\
|
2 |
7u83 |
1599 |
}
|
|
|
1600 |
|
7 |
7u83 |
1601 |
#define DESTROY_exp_lshift(destroyer_, type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1602 |
{\
|
7 |
7u83 |
1603 |
c_class *x622_ = CHECK_TAG((c_class_exp), 38);\
|
|
|
1604 |
(type_) = DEREF_type(x622_ + 1);\
|
|
|
1605 |
(arg1_) = DEREF_exp(x622_ + 2);\
|
|
|
1606 |
(arg2_) = DEREF_exp(x622_ + 3);\
|
|
|
1607 |
(destroyer_)(x622_, (unsigned)4);\
|
2 |
7u83 |
1608 |
}
|
|
|
1609 |
|
|
|
1610 |
|
|
|
1611 |
/* Operations for field rshift of union EXP */
|
|
|
1612 |
|
7 |
7u83 |
1613 |
#define exp_rshift_tag ((unsigned)39)
|
|
|
1614 |
#define IS_exp_rshift(P) (CHECK_NULL(P)->ag_tag == 39)
|
2 |
7u83 |
1615 |
|
7 |
7u83 |
1616 |
#define exp_rshift_arg1(P) (CHECK_TAG((P), 39) + 2)
|
|
|
1617 |
#define exp_rshift_arg2(P) (CHECK_TAG((P), 39) + 3)
|
2 |
7u83 |
1618 |
|
7 |
7u83 |
1619 |
#define MAKE_exp_rshift(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1620 |
{\
|
7 |
7u83 |
1621 |
c_class *x623_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
1622 |
x623_->ag_tag = 39;\
|
|
|
1623 |
COPY_type(x623_ + 1, (type_));\
|
|
|
1624 |
COPY_exp(x623_ + 2, (arg1_));\
|
|
|
1625 |
COPY_exp(x623_ + 3, (arg2_));\
|
|
|
1626 |
(c_class_exp) = x623_;\
|
2 |
7u83 |
1627 |
}
|
|
|
1628 |
|
7 |
7u83 |
1629 |
#define DECONS_exp_rshift(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1630 |
{\
|
7 |
7u83 |
1631 |
c_class *x624_ = CHECK_TAG((c_class_exp), 39);\
|
|
|
1632 |
(type_) = DEREF_type(x624_ + 1);\
|
|
|
1633 |
(arg1_) = DEREF_exp(x624_ + 2);\
|
|
|
1634 |
(arg2_) = DEREF_exp(x624_ + 3);\
|
2 |
7u83 |
1635 |
}
|
|
|
1636 |
|
7 |
7u83 |
1637 |
#define DESTROY_exp_rshift(destroyer_, type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1638 |
{\
|
7 |
7u83 |
1639 |
c_class *x625_ = CHECK_TAG((c_class_exp), 39);\
|
|
|
1640 |
(type_) = DEREF_type(x625_ + 1);\
|
|
|
1641 |
(arg1_) = DEREF_exp(x625_ + 2);\
|
|
|
1642 |
(arg2_) = DEREF_exp(x625_ + 3);\
|
|
|
1643 |
(destroyer_)(x625_, (unsigned)4);\
|
2 |
7u83 |
1644 |
}
|
|
|
1645 |
|
|
|
1646 |
|
|
|
1647 |
/* Operations for field max of union EXP */
|
|
|
1648 |
|
7 |
7u83 |
1649 |
#define exp_max_tag ((unsigned)40)
|
|
|
1650 |
#define IS_exp_max(P) (CHECK_NULL(P)->ag_tag == 40)
|
2 |
7u83 |
1651 |
|
7 |
7u83 |
1652 |
#define exp_max_arg1(P) (CHECK_TAG((P), 40) + 2)
|
|
|
1653 |
#define exp_max_arg2(P) (CHECK_TAG((P), 40) + 3)
|
2 |
7u83 |
1654 |
|
7 |
7u83 |
1655 |
#define MAKE_exp_max(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1656 |
{\
|
7 |
7u83 |
1657 |
c_class *x626_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
1658 |
x626_->ag_tag = 40;\
|
|
|
1659 |
COPY_type(x626_ + 1, (type_));\
|
|
|
1660 |
COPY_exp(x626_ + 2, (arg1_));\
|
|
|
1661 |
COPY_exp(x626_ + 3, (arg2_));\
|
|
|
1662 |
(c_class_exp) = x626_;\
|
2 |
7u83 |
1663 |
}
|
|
|
1664 |
|
7 |
7u83 |
1665 |
#define DECONS_exp_max(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1666 |
{\
|
7 |
7u83 |
1667 |
c_class *x627_ = CHECK_TAG((c_class_exp), 40);\
|
|
|
1668 |
(type_) = DEREF_type(x627_ + 1);\
|
|
|
1669 |
(arg1_) = DEREF_exp(x627_ + 2);\
|
|
|
1670 |
(arg2_) = DEREF_exp(x627_ + 3);\
|
2 |
7u83 |
1671 |
}
|
|
|
1672 |
|
7 |
7u83 |
1673 |
#define DESTROY_exp_max(destroyer_, type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1674 |
{\
|
7 |
7u83 |
1675 |
c_class *x628_ = CHECK_TAG((c_class_exp), 40);\
|
|
|
1676 |
(type_) = DEREF_type(x628_ + 1);\
|
|
|
1677 |
(arg1_) = DEREF_exp(x628_ + 2);\
|
|
|
1678 |
(arg2_) = DEREF_exp(x628_ + 3);\
|
|
|
1679 |
(destroyer_)(x628_, (unsigned)4);\
|
2 |
7u83 |
1680 |
}
|
|
|
1681 |
|
|
|
1682 |
|
|
|
1683 |
/* Operations for field min of union EXP */
|
|
|
1684 |
|
7 |
7u83 |
1685 |
#define exp_min_tag ((unsigned)41)
|
|
|
1686 |
#define IS_exp_min(P) (CHECK_NULL(P)->ag_tag == 41)
|
2 |
7u83 |
1687 |
|
7 |
7u83 |
1688 |
#define exp_min_arg1(P) (CHECK_TAG((P), 41) + 2)
|
|
|
1689 |
#define exp_min_arg2(P) (CHECK_TAG((P), 41) + 3)
|
2 |
7u83 |
1690 |
|
7 |
7u83 |
1691 |
#define MAKE_exp_min(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1692 |
{\
|
7 |
7u83 |
1693 |
c_class *x629_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
1694 |
x629_->ag_tag = 41;\
|
|
|
1695 |
COPY_type(x629_ + 1, (type_));\
|
|
|
1696 |
COPY_exp(x629_ + 2, (arg1_));\
|
|
|
1697 |
COPY_exp(x629_ + 3, (arg2_));\
|
|
|
1698 |
(c_class_exp) = x629_;\
|
2 |
7u83 |
1699 |
}
|
|
|
1700 |
|
7 |
7u83 |
1701 |
#define DECONS_exp_min(type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1702 |
{\
|
7 |
7u83 |
1703 |
c_class *x630_ = CHECK_TAG((c_class_exp), 41);\
|
|
|
1704 |
(type_) = DEREF_type(x630_ + 1);\
|
|
|
1705 |
(arg1_) = DEREF_exp(x630_ + 2);\
|
|
|
1706 |
(arg2_) = DEREF_exp(x630_ + 3);\
|
2 |
7u83 |
1707 |
}
|
|
|
1708 |
|
7 |
7u83 |
1709 |
#define DESTROY_exp_min(destroyer_, type_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1710 |
{\
|
7 |
7u83 |
1711 |
c_class *x631_ = CHECK_TAG((c_class_exp), 41);\
|
|
|
1712 |
(type_) = DEREF_type(x631_ + 1);\
|
|
|
1713 |
(arg1_) = DEREF_exp(x631_ + 2);\
|
|
|
1714 |
(arg2_) = DEREF_exp(x631_ + 3);\
|
|
|
1715 |
(destroyer_)(x631_, (unsigned)4);\
|
2 |
7u83 |
1716 |
}
|
|
|
1717 |
|
|
|
1718 |
|
|
|
1719 |
/* Operations for field test of union EXP */
|
|
|
1720 |
|
7 |
7u83 |
1721 |
#define exp_test_tag ((unsigned)42)
|
|
|
1722 |
#define IS_exp_test(P) (CHECK_NULL(P)->ag_tag == 42)
|
2 |
7u83 |
1723 |
|
7 |
7u83 |
1724 |
#define exp_test_tst(P) (CHECK_TAG((P), 42) + 2)
|
|
|
1725 |
#define exp_test_arg(P) (CHECK_TAG((P), 42) + 3)
|
2 |
7u83 |
1726 |
|
7 |
7u83 |
1727 |
#define MAKE_exp_test(type_, tst_, arg_, c_class_exp)\
|
2 |
7u83 |
1728 |
{\
|
7 |
7u83 |
1729 |
c_class *x632_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
1730 |
x632_->ag_tag = 42;\
|
|
|
1731 |
COPY_type(x632_ + 1, (type_));\
|
|
|
1732 |
COPY_ntest(x632_ + 2, (tst_));\
|
|
|
1733 |
COPY_exp(x632_ + 3, (arg_));\
|
|
|
1734 |
(c_class_exp) = x632_;\
|
2 |
7u83 |
1735 |
}
|
|
|
1736 |
|
7 |
7u83 |
1737 |
#define DECONS_exp_test(type_, tst_, arg_, c_class_exp)\
|
2 |
7u83 |
1738 |
{\
|
7 |
7u83 |
1739 |
c_class *x633_ = CHECK_TAG((c_class_exp), 42);\
|
|
|
1740 |
(type_) = DEREF_type(x633_ + 1);\
|
|
|
1741 |
(tst_) = DEREF_ntest(x633_ + 2);\
|
|
|
1742 |
(arg_) = DEREF_exp(x633_ + 3);\
|
2 |
7u83 |
1743 |
}
|
|
|
1744 |
|
7 |
7u83 |
1745 |
#define DESTROY_exp_test(destroyer_, type_, tst_, arg_, c_class_exp)\
|
2 |
7u83 |
1746 |
{\
|
7 |
7u83 |
1747 |
c_class *x634_ = CHECK_TAG((c_class_exp), 42);\
|
|
|
1748 |
(type_) = DEREF_type(x634_ + 1);\
|
|
|
1749 |
(tst_) = DEREF_ntest(x634_ + 2);\
|
|
|
1750 |
(arg_) = DEREF_exp(x634_ + 3);\
|
|
|
1751 |
(destroyer_)(x634_, (unsigned)4);\
|
2 |
7u83 |
1752 |
}
|
|
|
1753 |
|
|
|
1754 |
|
|
|
1755 |
/* Operations for field compare of union EXP */
|
|
|
1756 |
|
7 |
7u83 |
1757 |
#define exp_compare_tag ((unsigned)43)
|
|
|
1758 |
#define IS_exp_compare(P) (CHECK_NULL(P)->ag_tag == 43)
|
2 |
7u83 |
1759 |
|
7 |
7u83 |
1760 |
#define exp_compare_tst(P) (CHECK_TAG((P), 43) + 2)
|
|
|
1761 |
#define exp_compare_arg1(P) (CHECK_TAG((P), 43) + 3)
|
|
|
1762 |
#define exp_compare_arg2(P) (CHECK_TAG((P), 43) + 4)
|
2 |
7u83 |
1763 |
|
7 |
7u83 |
1764 |
#define MAKE_exp_compare(type_, tst_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1765 |
{\
|
7 |
7u83 |
1766 |
c_class *x635_ = GEN_c_class(5, TYPEID_exp);\
|
|
|
1767 |
x635_->ag_tag = 43;\
|
|
|
1768 |
COPY_type(x635_ + 1, (type_));\
|
|
|
1769 |
COPY_ntest(x635_ + 2, (tst_));\
|
|
|
1770 |
COPY_exp(x635_ + 3, (arg1_));\
|
|
|
1771 |
COPY_exp(x635_ + 4, (arg2_));\
|
|
|
1772 |
(c_class_exp) = x635_;\
|
2 |
7u83 |
1773 |
}
|
|
|
1774 |
|
7 |
7u83 |
1775 |
#define DECONS_exp_compare(type_, tst_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1776 |
{\
|
7 |
7u83 |
1777 |
c_class *x636_ = CHECK_TAG((c_class_exp), 43);\
|
|
|
1778 |
(type_) = DEREF_type(x636_ + 1);\
|
|
|
1779 |
(tst_) = DEREF_ntest(x636_ + 2);\
|
|
|
1780 |
(arg1_) = DEREF_exp(x636_ + 3);\
|
|
|
1781 |
(arg2_) = DEREF_exp(x636_ + 4);\
|
2 |
7u83 |
1782 |
}
|
|
|
1783 |
|
7 |
7u83 |
1784 |
#define DESTROY_exp_compare(destroyer_, type_, tst_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
1785 |
{\
|
7 |
7u83 |
1786 |
c_class *x637_ = CHECK_TAG((c_class_exp), 43);\
|
|
|
1787 |
(type_) = DEREF_type(x637_ + 1);\
|
|
|
1788 |
(tst_) = DEREF_ntest(x637_ + 2);\
|
|
|
1789 |
(arg1_) = DEREF_exp(x637_ + 3);\
|
|
|
1790 |
(arg2_) = DEREF_exp(x637_ + 4);\
|
|
|
1791 |
(destroyer_)(x637_, (unsigned)5);\
|
2 |
7u83 |
1792 |
}
|
|
|
1793 |
|
|
|
1794 |
|
|
|
1795 |
/* Operations for field cast of union EXP */
|
|
|
1796 |
|
7 |
7u83 |
1797 |
#define exp_cast_tag ((unsigned)44)
|
|
|
1798 |
#define IS_exp_cast(P) (CHECK_NULL(P)->ag_tag == 44)
|
2 |
7u83 |
1799 |
|
7 |
7u83 |
1800 |
#define exp_cast_conv(P) (CHECK_TAG((P), 44) + 2)
|
|
|
1801 |
#define exp_cast_arg(P) (CHECK_TAG((P), 44) + 3)
|
2 |
7u83 |
1802 |
|
7 |
7u83 |
1803 |
#define MAKE_exp_cast(type_, conv_, arg_, c_class_exp)\
|
2 |
7u83 |
1804 |
{\
|
7 |
7u83 |
1805 |
c_class *x638_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
1806 |
x638_->ag_tag = 44;\
|
|
|
1807 |
COPY_type(x638_ + 1, (type_));\
|
|
|
1808 |
COPY_unsigned(x638_ + 2, (conv_));\
|
|
|
1809 |
COPY_exp(x638_ + 3, (arg_));\
|
|
|
1810 |
(c_class_exp) = x638_;\
|
2 |
7u83 |
1811 |
}
|
|
|
1812 |
|
7 |
7u83 |
1813 |
#define DECONS_exp_cast(type_, conv_, arg_, c_class_exp)\
|
2 |
7u83 |
1814 |
{\
|
7 |
7u83 |
1815 |
c_class *x639_ = CHECK_TAG((c_class_exp), 44);\
|
|
|
1816 |
(type_) = DEREF_type(x639_ + 1);\
|
|
|
1817 |
(conv_) = DEREF_unsigned(x639_ + 2);\
|
|
|
1818 |
(arg_) = DEREF_exp(x639_ + 3);\
|
2 |
7u83 |
1819 |
}
|
|
|
1820 |
|
7 |
7u83 |
1821 |
#define DESTROY_exp_cast(destroyer_, type_, conv_, arg_, c_class_exp)\
|
2 |
7u83 |
1822 |
{\
|
7 |
7u83 |
1823 |
c_class *x640_ = CHECK_TAG((c_class_exp), 44);\
|
|
|
1824 |
(type_) = DEREF_type(x640_ + 1);\
|
|
|
1825 |
(conv_) = DEREF_unsigned(x640_ + 2);\
|
|
|
1826 |
(arg_) = DEREF_exp(x640_ + 3);\
|
|
|
1827 |
(destroyer_)(x640_, (unsigned)4);\
|
2 |
7u83 |
1828 |
}
|
|
|
1829 |
|
|
|
1830 |
|
|
|
1831 |
/* Operations for field base_cast of union EXP */
|
|
|
1832 |
|
7 |
7u83 |
1833 |
#define exp_base_cast_tag ((unsigned)45)
|
|
|
1834 |
#define IS_exp_base_cast(P) (CHECK_NULL(P)->ag_tag == 45)
|
2 |
7u83 |
1835 |
|
7 |
7u83 |
1836 |
#define exp_base_cast_conv(P) (CHECK_TAG((P), 45) + 2)
|
|
|
1837 |
#define exp_base_cast_arg(P) (CHECK_TAG((P), 45) + 3)
|
|
|
1838 |
#define exp_base_cast_off(P) (CHECK_TAG((P), 45) + 4)
|
2 |
7u83 |
1839 |
|
7 |
7u83 |
1840 |
#define MAKE_exp_base_cast(type_, conv_, arg_, off_, c_class_exp)\
|
2 |
7u83 |
1841 |
{\
|
7 |
7u83 |
1842 |
c_class *x641_ = GEN_c_class(5, TYPEID_exp);\
|
|
|
1843 |
x641_->ag_tag = 45;\
|
|
|
1844 |
COPY_type(x641_ + 1, (type_));\
|
|
|
1845 |
COPY_unsigned(x641_ + 2, (conv_));\
|
|
|
1846 |
COPY_exp(x641_ + 3, (arg_));\
|
|
|
1847 |
COPY_off(x641_ + 4, (off_));\
|
|
|
1848 |
(c_class_exp) = x641_;\
|
2 |
7u83 |
1849 |
}
|
|
|
1850 |
|
7 |
7u83 |
1851 |
#define DECONS_exp_base_cast(type_, conv_, arg_, off_, c_class_exp)\
|
2 |
7u83 |
1852 |
{\
|
7 |
7u83 |
1853 |
c_class *x642_ = CHECK_TAG((c_class_exp), 45);\
|
|
|
1854 |
(type_) = DEREF_type(x642_ + 1);\
|
|
|
1855 |
(conv_) = DEREF_unsigned(x642_ + 2);\
|
|
|
1856 |
(arg_) = DEREF_exp(x642_ + 3);\
|
|
|
1857 |
(off_) = DEREF_off(x642_ + 4);\
|
2 |
7u83 |
1858 |
}
|
|
|
1859 |
|
7 |
7u83 |
1860 |
#define DESTROY_exp_base_cast(destroyer_, type_, conv_, arg_, off_, c_class_exp)\
|
2 |
7u83 |
1861 |
{\
|
7 |
7u83 |
1862 |
c_class *x643_ = CHECK_TAG((c_class_exp), 45);\
|
|
|
1863 |
(type_) = DEREF_type(x643_ + 1);\
|
|
|
1864 |
(conv_) = DEREF_unsigned(x643_ + 2);\
|
|
|
1865 |
(arg_) = DEREF_exp(x643_ + 3);\
|
|
|
1866 |
(off_) = DEREF_off(x643_ + 4);\
|
|
|
1867 |
(destroyer_)(x643_, (unsigned)5);\
|
2 |
7u83 |
1868 |
}
|
|
|
1869 |
|
|
|
1870 |
|
|
|
1871 |
/* Operations for field dyn_cast of union EXP */
|
|
|
1872 |
|
7 |
7u83 |
1873 |
#define exp_dyn_cast_tag ((unsigned)46)
|
|
|
1874 |
#define IS_exp_dyn_cast(P) (CHECK_NULL(P)->ag_tag == 46)
|
2 |
7u83 |
1875 |
|
7 |
7u83 |
1876 |
#define exp_dyn_cast_arg(P) (CHECK_TAG((P), 46) + 2)
|
|
|
1877 |
#define exp_dyn_cast_except(P) (CHECK_TAG((P), 46) + 3)
|
2 |
7u83 |
1878 |
|
7 |
7u83 |
1879 |
#define MAKE_exp_dyn_cast(type_, arg_, except_, c_class_exp)\
|
2 |
7u83 |
1880 |
{\
|
7 |
7u83 |
1881 |
c_class *x644_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
1882 |
x644_->ag_tag = 46;\
|
|
|
1883 |
COPY_type(x644_ + 1, (type_));\
|
|
|
1884 |
COPY_exp(x644_ + 2, (arg_));\
|
|
|
1885 |
COPY_exp(x644_ + 3, (except_));\
|
|
|
1886 |
(c_class_exp) = x644_;\
|
2 |
7u83 |
1887 |
}
|
|
|
1888 |
|
7 |
7u83 |
1889 |
#define DECONS_exp_dyn_cast(type_, arg_, except_, c_class_exp)\
|
2 |
7u83 |
1890 |
{\
|
7 |
7u83 |
1891 |
c_class *x645_ = CHECK_TAG((c_class_exp), 46);\
|
|
|
1892 |
(type_) = DEREF_type(x645_ + 1);\
|
|
|
1893 |
(arg_) = DEREF_exp(x645_ + 2);\
|
|
|
1894 |
(except_) = DEREF_exp(x645_ + 3);\
|
2 |
7u83 |
1895 |
}
|
|
|
1896 |
|
7 |
7u83 |
1897 |
#define DESTROY_exp_dyn_cast(destroyer_, type_, arg_, except_, c_class_exp)\
|
2 |
7u83 |
1898 |
{\
|
7 |
7u83 |
1899 |
c_class *x646_ = CHECK_TAG((c_class_exp), 46);\
|
|
|
1900 |
(type_) = DEREF_type(x646_ + 1);\
|
|
|
1901 |
(arg_) = DEREF_exp(x646_ + 2);\
|
|
|
1902 |
(except_) = DEREF_exp(x646_ + 3);\
|
|
|
1903 |
(destroyer_)(x646_, (unsigned)4);\
|
2 |
7u83 |
1904 |
}
|
|
|
1905 |
|
|
|
1906 |
|
|
|
1907 |
/* Operations for field add_ptr of union EXP */
|
|
|
1908 |
|
7 |
7u83 |
1909 |
#define exp_add_ptr_tag ((unsigned)47)
|
|
|
1910 |
#define IS_exp_add_ptr(P) (CHECK_NULL(P)->ag_tag == 47)
|
2 |
7u83 |
1911 |
|
7 |
7u83 |
1912 |
#define exp_add_ptr_ptr(P) (CHECK_TAG((P), 47) + 2)
|
|
|
1913 |
#define exp_add_ptr_off(P) (CHECK_TAG((P), 47) + 3)
|
|
|
1914 |
#define exp_add_ptr_virt(P) (CHECK_TAG((P), 47) + 4)
|
2 |
7u83 |
1915 |
|
7 |
7u83 |
1916 |
#define MAKE_exp_add_ptr(type_, ptr_, off_, virt_, c_class_exp)\
|
2 |
7u83 |
1917 |
{\
|
7 |
7u83 |
1918 |
c_class *x647_ = GEN_c_class(5, TYPEID_exp);\
|
|
|
1919 |
x647_->ag_tag = 47;\
|
|
|
1920 |
COPY_type(x647_ + 1, (type_));\
|
|
|
1921 |
COPY_exp(x647_ + 2, (ptr_));\
|
|
|
1922 |
COPY_off(x647_ + 3, (off_));\
|
|
|
1923 |
COPY_int(x647_ + 4, (virt_));\
|
|
|
1924 |
(c_class_exp) = x647_;\
|
2 |
7u83 |
1925 |
}
|
|
|
1926 |
|
7 |
7u83 |
1927 |
#define DECONS_exp_add_ptr(type_, ptr_, off_, virt_, c_class_exp)\
|
2 |
7u83 |
1928 |
{\
|
7 |
7u83 |
1929 |
c_class *x648_ = CHECK_TAG((c_class_exp), 47);\
|
|
|
1930 |
(type_) = DEREF_type(x648_ + 1);\
|
|
|
1931 |
(ptr_) = DEREF_exp(x648_ + 2);\
|
|
|
1932 |
(off_) = DEREF_off(x648_ + 3);\
|
|
|
1933 |
(virt_) = DEREF_int(x648_ + 4);\
|
2 |
7u83 |
1934 |
}
|
|
|
1935 |
|
7 |
7u83 |
1936 |
#define DESTROY_exp_add_ptr(destroyer_, type_, ptr_, off_, virt_, c_class_exp)\
|
2 |
7u83 |
1937 |
{\
|
7 |
7u83 |
1938 |
c_class *x649_ = CHECK_TAG((c_class_exp), 47);\
|
|
|
1939 |
(type_) = DEREF_type(x649_ + 1);\
|
|
|
1940 |
(ptr_) = DEREF_exp(x649_ + 2);\
|
|
|
1941 |
(off_) = DEREF_off(x649_ + 3);\
|
|
|
1942 |
(virt_) = DEREF_int(x649_ + 4);\
|
|
|
1943 |
(destroyer_)(x649_, (unsigned)5);\
|
2 |
7u83 |
1944 |
}
|
|
|
1945 |
|
|
|
1946 |
|
|
|
1947 |
/* Operations for field offset_size of union EXP */
|
|
|
1948 |
|
7 |
7u83 |
1949 |
#define exp_offset_size_tag ((unsigned)48)
|
|
|
1950 |
#define IS_exp_offset_size(P) (CHECK_NULL(P)->ag_tag == 48)
|
2 |
7u83 |
1951 |
|
7 |
7u83 |
1952 |
#define exp_offset_size_off(P) (CHECK_TAG((P), 48) + 2)
|
|
|
1953 |
#define exp_offset_size_step(P) (CHECK_TAG((P), 48) + 3)
|
|
|
1954 |
#define exp_offset_size_pad(P) (CHECK_TAG((P), 48) + 4)
|
2 |
7u83 |
1955 |
|
7 |
7u83 |
1956 |
#define MAKE_exp_offset_size(type_, off_, step_, pad_, c_class_exp)\
|
2 |
7u83 |
1957 |
{\
|
7 |
7u83 |
1958 |
c_class *x650_ = GEN_c_class(5, TYPEID_exp);\
|
|
|
1959 |
x650_->ag_tag = 48;\
|
|
|
1960 |
COPY_type(x650_ + 1, (type_));\
|
|
|
1961 |
COPY_off(x650_ + 2, (off_));\
|
|
|
1962 |
COPY_type(x650_ + 3, (step_));\
|
|
|
1963 |
COPY_int(x650_ + 4, (pad_));\
|
|
|
1964 |
(c_class_exp) = x650_;\
|
2 |
7u83 |
1965 |
}
|
|
|
1966 |
|
7 |
7u83 |
1967 |
#define DECONS_exp_offset_size(type_, off_, step_, pad_, c_class_exp)\
|
2 |
7u83 |
1968 |
{\
|
7 |
7u83 |
1969 |
c_class *x651_ = CHECK_TAG((c_class_exp), 48);\
|
|
|
1970 |
(type_) = DEREF_type(x651_ + 1);\
|
|
|
1971 |
(off_) = DEREF_off(x651_ + 2);\
|
|
|
1972 |
(step_) = DEREF_type(x651_ + 3);\
|
|
|
1973 |
(pad_) = DEREF_int(x651_ + 4);\
|
2 |
7u83 |
1974 |
}
|
|
|
1975 |
|
7 |
7u83 |
1976 |
#define DESTROY_exp_offset_size(destroyer_, type_, off_, step_, pad_, c_class_exp)\
|
2 |
7u83 |
1977 |
{\
|
7 |
7u83 |
1978 |
c_class *x652_ = CHECK_TAG((c_class_exp), 48);\
|
|
|
1979 |
(type_) = DEREF_type(x652_ + 1);\
|
|
|
1980 |
(off_) = DEREF_off(x652_ + 2);\
|
|
|
1981 |
(step_) = DEREF_type(x652_ + 3);\
|
|
|
1982 |
(pad_) = DEREF_int(x652_ + 4);\
|
|
|
1983 |
(destroyer_)(x652_, (unsigned)5);\
|
2 |
7u83 |
1984 |
}
|
|
|
1985 |
|
|
|
1986 |
|
|
|
1987 |
/* Operations for field constr of union EXP */
|
|
|
1988 |
|
7 |
7u83 |
1989 |
#define exp_constr_tag ((unsigned)49)
|
|
|
1990 |
#define IS_exp_constr(P) (CHECK_NULL(P)->ag_tag == 49)
|
2 |
7u83 |
1991 |
|
7 |
7u83 |
1992 |
#define exp_constr_call(P) (CHECK_TAG((P), 49) + 2)
|
|
|
1993 |
#define exp_constr_obj(P) (CHECK_TAG((P), 49) + 3)
|
|
|
1994 |
#define exp_constr_alt(P) (CHECK_TAG((P), 49) + 4)
|
|
|
1995 |
#define exp_constr_info(P) (CHECK_TAG((P), 49) + 5)
|
2 |
7u83 |
1996 |
|
7 |
7u83 |
1997 |
#define MAKE_exp_constr(type_, call_, obj_, alt_, info_, c_class_exp)\
|
2 |
7u83 |
1998 |
{\
|
7 |
7u83 |
1999 |
c_class *x653_ = GEN_c_class(6, TYPEID_exp);\
|
|
|
2000 |
x653_->ag_tag = 49;\
|
|
|
2001 |
COPY_type(x653_ + 1, (type_));\
|
|
|
2002 |
COPY_exp(x653_ + 2, (call_));\
|
|
|
2003 |
COPY_exp(x653_ + 3, (obj_));\
|
|
|
2004 |
COPY_exp(x653_ + 4, (alt_));\
|
|
|
2005 |
COPY_int(x653_ + 5, (info_));\
|
|
|
2006 |
(c_class_exp) = x653_;\
|
2 |
7u83 |
2007 |
}
|
|
|
2008 |
|
7 |
7u83 |
2009 |
#define DECONS_exp_constr(type_, call_, obj_, alt_, info_, c_class_exp)\
|
2 |
7u83 |
2010 |
{\
|
7 |
7u83 |
2011 |
c_class *x654_ = CHECK_TAG((c_class_exp), 49);\
|
|
|
2012 |
(type_) = DEREF_type(x654_ + 1);\
|
|
|
2013 |
(call_) = DEREF_exp(x654_ + 2);\
|
|
|
2014 |
(obj_) = DEREF_exp(x654_ + 3);\
|
|
|
2015 |
(alt_) = DEREF_exp(x654_ + 4);\
|
|
|
2016 |
(info_) = DEREF_int(x654_ + 5);\
|
2 |
7u83 |
2017 |
}
|
|
|
2018 |
|
7 |
7u83 |
2019 |
#define DESTROY_exp_constr(destroyer_, type_, call_, obj_, alt_, info_, c_class_exp)\
|
2 |
7u83 |
2020 |
{\
|
7 |
7u83 |
2021 |
c_class *x655_ = CHECK_TAG((c_class_exp), 49);\
|
|
|
2022 |
(type_) = DEREF_type(x655_ + 1);\
|
|
|
2023 |
(call_) = DEREF_exp(x655_ + 2);\
|
|
|
2024 |
(obj_) = DEREF_exp(x655_ + 3);\
|
|
|
2025 |
(alt_) = DEREF_exp(x655_ + 4);\
|
|
|
2026 |
(info_) = DEREF_int(x655_ + 5);\
|
|
|
2027 |
(destroyer_)(x655_, (unsigned)6);\
|
2 |
7u83 |
2028 |
}
|
|
|
2029 |
|
|
|
2030 |
|
|
|
2031 |
/* Operations for field destr of union EXP */
|
|
|
2032 |
|
7 |
7u83 |
2033 |
#define exp_destr_tag ((unsigned)50)
|
|
|
2034 |
#define IS_exp_destr(P) (CHECK_NULL(P)->ag_tag == 50)
|
2 |
7u83 |
2035 |
|
7 |
7u83 |
2036 |
#define exp_destr_call(P) (CHECK_TAG((P), 50) + 2)
|
|
|
2037 |
#define exp_destr_obj(P) (CHECK_TAG((P), 50) + 3)
|
|
|
2038 |
#define exp_destr_count(P) (CHECK_TAG((P), 50) + 4)
|
2 |
7u83 |
2039 |
|
7 |
7u83 |
2040 |
#define MAKE_exp_destr(type_, call_, obj_, c_class_exp)\
|
2 |
7u83 |
2041 |
{\
|
7 |
7u83 |
2042 |
c_class *x656_ = GEN_c_class(5, TYPEID_exp);\
|
|
|
2043 |
x656_->ag_tag = 50;\
|
|
|
2044 |
COPY_type(x656_ + 1, (type_));\
|
|
|
2045 |
COPY_exp(x656_ + 2, (call_));\
|
|
|
2046 |
COPY_exp(x656_ + 3, (obj_));\
|
|
|
2047 |
COPY_exp(x656_ + 4, NULL_exp);\
|
|
|
2048 |
(c_class_exp) = x656_;\
|
2 |
7u83 |
2049 |
}
|
|
|
2050 |
|
7 |
7u83 |
2051 |
#define DECONS_exp_destr(type_, call_, obj_, count_, c_class_exp)\
|
2 |
7u83 |
2052 |
{\
|
7 |
7u83 |
2053 |
c_class *x657_ = CHECK_TAG((c_class_exp), 50);\
|
|
|
2054 |
(type_) = DEREF_type(x657_ + 1);\
|
|
|
2055 |
(call_) = DEREF_exp(x657_ + 2);\
|
|
|
2056 |
(obj_) = DEREF_exp(x657_ + 3);\
|
|
|
2057 |
(count_) = DEREF_exp(x657_ + 4);\
|
2 |
7u83 |
2058 |
}
|
|
|
2059 |
|
7 |
7u83 |
2060 |
#define DESTROY_exp_destr(destroyer_, type_, call_, obj_, count_, c_class_exp)\
|
2 |
7u83 |
2061 |
{\
|
7 |
7u83 |
2062 |
c_class *x658_ = CHECK_TAG((c_class_exp), 50);\
|
|
|
2063 |
(type_) = DEREF_type(x658_ + 1);\
|
|
|
2064 |
(call_) = DEREF_exp(x658_ + 2);\
|
|
|
2065 |
(obj_) = DEREF_exp(x658_ + 3);\
|
|
|
2066 |
(count_) = DEREF_exp(x658_ + 4);\
|
|
|
2067 |
(destroyer_)(x658_, (unsigned)5);\
|
2 |
7u83 |
2068 |
}
|
|
|
2069 |
|
|
|
2070 |
|
|
|
2071 |
/* Operations for field alloc of union EXP */
|
|
|
2072 |
|
7 |
7u83 |
2073 |
#define exp_alloc_tag ((unsigned)51)
|
|
|
2074 |
#define IS_exp_alloc(P) (CHECK_NULL(P)->ag_tag == 51)
|
2 |
7u83 |
2075 |
|
7 |
7u83 |
2076 |
#define exp_alloc_call(P) (CHECK_TAG((P), 51) + 2)
|
|
|
2077 |
#define exp_alloc_init(P) (CHECK_TAG((P), 51) + 3)
|
|
|
2078 |
#define exp_alloc_garbage(P) (CHECK_TAG((P), 51) + 4)
|
|
|
2079 |
#define exp_alloc_size(P) (CHECK_TAG((P), 51) + 5)
|
2 |
7u83 |
2080 |
|
7 |
7u83 |
2081 |
#define MAKE_exp_alloc(type_, call_, init_, garbage_, size_, c_class_exp)\
|
2 |
7u83 |
2082 |
{\
|
7 |
7u83 |
2083 |
c_class *x659_ = GEN_c_class(6, TYPEID_exp);\
|
|
|
2084 |
x659_->ag_tag = 51;\
|
|
|
2085 |
COPY_type(x659_ + 1, (type_));\
|
|
|
2086 |
COPY_exp(x659_ + 2, (call_));\
|
|
|
2087 |
COPY_exp(x659_ + 3, (init_));\
|
|
|
2088 |
COPY_exp(x659_ + 4, (garbage_));\
|
|
|
2089 |
COPY_exp(x659_ + 5, (size_));\
|
|
|
2090 |
(c_class_exp) = x659_;\
|
2 |
7u83 |
2091 |
}
|
|
|
2092 |
|
7 |
7u83 |
2093 |
#define DECONS_exp_alloc(type_, call_, init_, garbage_, size_, c_class_exp)\
|
2 |
7u83 |
2094 |
{\
|
7 |
7u83 |
2095 |
c_class *x660_ = CHECK_TAG((c_class_exp), 51);\
|
|
|
2096 |
(type_) = DEREF_type(x660_ + 1);\
|
|
|
2097 |
(call_) = DEREF_exp(x660_ + 2);\
|
|
|
2098 |
(init_) = DEREF_exp(x660_ + 3);\
|
|
|
2099 |
(garbage_) = DEREF_exp(x660_ + 4);\
|
|
|
2100 |
(size_) = DEREF_exp(x660_ + 5);\
|
2 |
7u83 |
2101 |
}
|
|
|
2102 |
|
7 |
7u83 |
2103 |
#define DESTROY_exp_alloc(destroyer_, type_, call_, init_, garbage_, size_, c_class_exp)\
|
2 |
7u83 |
2104 |
{\
|
7 |
7u83 |
2105 |
c_class *x661_ = CHECK_TAG((c_class_exp), 51);\
|
|
|
2106 |
(type_) = DEREF_type(x661_ + 1);\
|
|
|
2107 |
(call_) = DEREF_exp(x661_ + 2);\
|
|
|
2108 |
(init_) = DEREF_exp(x661_ + 3);\
|
|
|
2109 |
(garbage_) = DEREF_exp(x661_ + 4);\
|
|
|
2110 |
(size_) = DEREF_exp(x661_ + 5);\
|
|
|
2111 |
(destroyer_)(x661_, (unsigned)6);\
|
2 |
7u83 |
2112 |
}
|
|
|
2113 |
|
|
|
2114 |
|
|
|
2115 |
/* Operations for field dealloc of union EXP */
|
|
|
2116 |
|
7 |
7u83 |
2117 |
#define exp_dealloc_tag ((unsigned)52)
|
|
|
2118 |
#define IS_exp_dealloc(P) (CHECK_NULL(P)->ag_tag == 52)
|
2 |
7u83 |
2119 |
|
7 |
7u83 |
2120 |
#define exp_dealloc_term(P) (CHECK_TAG((P), 52) + 2)
|
|
|
2121 |
#define exp_dealloc_call(P) (CHECK_TAG((P), 52) + 3)
|
|
|
2122 |
#define exp_dealloc_arg(P) (CHECK_TAG((P), 52) + 4)
|
|
|
2123 |
#define exp_dealloc_size(P) (CHECK_TAG((P), 52) + 5)
|
2 |
7u83 |
2124 |
|
7 |
7u83 |
2125 |
#define MAKE_exp_dealloc(type_, term_, call_, arg_, size_, c_class_exp)\
|
2 |
7u83 |
2126 |
{\
|
7 |
7u83 |
2127 |
c_class *x662_ = GEN_c_class(6, TYPEID_exp);\
|
|
|
2128 |
x662_->ag_tag = 52;\
|
|
|
2129 |
COPY_type(x662_ + 1, (type_));\
|
|
|
2130 |
COPY_exp(x662_ + 2, (term_));\
|
|
|
2131 |
COPY_exp(x662_ + 3, (call_));\
|
|
|
2132 |
COPY_exp(x662_ + 4, (arg_));\
|
|
|
2133 |
COPY_exp(x662_ + 5, (size_));\
|
|
|
2134 |
(c_class_exp) = x662_;\
|
2 |
7u83 |
2135 |
}
|
|
|
2136 |
|
7 |
7u83 |
2137 |
#define DECONS_exp_dealloc(type_, term_, call_, arg_, size_, c_class_exp)\
|
2 |
7u83 |
2138 |
{\
|
7 |
7u83 |
2139 |
c_class *x663_ = CHECK_TAG((c_class_exp), 52);\
|
|
|
2140 |
(type_) = DEREF_type(x663_ + 1);\
|
|
|
2141 |
(term_) = DEREF_exp(x663_ + 2);\
|
|
|
2142 |
(call_) = DEREF_exp(x663_ + 3);\
|
|
|
2143 |
(arg_) = DEREF_exp(x663_ + 4);\
|
|
|
2144 |
(size_) = DEREF_exp(x663_ + 5);\
|
2 |
7u83 |
2145 |
}
|
|
|
2146 |
|
7 |
7u83 |
2147 |
#define DESTROY_exp_dealloc(destroyer_, type_, term_, call_, arg_, size_, c_class_exp)\
|
2 |
7u83 |
2148 |
{\
|
7 |
7u83 |
2149 |
c_class *x664_ = CHECK_TAG((c_class_exp), 52);\
|
|
|
2150 |
(type_) = DEREF_type(x664_ + 1);\
|
|
|
2151 |
(term_) = DEREF_exp(x664_ + 2);\
|
|
|
2152 |
(call_) = DEREF_exp(x664_ + 3);\
|
|
|
2153 |
(arg_) = DEREF_exp(x664_ + 4);\
|
|
|
2154 |
(size_) = DEREF_exp(x664_ + 5);\
|
|
|
2155 |
(destroyer_)(x664_, (unsigned)6);\
|
2 |
7u83 |
2156 |
}
|
|
|
2157 |
|
|
|
2158 |
|
|
|
2159 |
/* Operations for field rtti of union EXP */
|
|
|
2160 |
|
7 |
7u83 |
2161 |
#define exp_rtti_tag ((unsigned)53)
|
|
|
2162 |
#define IS_exp_rtti(P) (CHECK_NULL(P)->ag_tag == 53)
|
2 |
7u83 |
2163 |
|
7 |
7u83 |
2164 |
#define exp_rtti_arg(P) (CHECK_TAG((P), 53) + 2)
|
|
|
2165 |
#define exp_rtti_except(P) (CHECK_TAG((P), 53) + 3)
|
|
|
2166 |
#define exp_rtti_op(P) (CHECK_TAG((P), 53) + 4)
|
2 |
7u83 |
2167 |
|
7 |
7u83 |
2168 |
#define MAKE_exp_rtti(type_, arg_, except_, op_, c_class_exp)\
|
2 |
7u83 |
2169 |
{\
|
7 |
7u83 |
2170 |
c_class *x665_ = GEN_c_class(5, TYPEID_exp);\
|
|
|
2171 |
x665_->ag_tag = 53;\
|
|
|
2172 |
COPY_type(x665_ + 1, (type_));\
|
|
|
2173 |
COPY_exp(x665_ + 2, (arg_));\
|
|
|
2174 |
COPY_exp(x665_ + 3, (except_));\
|
|
|
2175 |
COPY_int(x665_ + 4, (op_));\
|
|
|
2176 |
(c_class_exp) = x665_;\
|
2 |
7u83 |
2177 |
}
|
|
|
2178 |
|
7 |
7u83 |
2179 |
#define DECONS_exp_rtti(type_, arg_, except_, op_, c_class_exp)\
|
2 |
7u83 |
2180 |
{\
|
7 |
7u83 |
2181 |
c_class *x666_ = CHECK_TAG((c_class_exp), 53);\
|
|
|
2182 |
(type_) = DEREF_type(x666_ + 1);\
|
|
|
2183 |
(arg_) = DEREF_exp(x666_ + 2);\
|
|
|
2184 |
(except_) = DEREF_exp(x666_ + 3);\
|
|
|
2185 |
(op_) = DEREF_int(x666_ + 4);\
|
2 |
7u83 |
2186 |
}
|
|
|
2187 |
|
7 |
7u83 |
2188 |
#define DESTROY_exp_rtti(destroyer_, type_, arg_, except_, op_, c_class_exp)\
|
2 |
7u83 |
2189 |
{\
|
7 |
7u83 |
2190 |
c_class *x667_ = CHECK_TAG((c_class_exp), 53);\
|
|
|
2191 |
(type_) = DEREF_type(x667_ + 1);\
|
|
|
2192 |
(arg_) = DEREF_exp(x667_ + 2);\
|
|
|
2193 |
(except_) = DEREF_exp(x667_ + 3);\
|
|
|
2194 |
(op_) = DEREF_int(x667_ + 4);\
|
|
|
2195 |
(destroyer_)(x667_, (unsigned)5);\
|
2 |
7u83 |
2196 |
}
|
|
|
2197 |
|
|
|
2198 |
|
|
|
2199 |
/* Operations for field rtti_type of union EXP */
|
|
|
2200 |
|
7 |
7u83 |
2201 |
#define exp_rtti_type_tag ((unsigned)54)
|
|
|
2202 |
#define IS_exp_rtti_type(P) (CHECK_NULL(P)->ag_tag == 54)
|
2 |
7u83 |
2203 |
|
7 |
7u83 |
2204 |
#define exp_rtti_type_arg(P) (CHECK_TAG((P), 54) + 2)
|
|
|
2205 |
#define exp_rtti_type_op(P) (CHECK_TAG((P), 54) + 3)
|
2 |
7u83 |
2206 |
|
7 |
7u83 |
2207 |
#define MAKE_exp_rtti_type(type_, arg_, op_, c_class_exp)\
|
2 |
7u83 |
2208 |
{\
|
7 |
7u83 |
2209 |
c_class *x668_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
2210 |
x668_->ag_tag = 54;\
|
|
|
2211 |
COPY_type(x668_ + 1, (type_));\
|
|
|
2212 |
COPY_type(x668_ + 2, (arg_));\
|
|
|
2213 |
COPY_int(x668_ + 3, (op_));\
|
|
|
2214 |
(c_class_exp) = x668_;\
|
2 |
7u83 |
2215 |
}
|
|
|
2216 |
|
7 |
7u83 |
2217 |
#define DECONS_exp_rtti_type(type_, arg_, op_, c_class_exp)\
|
2 |
7u83 |
2218 |
{\
|
7 |
7u83 |
2219 |
c_class *x669_ = CHECK_TAG((c_class_exp), 54);\
|
|
|
2220 |
(type_) = DEREF_type(x669_ + 1);\
|
|
|
2221 |
(arg_) = DEREF_type(x669_ + 2);\
|
|
|
2222 |
(op_) = DEREF_int(x669_ + 3);\
|
2 |
7u83 |
2223 |
}
|
|
|
2224 |
|
7 |
7u83 |
2225 |
#define DESTROY_exp_rtti_type(destroyer_, type_, arg_, op_, c_class_exp)\
|
2 |
7u83 |
2226 |
{\
|
7 |
7u83 |
2227 |
c_class *x670_ = CHECK_TAG((c_class_exp), 54);\
|
|
|
2228 |
(type_) = DEREF_type(x670_ + 1);\
|
|
|
2229 |
(arg_) = DEREF_type(x670_ + 2);\
|
|
|
2230 |
(op_) = DEREF_int(x670_ + 3);\
|
|
|
2231 |
(destroyer_)(x670_, (unsigned)4);\
|
2 |
7u83 |
2232 |
}
|
|
|
2233 |
|
|
|
2234 |
|
|
|
2235 |
/* Operations for field rtti_no of union EXP */
|
|
|
2236 |
|
7 |
7u83 |
2237 |
#define exp_rtti_no_tag ((unsigned)55)
|
|
|
2238 |
#define IS_exp_rtti_no(P) (CHECK_NULL(P)->ag_tag == 55)
|
2 |
7u83 |
2239 |
|
7 |
7u83 |
2240 |
#define exp_rtti_no_arg(P) (CHECK_TAG((P), 55) + 2)
|
2 |
7u83 |
2241 |
|
7 |
7u83 |
2242 |
#define MAKE_exp_rtti_no(type_, arg_, c_class_exp)\
|
2 |
7u83 |
2243 |
{\
|
7 |
7u83 |
2244 |
c_class *x671_ = GEN_c_class(3, TYPEID_exp);\
|
|
|
2245 |
x671_->ag_tag = 55;\
|
|
|
2246 |
COPY_type(x671_ + 1, (type_));\
|
|
|
2247 |
COPY_type(x671_ + 2, (arg_));\
|
|
|
2248 |
(c_class_exp) = x671_;\
|
2 |
7u83 |
2249 |
}
|
|
|
2250 |
|
7 |
7u83 |
2251 |
#define DECONS_exp_rtti_no(type_, arg_, c_class_exp)\
|
2 |
7u83 |
2252 |
{\
|
7 |
7u83 |
2253 |
c_class *x672_ = CHECK_TAG((c_class_exp), 55);\
|
|
|
2254 |
(type_) = DEREF_type(x672_ + 1);\
|
|
|
2255 |
(arg_) = DEREF_type(x672_ + 2);\
|
2 |
7u83 |
2256 |
}
|
|
|
2257 |
|
7 |
7u83 |
2258 |
#define DESTROY_exp_rtti_no(destroyer_, type_, arg_, c_class_exp)\
|
2 |
7u83 |
2259 |
{\
|
7 |
7u83 |
2260 |
c_class *x673_ = CHECK_TAG((c_class_exp), 55);\
|
|
|
2261 |
(type_) = DEREF_type(x673_ + 1);\
|
|
|
2262 |
(arg_) = DEREF_type(x673_ + 2);\
|
|
|
2263 |
(destroyer_)(x673_, (unsigned)3);\
|
2 |
7u83 |
2264 |
}
|
|
|
2265 |
|
|
|
2266 |
|
|
|
2267 |
/* Operations for field dynamic of union EXP */
|
|
|
2268 |
|
7 |
7u83 |
2269 |
#define exp_dynamic_tag ((unsigned)56)
|
|
|
2270 |
#define IS_exp_dynamic(P) (CHECK_NULL(P)->ag_tag == 56)
|
2 |
7u83 |
2271 |
|
7 |
7u83 |
2272 |
#define exp_dynamic_arg(P) (CHECK_TAG((P), 56) + 2)
|
2 |
7u83 |
2273 |
|
7 |
7u83 |
2274 |
#define MAKE_exp_dynamic(type_, arg_, c_class_exp)\
|
2 |
7u83 |
2275 |
{\
|
7 |
7u83 |
2276 |
c_class *x674_ = GEN_c_class(3, TYPEID_exp);\
|
|
|
2277 |
x674_->ag_tag = 56;\
|
|
|
2278 |
COPY_type(x674_ + 1, (type_));\
|
|
|
2279 |
COPY_exp(x674_ + 2, (arg_));\
|
|
|
2280 |
(c_class_exp) = x674_;\
|
2 |
7u83 |
2281 |
}
|
|
|
2282 |
|
7 |
7u83 |
2283 |
#define DECONS_exp_dynamic(type_, arg_, c_class_exp)\
|
2 |
7u83 |
2284 |
{\
|
7 |
7u83 |
2285 |
c_class *x675_ = CHECK_TAG((c_class_exp), 56);\
|
|
|
2286 |
(type_) = DEREF_type(x675_ + 1);\
|
|
|
2287 |
(arg_) = DEREF_exp(x675_ + 2);\
|
2 |
7u83 |
2288 |
}
|
|
|
2289 |
|
7 |
7u83 |
2290 |
#define DESTROY_exp_dynamic(destroyer_, type_, arg_, c_class_exp)\
|
2 |
7u83 |
2291 |
{\
|
7 |
7u83 |
2292 |
c_class *x676_ = CHECK_TAG((c_class_exp), 56);\
|
|
|
2293 |
(type_) = DEREF_type(x676_ + 1);\
|
|
|
2294 |
(arg_) = DEREF_exp(x676_ + 2);\
|
|
|
2295 |
(destroyer_)(x676_, (unsigned)3);\
|
2 |
7u83 |
2296 |
}
|
|
|
2297 |
|
|
|
2298 |
|
|
|
2299 |
/* Operations for field aggregate of union EXP */
|
|
|
2300 |
|
7 |
7u83 |
2301 |
#define exp_aggregate_tag ((unsigned)57)
|
|
|
2302 |
#define IS_exp_aggregate(P) (CHECK_NULL(P)->ag_tag == 57)
|
2 |
7u83 |
2303 |
|
7 |
7u83 |
2304 |
#define exp_aggregate_args(P) (CHECK_TAG((P), 57) + 2)
|
|
|
2305 |
#define exp_aggregate_offs(P) (CHECK_TAG((P), 57) + 3)
|
2 |
7u83 |
2306 |
|
7 |
7u83 |
2307 |
#define MAKE_exp_aggregate(type_, args_, offs_, c_class_exp)\
|
2 |
7u83 |
2308 |
{\
|
7 |
7u83 |
2309 |
c_class *x677_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
2310 |
x677_->ag_tag = 57;\
|
|
|
2311 |
COPY_type(x677_ + 1, (type_));\
|
|
|
2312 |
COPY_list(x677_ + 2, (args_));\
|
|
|
2313 |
COPY_list(x677_ + 3, (offs_));\
|
|
|
2314 |
(c_class_exp) = x677_;\
|
2 |
7u83 |
2315 |
}
|
|
|
2316 |
|
7 |
7u83 |
2317 |
#define DECONS_exp_aggregate(type_, args_, offs_, c_class_exp)\
|
2 |
7u83 |
2318 |
{\
|
7 |
7u83 |
2319 |
c_class *x678_ = CHECK_TAG((c_class_exp), 57);\
|
|
|
2320 |
(type_) = DEREF_type(x678_ + 1);\
|
|
|
2321 |
(args_) = DEREF_list(x678_ + 2);\
|
|
|
2322 |
(offs_) = DEREF_list(x678_ + 3);\
|
2 |
7u83 |
2323 |
}
|
|
|
2324 |
|
7 |
7u83 |
2325 |
#define DESTROY_exp_aggregate(destroyer_, type_, args_, offs_, c_class_exp)\
|
2 |
7u83 |
2326 |
{\
|
7 |
7u83 |
2327 |
c_class *x679_ = CHECK_TAG((c_class_exp), 57);\
|
|
|
2328 |
(type_) = DEREF_type(x679_ + 1);\
|
|
|
2329 |
(args_) = DEREF_list(x679_ + 2);\
|
|
|
2330 |
(offs_) = DEREF_list(x679_ + 3);\
|
|
|
2331 |
(destroyer_)(x679_, (unsigned)4);\
|
2 |
7u83 |
2332 |
}
|
|
|
2333 |
|
|
|
2334 |
|
|
|
2335 |
/* Operations for field initialiser of union EXP */
|
|
|
2336 |
|
7 |
7u83 |
2337 |
#define exp_initialiser_tag ((unsigned)58)
|
|
|
2338 |
#define IS_exp_initialiser(P) (CHECK_NULL(P)->ag_tag == 58)
|
2 |
7u83 |
2339 |
|
7 |
7u83 |
2340 |
#define exp_initialiser_args(P) (CHECK_TAG((P), 58) + 2)
|
|
|
2341 |
#define exp_initialiser_offs(P) (CHECK_TAG((P), 58) + 3)
|
|
|
2342 |
#define exp_initialiser_kind(P) (CHECK_TAG((P), 58) + 4)
|
|
|
2343 |
#define exp_initialiser_virt(P) (CHECK_TAG((P), 58) + 5)
|
|
|
2344 |
#define exp_initialiser_base(P) (CHECK_TAG((P), 58) + 6)
|
2 |
7u83 |
2345 |
|
7 |
7u83 |
2346 |
#define MAKE_exp_initialiser(type_, args_, offs_, kind_, virt_, base_, c_class_exp)\
|
2 |
7u83 |
2347 |
{\
|
7 |
7u83 |
2348 |
c_class *x680_ = GEN_c_class(7, TYPEID_exp);\
|
|
|
2349 |
x680_->ag_tag = 58;\
|
|
|
2350 |
COPY_type(x680_ + 1, (type_));\
|
|
|
2351 |
COPY_list(x680_ + 2, (args_));\
|
|
|
2352 |
COPY_list(x680_ + 3, (offs_));\
|
|
|
2353 |
COPY_int(x680_ + 4, (kind_));\
|
|
|
2354 |
COPY_unsigned(x680_ + 5, (virt_));\
|
|
|
2355 |
COPY_unsigned(x680_ + 6, (base_));\
|
|
|
2356 |
(c_class_exp) = x680_;\
|
2 |
7u83 |
2357 |
}
|
|
|
2358 |
|
7 |
7u83 |
2359 |
#define DECONS_exp_initialiser(type_, args_, offs_, kind_, virt_, base_, c_class_exp)\
|
2 |
7u83 |
2360 |
{\
|
7 |
7u83 |
2361 |
c_class *x681_ = CHECK_TAG((c_class_exp), 58);\
|
|
|
2362 |
(type_) = DEREF_type(x681_ + 1);\
|
|
|
2363 |
(args_) = DEREF_list(x681_ + 2);\
|
|
|
2364 |
(offs_) = DEREF_list(x681_ + 3);\
|
|
|
2365 |
(kind_) = DEREF_int(x681_ + 4);\
|
|
|
2366 |
(virt_) = DEREF_unsigned(x681_ + 5);\
|
|
|
2367 |
(base_) = DEREF_unsigned(x681_ + 6);\
|
2 |
7u83 |
2368 |
}
|
|
|
2369 |
|
7 |
7u83 |
2370 |
#define DESTROY_exp_initialiser(destroyer_, type_, args_, offs_, kind_, virt_, base_, c_class_exp)\
|
2 |
7u83 |
2371 |
{\
|
7 |
7u83 |
2372 |
c_class *x682_ = CHECK_TAG((c_class_exp), 58);\
|
|
|
2373 |
(type_) = DEREF_type(x682_ + 1);\
|
|
|
2374 |
(args_) = DEREF_list(x682_ + 2);\
|
|
|
2375 |
(offs_) = DEREF_list(x682_ + 3);\
|
|
|
2376 |
(kind_) = DEREF_int(x682_ + 4);\
|
|
|
2377 |
(virt_) = DEREF_unsigned(x682_ + 5);\
|
|
|
2378 |
(base_) = DEREF_unsigned(x682_ + 6);\
|
|
|
2379 |
(destroyer_)(x682_, (unsigned)7);\
|
2 |
7u83 |
2380 |
}
|
|
|
2381 |
|
|
|
2382 |
|
|
|
2383 |
/* Operations for field nof of union EXP */
|
|
|
2384 |
|
7 |
7u83 |
2385 |
#define exp_nof_tag ((unsigned)59)
|
|
|
2386 |
#define IS_exp_nof(P) (CHECK_NULL(P)->ag_tag == 59)
|
2 |
7u83 |
2387 |
|
7 |
7u83 |
2388 |
#define exp_nof_start(P) (CHECK_TAG((P), 59) + 2)
|
|
|
2389 |
#define exp_nof_size(P) (CHECK_TAG((P), 59) + 3)
|
|
|
2390 |
#define exp_nof_pad(P) (CHECK_TAG((P), 59) + 4)
|
|
|
2391 |
#define exp_nof_end(P) (CHECK_TAG((P), 59) + 5)
|
2 |
7u83 |
2392 |
|
7 |
7u83 |
2393 |
#define MAKE_exp_nof(type_, start_, size_, pad_, end_, c_class_exp)\
|
2 |
7u83 |
2394 |
{\
|
7 |
7u83 |
2395 |
c_class *x683_ = GEN_c_class(6, TYPEID_exp);\
|
|
|
2396 |
x683_->ag_tag = 59;\
|
|
|
2397 |
COPY_type(x683_ + 1, (type_));\
|
|
|
2398 |
COPY_exp(x683_ + 2, (start_));\
|
|
|
2399 |
COPY_nat(x683_ + 3, (size_));\
|
|
|
2400 |
COPY_exp(x683_ + 4, (pad_));\
|
|
|
2401 |
COPY_exp(x683_ + 5, (end_));\
|
|
|
2402 |
(c_class_exp) = x683_;\
|
2 |
7u83 |
2403 |
}
|
|
|
2404 |
|
7 |
7u83 |
2405 |
#define DECONS_exp_nof(type_, start_, size_, pad_, end_, c_class_exp)\
|
2 |
7u83 |
2406 |
{\
|
7 |
7u83 |
2407 |
c_class *x684_ = CHECK_TAG((c_class_exp), 59);\
|
|
|
2408 |
(type_) = DEREF_type(x684_ + 1);\
|
|
|
2409 |
(start_) = DEREF_exp(x684_ + 2);\
|
|
|
2410 |
(size_) = DEREF_nat(x684_ + 3);\
|
|
|
2411 |
(pad_) = DEREF_exp(x684_ + 4);\
|
|
|
2412 |
(end_) = DEREF_exp(x684_ + 5);\
|
2 |
7u83 |
2413 |
}
|
|
|
2414 |
|
7 |
7u83 |
2415 |
#define DESTROY_exp_nof(destroyer_, type_, start_, size_, pad_, end_, c_class_exp)\
|
2 |
7u83 |
2416 |
{\
|
7 |
7u83 |
2417 |
c_class *x685_ = CHECK_TAG((c_class_exp), 59);\
|
|
|
2418 |
(type_) = DEREF_type(x685_ + 1);\
|
|
|
2419 |
(start_) = DEREF_exp(x685_ + 2);\
|
|
|
2420 |
(size_) = DEREF_nat(x685_ + 3);\
|
|
|
2421 |
(pad_) = DEREF_exp(x685_ + 4);\
|
|
|
2422 |
(end_) = DEREF_exp(x685_ + 5);\
|
|
|
2423 |
(destroyer_)(x685_, (unsigned)6);\
|
2 |
7u83 |
2424 |
}
|
|
|
2425 |
|
|
|
2426 |
|
|
|
2427 |
/* Operations for field comma of union EXP */
|
|
|
2428 |
|
7 |
7u83 |
2429 |
#define exp_comma_tag ((unsigned)60)
|
|
|
2430 |
#define IS_exp_comma(P) (CHECK_NULL(P)->ag_tag == 60)
|
2 |
7u83 |
2431 |
|
7 |
7u83 |
2432 |
#define exp_comma_args(P) (CHECK_TAG((P), 60) + 2)
|
2 |
7u83 |
2433 |
|
7 |
7u83 |
2434 |
#define MAKE_exp_comma(type_, args_, c_class_exp)\
|
2 |
7u83 |
2435 |
{\
|
7 |
7u83 |
2436 |
c_class *x686_ = GEN_c_class(3, TYPEID_exp);\
|
|
|
2437 |
x686_->ag_tag = 60;\
|
|
|
2438 |
COPY_type(x686_ + 1, (type_));\
|
|
|
2439 |
COPY_list(x686_ + 2, (args_));\
|
|
|
2440 |
(c_class_exp) = x686_;\
|
2 |
7u83 |
2441 |
}
|
|
|
2442 |
|
7 |
7u83 |
2443 |
#define DECONS_exp_comma(type_, args_, c_class_exp)\
|
2 |
7u83 |
2444 |
{\
|
7 |
7u83 |
2445 |
c_class *x687_ = CHECK_TAG((c_class_exp), 60);\
|
|
|
2446 |
(type_) = DEREF_type(x687_ + 1);\
|
|
|
2447 |
(args_) = DEREF_list(x687_ + 2);\
|
2 |
7u83 |
2448 |
}
|
|
|
2449 |
|
7 |
7u83 |
2450 |
#define DESTROY_exp_comma(destroyer_, type_, args_, c_class_exp)\
|
2 |
7u83 |
2451 |
{\
|
7 |
7u83 |
2452 |
c_class *x688_ = CHECK_TAG((c_class_exp), 60);\
|
|
|
2453 |
(type_) = DEREF_type(x688_ + 1);\
|
|
|
2454 |
(args_) = DEREF_list(x688_ + 2);\
|
|
|
2455 |
(destroyer_)(x688_, (unsigned)3);\
|
2 |
7u83 |
2456 |
}
|
|
|
2457 |
|
|
|
2458 |
|
|
|
2459 |
/* Operations for field set set_etc of union EXP */
|
|
|
2460 |
|
7 |
7u83 |
2461 |
#define exp_set_etc_tag ((unsigned)63)
|
|
|
2462 |
#define IS_exp_set_etc(P) ((unsigned)(CHECK_NULL(P)->ag_tag - 61) < (unsigned)2)
|
2 |
7u83 |
2463 |
|
7 |
7u83 |
2464 |
#define exp_set_etc_arg(P) (CHECK_TAG_ETC((P), 61, 63) + 2)
|
2 |
7u83 |
2465 |
|
7 |
7u83 |
2466 |
#define MAKE_exp_set_etc(tag, type_, arg_, c_class_exp)\
|
2 |
7u83 |
2467 |
{\
|
7 |
7u83 |
2468 |
c_class *x689_ = GEN_c_class(3, TYPEID_exp);\
|
|
|
2469 |
x689_->ag_tag = (tag);\
|
|
|
2470 |
COPY_type(x689_ + 1, (type_));\
|
|
|
2471 |
COPY_exp(x689_ + 2, (arg_));\
|
|
|
2472 |
(c_class_exp) = CHECK_TAG_ETC(x689_, 61, 63);\
|
2 |
7u83 |
2473 |
}
|
|
|
2474 |
|
7 |
7u83 |
2475 |
#define MODIFY_exp_set_etc(tag, c_class_exp)\
|
2 |
7u83 |
2476 |
{\
|
7 |
7u83 |
2477 |
c_class *x690_ = CHECK_TAG_ETC ((c_class_exp), 61, 63);\
|
|
|
2478 |
x690_->ag_tag = (tag);\
|
|
|
2479 |
(void) CHECK_TAG_ETC (x690_, 61, 63);\
|
2 |
7u83 |
2480 |
}
|
|
|
2481 |
|
7 |
7u83 |
2482 |
#define DECONS_exp_set_etc(type_, arg_, c_class_exp)\
|
2 |
7u83 |
2483 |
{\
|
7 |
7u83 |
2484 |
c_class *x691_ = CHECK_TAG_ETC((c_class_exp), 61, 63);\
|
|
|
2485 |
(type_) = DEREF_type(x691_ + 1);\
|
|
|
2486 |
(arg_) = DEREF_exp(x691_ + 2);\
|
2 |
7u83 |
2487 |
}
|
|
|
2488 |
|
7 |
7u83 |
2489 |
#define DESTROY_exp_set_etc(destroyer_, type_, arg_, c_class_exp)\
|
2 |
7u83 |
2490 |
{\
|
7 |
7u83 |
2491 |
c_class *x692_ = CHECK_TAG_ETC((c_class_exp), 61, 63);\
|
|
|
2492 |
(type_) = DEREF_type(x692_ + 1);\
|
|
|
2493 |
(arg_) = DEREF_exp(x692_ + 2);\
|
|
|
2494 |
(destroyer_)(x692_, (unsigned)3);\
|
2 |
7u83 |
2495 |
}
|
|
|
2496 |
|
|
|
2497 |
|
|
|
2498 |
/* Operations for field set of union EXP */
|
|
|
2499 |
|
7 |
7u83 |
2500 |
#define exp_set_tag ((unsigned)61)
|
|
|
2501 |
#define IS_exp_set(P) (CHECK_NULL(P)->ag_tag == 61)
|
2 |
7u83 |
2502 |
|
7 |
7u83 |
2503 |
#define exp_set_arg(P) (CHECK_TAG((P), 61) + 2)
|
2 |
7u83 |
2504 |
|
7 |
7u83 |
2505 |
#define MAKE_exp_set(type_, arg_, c_class_exp)\
|
2 |
7u83 |
2506 |
{\
|
7 |
7u83 |
2507 |
c_class *x693_ = GEN_c_class(3, TYPEID_exp);\
|
|
|
2508 |
x693_->ag_tag = 61;\
|
|
|
2509 |
COPY_type(x693_ + 1, (type_));\
|
|
|
2510 |
COPY_exp(x693_ + 2, (arg_));\
|
|
|
2511 |
(c_class_exp) = x693_;\
|
2 |
7u83 |
2512 |
}
|
|
|
2513 |
|
7 |
7u83 |
2514 |
#define DECONS_exp_set(type_, arg_, c_class_exp)\
|
2 |
7u83 |
2515 |
{\
|
7 |
7u83 |
2516 |
c_class *x694_ = CHECK_TAG((c_class_exp), 61);\
|
|
|
2517 |
(type_) = DEREF_type(x694_ + 1);\
|
|
|
2518 |
(arg_) = DEREF_exp(x694_ + 2);\
|
2 |
7u83 |
2519 |
}
|
|
|
2520 |
|
7 |
7u83 |
2521 |
#define DESTROY_exp_set(destroyer_, type_, arg_, c_class_exp)\
|
2 |
7u83 |
2522 |
{\
|
7 |
7u83 |
2523 |
c_class *x695_ = CHECK_TAG((c_class_exp), 61);\
|
|
|
2524 |
(type_) = DEREF_type(x695_ + 1);\
|
|
|
2525 |
(arg_) = DEREF_exp(x695_ + 2);\
|
|
|
2526 |
(destroyer_)(x695_, (unsigned)3);\
|
2 |
7u83 |
2527 |
}
|
|
|
2528 |
|
|
|
2529 |
|
|
|
2530 |
/* Operations for field unused of union EXP */
|
|
|
2531 |
|
7 |
7u83 |
2532 |
#define exp_unused_tag ((unsigned)62)
|
|
|
2533 |
#define IS_exp_unused(P) (CHECK_NULL(P)->ag_tag == 62)
|
2 |
7u83 |
2534 |
|
7 |
7u83 |
2535 |
#define exp_unused_arg(P) (CHECK_TAG((P), 62) + 2)
|
2 |
7u83 |
2536 |
|
7 |
7u83 |
2537 |
#define MAKE_exp_unused(type_, arg_, c_class_exp)\
|
2 |
7u83 |
2538 |
{\
|
7 |
7u83 |
2539 |
c_class *x696_ = GEN_c_class(3, TYPEID_exp);\
|
|
|
2540 |
x696_->ag_tag = 62;\
|
|
|
2541 |
COPY_type(x696_ + 1, (type_));\
|
|
|
2542 |
COPY_exp(x696_ + 2, (arg_));\
|
|
|
2543 |
(c_class_exp) = x696_;\
|
2 |
7u83 |
2544 |
}
|
|
|
2545 |
|
7 |
7u83 |
2546 |
#define DECONS_exp_unused(type_, arg_, c_class_exp)\
|
2 |
7u83 |
2547 |
{\
|
7 |
7u83 |
2548 |
c_class *x697_ = CHECK_TAG((c_class_exp), 62);\
|
|
|
2549 |
(type_) = DEREF_type(x697_ + 1);\
|
|
|
2550 |
(arg_) = DEREF_exp(x697_ + 2);\
|
2 |
7u83 |
2551 |
}
|
|
|
2552 |
|
7 |
7u83 |
2553 |
#define DESTROY_exp_unused(destroyer_, type_, arg_, c_class_exp)\
|
2 |
7u83 |
2554 |
{\
|
7 |
7u83 |
2555 |
c_class *x698_ = CHECK_TAG((c_class_exp), 62);\
|
|
|
2556 |
(type_) = DEREF_type(x698_ + 1);\
|
|
|
2557 |
(arg_) = DEREF_exp(x698_ + 2);\
|
|
|
2558 |
(destroyer_)(x698_, (unsigned)3);\
|
2 |
7u83 |
2559 |
}
|
|
|
2560 |
|
|
|
2561 |
|
|
|
2562 |
/* Operations for field set reach_etc of union EXP */
|
|
|
2563 |
|
7 |
7u83 |
2564 |
#define exp_reach_etc_tag ((unsigned)65)
|
|
|
2565 |
#define IS_exp_reach_etc(P) ((unsigned)(CHECK_NULL(P)->ag_tag - 63) < (unsigned)2)
|
2 |
7u83 |
2566 |
|
7 |
7u83 |
2567 |
#define exp_reach_etc_parent(P) (CHECK_TAG_ETC((P), 63, 65) + 2)
|
|
|
2568 |
#define exp_reach_etc_body(P) (CHECK_TAG_ETC((P), 63, 65) + 3)
|
2 |
7u83 |
2569 |
|
7 |
7u83 |
2570 |
#define MAKE_exp_reach_etc(tag, type_, body_, c_class_exp)\
|
2 |
7u83 |
2571 |
{\
|
7 |
7u83 |
2572 |
c_class *x699_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
2573 |
x699_->ag_tag = (tag);\
|
|
|
2574 |
COPY_type(x699_ + 1, (type_));\
|
|
|
2575 |
COPY_exp(x699_ + 2, NULL_exp);\
|
|
|
2576 |
COPY_exp(x699_ + 3, (body_));\
|
|
|
2577 |
(c_class_exp) = CHECK_TAG_ETC(x699_, 63, 65);\
|
2 |
7u83 |
2578 |
}
|
|
|
2579 |
|
7 |
7u83 |
2580 |
#define MODIFY_exp_reach_etc(tag, c_class_exp)\
|
2 |
7u83 |
2581 |
{\
|
7 |
7u83 |
2582 |
c_class *x700_ = CHECK_TAG_ETC ((c_class_exp), 63, 65);\
|
|
|
2583 |
x700_->ag_tag = (tag);\
|
|
|
2584 |
(void) CHECK_TAG_ETC (x700_, 63, 65);\
|
2 |
7u83 |
2585 |
}
|
|
|
2586 |
|
7 |
7u83 |
2587 |
#define DECONS_exp_reach_etc(type_, parent_, body_, c_class_exp)\
|
2 |
7u83 |
2588 |
{\
|
7 |
7u83 |
2589 |
c_class *x701_ = CHECK_TAG_ETC((c_class_exp), 63, 65);\
|
|
|
2590 |
(type_) = DEREF_type(x701_ + 1);\
|
|
|
2591 |
(parent_) = DEREF_exp(x701_ + 2);\
|
|
|
2592 |
(body_) = DEREF_exp(x701_ + 3);\
|
2 |
7u83 |
2593 |
}
|
|
|
2594 |
|
7 |
7u83 |
2595 |
#define DESTROY_exp_reach_etc(destroyer_, type_, parent_, body_, c_class_exp)\
|
2 |
7u83 |
2596 |
{\
|
7 |
7u83 |
2597 |
c_class *x702_ = CHECK_TAG_ETC((c_class_exp), 63, 65);\
|
|
|
2598 |
(type_) = DEREF_type(x702_ + 1);\
|
|
|
2599 |
(parent_) = DEREF_exp(x702_ + 2);\
|
|
|
2600 |
(body_) = DEREF_exp(x702_ + 3);\
|
|
|
2601 |
(destroyer_)(x702_, (unsigned)4);\
|
2 |
7u83 |
2602 |
}
|
|
|
2603 |
|
|
|
2604 |
|
|
|
2605 |
/* Operations for field reach of union EXP */
|
|
|
2606 |
|
7 |
7u83 |
2607 |
#define exp_reach_tag ((unsigned)63)
|
|
|
2608 |
#define IS_exp_reach(P) (CHECK_NULL(P)->ag_tag == 63)
|
2 |
7u83 |
2609 |
|
7 |
7u83 |
2610 |
#define exp_reach_parent(P) (CHECK_TAG((P), 63) + 2)
|
|
|
2611 |
#define exp_reach_body(P) (CHECK_TAG((P), 63) + 3)
|
2 |
7u83 |
2612 |
|
7 |
7u83 |
2613 |
#define MAKE_exp_reach(type_, body_, c_class_exp)\
|
2 |
7u83 |
2614 |
{\
|
7 |
7u83 |
2615 |
c_class *x703_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
2616 |
x703_->ag_tag = 63;\
|
|
|
2617 |
COPY_type(x703_ + 1, (type_));\
|
|
|
2618 |
COPY_exp(x703_ + 2, NULL_exp);\
|
|
|
2619 |
COPY_exp(x703_ + 3, (body_));\
|
|
|
2620 |
(c_class_exp) = x703_;\
|
2 |
7u83 |
2621 |
}
|
|
|
2622 |
|
7 |
7u83 |
2623 |
#define DECONS_exp_reach(type_, parent_, body_, c_class_exp)\
|
2 |
7u83 |
2624 |
{\
|
7 |
7u83 |
2625 |
c_class *x704_ = CHECK_TAG((c_class_exp), 63);\
|
|
|
2626 |
(type_) = DEREF_type(x704_ + 1);\
|
|
|
2627 |
(parent_) = DEREF_exp(x704_ + 2);\
|
|
|
2628 |
(body_) = DEREF_exp(x704_ + 3);\
|
2 |
7u83 |
2629 |
}
|
|
|
2630 |
|
7 |
7u83 |
2631 |
#define DESTROY_exp_reach(destroyer_, type_, parent_, body_, c_class_exp)\
|
2 |
7u83 |
2632 |
{\
|
7 |
7u83 |
2633 |
c_class *x705_ = CHECK_TAG((c_class_exp), 63);\
|
|
|
2634 |
(type_) = DEREF_type(x705_ + 1);\
|
|
|
2635 |
(parent_) = DEREF_exp(x705_ + 2);\
|
|
|
2636 |
(body_) = DEREF_exp(x705_ + 3);\
|
|
|
2637 |
(destroyer_)(x705_, (unsigned)4);\
|
2 |
7u83 |
2638 |
}
|
|
|
2639 |
|
|
|
2640 |
|
|
|
2641 |
/* Operations for field unreach of union EXP */
|
|
|
2642 |
|
7 |
7u83 |
2643 |
#define exp_unreach_tag ((unsigned)64)
|
|
|
2644 |
#define IS_exp_unreach(P) (CHECK_NULL(P)->ag_tag == 64)
|
2 |
7u83 |
2645 |
|
7 |
7u83 |
2646 |
#define exp_unreach_parent(P) (CHECK_TAG((P), 64) + 2)
|
|
|
2647 |
#define exp_unreach_body(P) (CHECK_TAG((P), 64) + 3)
|
2 |
7u83 |
2648 |
|
7 |
7u83 |
2649 |
#define MAKE_exp_unreach(type_, body_, c_class_exp)\
|
2 |
7u83 |
2650 |
{\
|
7 |
7u83 |
2651 |
c_class *x706_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
2652 |
x706_->ag_tag = 64;\
|
|
|
2653 |
COPY_type(x706_ + 1, (type_));\
|
|
|
2654 |
COPY_exp(x706_ + 2, NULL_exp);\
|
|
|
2655 |
COPY_exp(x706_ + 3, (body_));\
|
|
|
2656 |
(c_class_exp) = x706_;\
|
2 |
7u83 |
2657 |
}
|
|
|
2658 |
|
7 |
7u83 |
2659 |
#define DECONS_exp_unreach(type_, parent_, body_, c_class_exp)\
|
2 |
7u83 |
2660 |
{\
|
7 |
7u83 |
2661 |
c_class *x707_ = CHECK_TAG((c_class_exp), 64);\
|
|
|
2662 |
(type_) = DEREF_type(x707_ + 1);\
|
|
|
2663 |
(parent_) = DEREF_exp(x707_ + 2);\
|
|
|
2664 |
(body_) = DEREF_exp(x707_ + 3);\
|
2 |
7u83 |
2665 |
}
|
|
|
2666 |
|
7 |
7u83 |
2667 |
#define DESTROY_exp_unreach(destroyer_, type_, parent_, body_, c_class_exp)\
|
2 |
7u83 |
2668 |
{\
|
7 |
7u83 |
2669 |
c_class *x708_ = CHECK_TAG((c_class_exp), 64);\
|
|
|
2670 |
(type_) = DEREF_type(x708_ + 1);\
|
|
|
2671 |
(parent_) = DEREF_exp(x708_ + 2);\
|
|
|
2672 |
(body_) = DEREF_exp(x708_ + 3);\
|
|
|
2673 |
(destroyer_)(x708_, (unsigned)4);\
|
2 |
7u83 |
2674 |
}
|
|
|
2675 |
|
|
|
2676 |
|
|
|
2677 |
/* Operations for field sequence of union EXP */
|
|
|
2678 |
|
7 |
7u83 |
2679 |
#define exp_sequence_tag ((unsigned)65)
|
|
|
2680 |
#define IS_exp_sequence(P) (CHECK_NULL(P)->ag_tag == 65)
|
2 |
7u83 |
2681 |
|
7 |
7u83 |
2682 |
#define exp_sequence_parent(P) (CHECK_TAG((P), 65) + 2)
|
|
|
2683 |
#define exp_sequence_first(P) (CHECK_TAG((P), 65) + 3)
|
|
|
2684 |
#define exp_sequence_last(P) (CHECK_TAG((P), 65) + 4)
|
|
|
2685 |
#define exp_sequence_decl(P) (CHECK_TAG((P), 65) + 5)
|
|
|
2686 |
#define exp_sequence_block(P) (CHECK_TAG((P), 65) + 6)
|
2 |
7u83 |
2687 |
|
7 |
7u83 |
2688 |
#define MAKE_exp_sequence(type_, first_, last_, decl_, block_, c_class_exp)\
|
2 |
7u83 |
2689 |
{\
|
7 |
7u83 |
2690 |
c_class *x709_ = GEN_c_class(7, TYPEID_exp);\
|
|
|
2691 |
x709_->ag_tag = 65;\
|
|
|
2692 |
COPY_type(x709_ + 1, (type_));\
|
|
|
2693 |
COPY_exp(x709_ + 2, NULL_exp);\
|
|
|
2694 |
COPY_list(x709_ + 3, (first_));\
|
|
|
2695 |
COPY_list(x709_ + 4, (last_));\
|
|
|
2696 |
COPY_nspace(x709_ + 5, (decl_));\
|
|
|
2697 |
COPY_int(x709_ + 6, (block_));\
|
|
|
2698 |
(c_class_exp) = x709_;\
|
2 |
7u83 |
2699 |
}
|
|
|
2700 |
|
7 |
7u83 |
2701 |
#define DECONS_exp_sequence(type_, parent_, first_, last_, decl_, block_, c_class_exp)\
|
2 |
7u83 |
2702 |
{\
|
7 |
7u83 |
2703 |
c_class *x710_ = CHECK_TAG((c_class_exp), 65);\
|
|
|
2704 |
(type_) = DEREF_type(x710_ + 1);\
|
|
|
2705 |
(parent_) = DEREF_exp(x710_ + 2);\
|
|
|
2706 |
(first_) = DEREF_list(x710_ + 3);\
|
|
|
2707 |
(last_) = DEREF_list(x710_ + 4);\
|
|
|
2708 |
(decl_) = DEREF_nspace(x710_ + 5);\
|
|
|
2709 |
(block_) = DEREF_int(x710_ + 6);\
|
2 |
7u83 |
2710 |
}
|
|
|
2711 |
|
7 |
7u83 |
2712 |
#define DESTROY_exp_sequence(destroyer_, type_, parent_, first_, last_, decl_, block_, c_class_exp)\
|
2 |
7u83 |
2713 |
{\
|
7 |
7u83 |
2714 |
c_class *x711_ = CHECK_TAG((c_class_exp), 65);\
|
|
|
2715 |
(type_) = DEREF_type(x711_ + 1);\
|
|
|
2716 |
(parent_) = DEREF_exp(x711_ + 2);\
|
|
|
2717 |
(first_) = DEREF_list(x711_ + 3);\
|
|
|
2718 |
(last_) = DEREF_list(x711_ + 4);\
|
|
|
2719 |
(decl_) = DEREF_nspace(x711_ + 5);\
|
|
|
2720 |
(block_) = DEREF_int(x711_ + 6);\
|
|
|
2721 |
(destroyer_)(x711_, (unsigned)7);\
|
2 |
7u83 |
2722 |
}
|
|
|
2723 |
|
|
|
2724 |
|
|
|
2725 |
/* Operations for field solve_stmt of union EXP */
|
|
|
2726 |
|
7 |
7u83 |
2727 |
#define exp_solve_stmt_tag ((unsigned)66)
|
|
|
2728 |
#define IS_exp_solve_stmt(P) (CHECK_NULL(P)->ag_tag == 66)
|
2 |
7u83 |
2729 |
|
7 |
7u83 |
2730 |
#define exp_solve_stmt_parent(P) (CHECK_TAG((P), 66) + 2)
|
|
|
2731 |
#define exp_solve_stmt_body(P) (CHECK_TAG((P), 66) + 3)
|
|
|
2732 |
#define exp_solve_stmt_labels(P) (CHECK_TAG((P), 66) + 4)
|
|
|
2733 |
#define exp_solve_stmt_vars(P) (CHECK_TAG((P), 66) + 5)
|
2 |
7u83 |
2734 |
|
7 |
7u83 |
2735 |
#define MAKE_exp_solve_stmt(type_, body_, c_class_exp)\
|
2 |
7u83 |
2736 |
{\
|
7 |
7u83 |
2737 |
c_class *x712_ = GEN_c_class(6, TYPEID_exp);\
|
|
|
2738 |
x712_->ag_tag = 66;\
|
|
|
2739 |
COPY_type(x712_ + 1, (type_));\
|
|
|
2740 |
COPY_exp(x712_ + 2, NULL_exp);\
|
|
|
2741 |
COPY_exp(x712_ + 3, (body_));\
|
|
|
2742 |
COPY_list(x712_ + 4, NULL_list ( IDENTIFIER ));\
|
|
|
2743 |
COPY_list(x712_ + 5, NULL_list ( IDENTIFIER ));\
|
|
|
2744 |
(c_class_exp) = x712_;\
|
2 |
7u83 |
2745 |
}
|
|
|
2746 |
|
7 |
7u83 |
2747 |
#define DECONS_exp_solve_stmt(type_, parent_, body_, labels_, vars_, c_class_exp)\
|
2 |
7u83 |
2748 |
{\
|
7 |
7u83 |
2749 |
c_class *x713_ = CHECK_TAG((c_class_exp), 66);\
|
|
|
2750 |
(type_) = DEREF_type(x713_ + 1);\
|
|
|
2751 |
(parent_) = DEREF_exp(x713_ + 2);\
|
|
|
2752 |
(body_) = DEREF_exp(x713_ + 3);\
|
|
|
2753 |
(labels_) = DEREF_list(x713_ + 4);\
|
|
|
2754 |
(vars_) = DEREF_list(x713_ + 5);\
|
2 |
7u83 |
2755 |
}
|
|
|
2756 |
|
7 |
7u83 |
2757 |
#define DESTROY_exp_solve_stmt(destroyer_, type_, parent_, body_, labels_, vars_, c_class_exp)\
|
2 |
7u83 |
2758 |
{\
|
7 |
7u83 |
2759 |
c_class *x714_ = CHECK_TAG((c_class_exp), 66);\
|
|
|
2760 |
(type_) = DEREF_type(x714_ + 1);\
|
|
|
2761 |
(parent_) = DEREF_exp(x714_ + 2);\
|
|
|
2762 |
(body_) = DEREF_exp(x714_ + 3);\
|
|
|
2763 |
(labels_) = DEREF_list(x714_ + 4);\
|
|
|
2764 |
(vars_) = DEREF_list(x714_ + 5);\
|
|
|
2765 |
(destroyer_)(x714_, (unsigned)6);\
|
2 |
7u83 |
2766 |
}
|
|
|
2767 |
|
|
|
2768 |
|
|
|
2769 |
/* Operations for field decl_stmt of union EXP */
|
|
|
2770 |
|
7 |
7u83 |
2771 |
#define exp_decl_stmt_tag ((unsigned)67)
|
|
|
2772 |
#define IS_exp_decl_stmt(P) (CHECK_NULL(P)->ag_tag == 67)
|
2 |
7u83 |
2773 |
|
7 |
7u83 |
2774 |
#define exp_decl_stmt_parent(P) (CHECK_TAG((P), 67) + 2)
|
|
|
2775 |
#define exp_decl_stmt_id(P) (CHECK_TAG((P), 67) + 3)
|
|
|
2776 |
#define exp_decl_stmt_body(P) (CHECK_TAG((P), 67) + 4)
|
2 |
7u83 |
2777 |
|
7 |
7u83 |
2778 |
#define MAKE_exp_decl_stmt(type_, id_, body_, c_class_exp)\
|
2 |
7u83 |
2779 |
{\
|
7 |
7u83 |
2780 |
c_class *x715_ = GEN_c_class(5, TYPEID_exp);\
|
|
|
2781 |
x715_->ag_tag = 67;\
|
|
|
2782 |
COPY_type(x715_ + 1, (type_));\
|
|
|
2783 |
COPY_exp(x715_ + 2, NULL_exp);\
|
|
|
2784 |
COPY_id(x715_ + 3, (id_));\
|
|
|
2785 |
COPY_exp(x715_ + 4, (body_));\
|
|
|
2786 |
(c_class_exp) = x715_;\
|
2 |
7u83 |
2787 |
}
|
|
|
2788 |
|
7 |
7u83 |
2789 |
#define DECONS_exp_decl_stmt(type_, parent_, id_, body_, c_class_exp)\
|
2 |
7u83 |
2790 |
{\
|
7 |
7u83 |
2791 |
c_class *x716_ = CHECK_TAG((c_class_exp), 67);\
|
|
|
2792 |
(type_) = DEREF_type(x716_ + 1);\
|
|
|
2793 |
(parent_) = DEREF_exp(x716_ + 2);\
|
|
|
2794 |
(id_) = DEREF_id(x716_ + 3);\
|
|
|
2795 |
(body_) = DEREF_exp(x716_ + 4);\
|
2 |
7u83 |
2796 |
}
|
|
|
2797 |
|
7 |
7u83 |
2798 |
#define DESTROY_exp_decl_stmt(destroyer_, type_, parent_, id_, body_, c_class_exp)\
|
2 |
7u83 |
2799 |
{\
|
7 |
7u83 |
2800 |
c_class *x717_ = CHECK_TAG((c_class_exp), 67);\
|
|
|
2801 |
(type_) = DEREF_type(x717_ + 1);\
|
|
|
2802 |
(parent_) = DEREF_exp(x717_ + 2);\
|
|
|
2803 |
(id_) = DEREF_id(x717_ + 3);\
|
|
|
2804 |
(body_) = DEREF_exp(x717_ + 4);\
|
|
|
2805 |
(destroyer_)(x717_, (unsigned)5);\
|
2 |
7u83 |
2806 |
}
|
|
|
2807 |
|
|
|
2808 |
|
|
|
2809 |
/* Operations for field if_stmt of union EXP */
|
|
|
2810 |
|
7 |
7u83 |
2811 |
#define exp_if_stmt_tag ((unsigned)68)
|
|
|
2812 |
#define IS_exp_if_stmt(P) (CHECK_NULL(P)->ag_tag == 68)
|
2 |
7u83 |
2813 |
|
7 |
7u83 |
2814 |
#define exp_if_stmt_parent(P) (CHECK_TAG((P), 68) + 2)
|
|
|
2815 |
#define exp_if_stmt_cond(P) (CHECK_TAG((P), 68) + 3)
|
|
|
2816 |
#define exp_if_stmt_true_code(P) (CHECK_TAG((P), 68) + 4)
|
|
|
2817 |
#define exp_if_stmt_false_code(P) (CHECK_TAG((P), 68) + 5)
|
|
|
2818 |
#define exp_if_stmt_label(P) (CHECK_TAG((P), 68) + 6)
|
2 |
7u83 |
2819 |
|
7 |
7u83 |
2820 |
#define MAKE_exp_if_stmt(type_, cond_, true_code_, false_code_, label_, c_class_exp)\
|
2 |
7u83 |
2821 |
{\
|
7 |
7u83 |
2822 |
c_class *x718_ = GEN_c_class(7, TYPEID_exp);\
|
|
|
2823 |
x718_->ag_tag = 68;\
|
|
|
2824 |
COPY_type(x718_ + 1, (type_));\
|
|
|
2825 |
COPY_exp(x718_ + 2, NULL_exp);\
|
|
|
2826 |
COPY_exp(x718_ + 3, (cond_));\
|
|
|
2827 |
COPY_exp(x718_ + 4, (true_code_));\
|
|
|
2828 |
COPY_exp(x718_ + 5, (false_code_));\
|
|
|
2829 |
COPY_id(x718_ + 6, (label_));\
|
|
|
2830 |
(c_class_exp) = x718_;\
|
2 |
7u83 |
2831 |
}
|
|
|
2832 |
|
7 |
7u83 |
2833 |
#define DECONS_exp_if_stmt(type_, parent_, cond_, true_code_, false_code_, label_, c_class_exp)\
|
2 |
7u83 |
2834 |
{\
|
7 |
7u83 |
2835 |
c_class *x719_ = CHECK_TAG((c_class_exp), 68);\
|
|
|
2836 |
(type_) = DEREF_type(x719_ + 1);\
|
|
|
2837 |
(parent_) = DEREF_exp(x719_ + 2);\
|
|
|
2838 |
(cond_) = DEREF_exp(x719_ + 3);\
|
|
|
2839 |
(true_code_) = DEREF_exp(x719_ + 4);\
|
|
|
2840 |
(false_code_) = DEREF_exp(x719_ + 5);\
|
|
|
2841 |
(label_) = DEREF_id(x719_ + 6);\
|
2 |
7u83 |
2842 |
}
|
|
|
2843 |
|
7 |
7u83 |
2844 |
#define DESTROY_exp_if_stmt(destroyer_, type_, parent_, cond_, true_code_, false_code_, label_, c_class_exp)\
|
2 |
7u83 |
2845 |
{\
|
7 |
7u83 |
2846 |
c_class *x720_ = CHECK_TAG((c_class_exp), 68);\
|
|
|
2847 |
(type_) = DEREF_type(x720_ + 1);\
|
|
|
2848 |
(parent_) = DEREF_exp(x720_ + 2);\
|
|
|
2849 |
(cond_) = DEREF_exp(x720_ + 3);\
|
|
|
2850 |
(true_code_) = DEREF_exp(x720_ + 4);\
|
|
|
2851 |
(false_code_) = DEREF_exp(x720_ + 5);\
|
|
|
2852 |
(label_) = DEREF_id(x720_ + 6);\
|
|
|
2853 |
(destroyer_)(x720_, (unsigned)7);\
|
2 |
7u83 |
2854 |
}
|
|
|
2855 |
|
|
|
2856 |
|
|
|
2857 |
/* Operations for field while_stmt of union EXP */
|
|
|
2858 |
|
7 |
7u83 |
2859 |
#define exp_while_stmt_tag ((unsigned)69)
|
|
|
2860 |
#define IS_exp_while_stmt(P) (CHECK_NULL(P)->ag_tag == 69)
|
2 |
7u83 |
2861 |
|
7 |
7u83 |
2862 |
#define exp_while_stmt_parent(P) (CHECK_TAG((P), 69) + 2)
|
|
|
2863 |
#define exp_while_stmt_cond(P) (CHECK_TAG((P), 69) + 3)
|
|
|
2864 |
#define exp_while_stmt_body(P) (CHECK_TAG((P), 69) + 4)
|
|
|
2865 |
#define exp_while_stmt_break_lab(P) (CHECK_TAG((P), 69) + 5)
|
|
|
2866 |
#define exp_while_stmt_cont_lab(P) (CHECK_TAG((P), 69) + 6)
|
|
|
2867 |
#define exp_while_stmt_loop_lab(P) (CHECK_TAG((P), 69) + 7)
|
|
|
2868 |
#define exp_while_stmt_cond_id(P) (CHECK_TAG((P), 69) + 8)
|
2 |
7u83 |
2869 |
|
7 |
7u83 |
2870 |
#define MAKE_exp_while_stmt(type_, cond_, break_lab_, cont_lab_, loop_lab_, c_class_exp)\
|
2 |
7u83 |
2871 |
{\
|
7 |
7u83 |
2872 |
c_class *x721_ = GEN_c_class(9, TYPEID_exp);\
|
|
|
2873 |
x721_->ag_tag = 69;\
|
|
|
2874 |
COPY_type(x721_ + 1, (type_));\
|
|
|
2875 |
COPY_exp(x721_ + 2, NULL_exp);\
|
|
|
2876 |
COPY_exp(x721_ + 3, (cond_));\
|
|
|
2877 |
COPY_exp(x721_ + 4, NULL_exp);\
|
|
|
2878 |
COPY_id(x721_ + 5, (break_lab_));\
|
|
|
2879 |
COPY_id(x721_ + 6, (cont_lab_));\
|
|
|
2880 |
COPY_id(x721_ + 7, (loop_lab_));\
|
|
|
2881 |
COPY_list(x721_ + 8, NULL_list ( IDENTIFIER ));\
|
|
|
2882 |
(c_class_exp) = x721_;\
|
2 |
7u83 |
2883 |
}
|
|
|
2884 |
|
7 |
7u83 |
2885 |
#define DECONS_exp_while_stmt(type_, parent_, cond_, body_, break_lab_, cont_lab_, loop_lab_, cond_id_, c_class_exp)\
|
2 |
7u83 |
2886 |
{\
|
7 |
7u83 |
2887 |
c_class *x722_ = CHECK_TAG((c_class_exp), 69);\
|
|
|
2888 |
(type_) = DEREF_type(x722_ + 1);\
|
|
|
2889 |
(parent_) = DEREF_exp(x722_ + 2);\
|
|
|
2890 |
(cond_) = DEREF_exp(x722_ + 3);\
|
|
|
2891 |
(body_) = DEREF_exp(x722_ + 4);\
|
|
|
2892 |
(break_lab_) = DEREF_id(x722_ + 5);\
|
|
|
2893 |
(cont_lab_) = DEREF_id(x722_ + 6);\
|
|
|
2894 |
(loop_lab_) = DEREF_id(x722_ + 7);\
|
|
|
2895 |
(cond_id_) = DEREF_list(x722_ + 8);\
|
2 |
7u83 |
2896 |
}
|
|
|
2897 |
|
7 |
7u83 |
2898 |
#define DESTROY_exp_while_stmt(destroyer_, type_, parent_, cond_, body_, break_lab_, cont_lab_, loop_lab_, cond_id_, c_class_exp)\
|
2 |
7u83 |
2899 |
{\
|
7 |
7u83 |
2900 |
c_class *x723_ = CHECK_TAG((c_class_exp), 69);\
|
|
|
2901 |
(type_) = DEREF_type(x723_ + 1);\
|
|
|
2902 |
(parent_) = DEREF_exp(x723_ + 2);\
|
|
|
2903 |
(cond_) = DEREF_exp(x723_ + 3);\
|
|
|
2904 |
(body_) = DEREF_exp(x723_ + 4);\
|
|
|
2905 |
(break_lab_) = DEREF_id(x723_ + 5);\
|
|
|
2906 |
(cont_lab_) = DEREF_id(x723_ + 6);\
|
|
|
2907 |
(loop_lab_) = DEREF_id(x723_ + 7);\
|
|
|
2908 |
(cond_id_) = DEREF_list(x723_ + 8);\
|
|
|
2909 |
(destroyer_)(x723_, (unsigned)9);\
|
2 |
7u83 |
2910 |
}
|
|
|
2911 |
|
|
|
2912 |
|
|
|
2913 |
/* Operations for field do_stmt of union EXP */
|
|
|
2914 |
|
7 |
7u83 |
2915 |
#define exp_do_stmt_tag ((unsigned)70)
|
|
|
2916 |
#define IS_exp_do_stmt(P) (CHECK_NULL(P)->ag_tag == 70)
|
2 |
7u83 |
2917 |
|
7 |
7u83 |
2918 |
#define exp_do_stmt_parent(P) (CHECK_TAG((P), 70) + 2)
|
|
|
2919 |
#define exp_do_stmt_cond(P) (CHECK_TAG((P), 70) + 3)
|
|
|
2920 |
#define exp_do_stmt_body(P) (CHECK_TAG((P), 70) + 4)
|
|
|
2921 |
#define exp_do_stmt_break_lab(P) (CHECK_TAG((P), 70) + 5)
|
|
|
2922 |
#define exp_do_stmt_cont_lab(P) (CHECK_TAG((P), 70) + 6)
|
|
|
2923 |
#define exp_do_stmt_loop_lab(P) (CHECK_TAG((P), 70) + 7)
|
2 |
7u83 |
2924 |
|
7 |
7u83 |
2925 |
#define MAKE_exp_do_stmt(type_, cond_, break_lab_, cont_lab_, loop_lab_, c_class_exp)\
|
2 |
7u83 |
2926 |
{\
|
7 |
7u83 |
2927 |
c_class *x724_ = GEN_c_class(8, TYPEID_exp);\
|
|
|
2928 |
x724_->ag_tag = 70;\
|
|
|
2929 |
COPY_type(x724_ + 1, (type_));\
|
|
|
2930 |
COPY_exp(x724_ + 2, NULL_exp);\
|
|
|
2931 |
COPY_exp(x724_ + 3, (cond_));\
|
|
|
2932 |
COPY_exp(x724_ + 4, NULL_exp);\
|
|
|
2933 |
COPY_id(x724_ + 5, (break_lab_));\
|
|
|
2934 |
COPY_id(x724_ + 6, (cont_lab_));\
|
|
|
2935 |
COPY_id(x724_ + 7, (loop_lab_));\
|
|
|
2936 |
(c_class_exp) = x724_;\
|
2 |
7u83 |
2937 |
}
|
|
|
2938 |
|
7 |
7u83 |
2939 |
#define DECONS_exp_do_stmt(type_, parent_, cond_, body_, break_lab_, cont_lab_, loop_lab_, c_class_exp)\
|
2 |
7u83 |
2940 |
{\
|
7 |
7u83 |
2941 |
c_class *x725_ = CHECK_TAG((c_class_exp), 70);\
|
|
|
2942 |
(type_) = DEREF_type(x725_ + 1);\
|
|
|
2943 |
(parent_) = DEREF_exp(x725_ + 2);\
|
|
|
2944 |
(cond_) = DEREF_exp(x725_ + 3);\
|
|
|
2945 |
(body_) = DEREF_exp(x725_ + 4);\
|
|
|
2946 |
(break_lab_) = DEREF_id(x725_ + 5);\
|
|
|
2947 |
(cont_lab_) = DEREF_id(x725_ + 6);\
|
|
|
2948 |
(loop_lab_) = DEREF_id(x725_ + 7);\
|
2 |
7u83 |
2949 |
}
|
|
|
2950 |
|
7 |
7u83 |
2951 |
#define DESTROY_exp_do_stmt(destroyer_, type_, parent_, cond_, body_, break_lab_, cont_lab_, loop_lab_, c_class_exp)\
|
2 |
7u83 |
2952 |
{\
|
7 |
7u83 |
2953 |
c_class *x726_ = CHECK_TAG((c_class_exp), 70);\
|
|
|
2954 |
(type_) = DEREF_type(x726_ + 1);\
|
|
|
2955 |
(parent_) = DEREF_exp(x726_ + 2);\
|
|
|
2956 |
(cond_) = DEREF_exp(x726_ + 3);\
|
|
|
2957 |
(body_) = DEREF_exp(x726_ + 4);\
|
|
|
2958 |
(break_lab_) = DEREF_id(x726_ + 5);\
|
|
|
2959 |
(cont_lab_) = DEREF_id(x726_ + 6);\
|
|
|
2960 |
(loop_lab_) = DEREF_id(x726_ + 7);\
|
|
|
2961 |
(destroyer_)(x726_, (unsigned)8);\
|
2 |
7u83 |
2962 |
}
|
|
|
2963 |
|
|
|
2964 |
|
|
|
2965 |
/* Operations for field switch_stmt of union EXP */
|
|
|
2966 |
|
7 |
7u83 |
2967 |
#define exp_switch_stmt_tag ((unsigned)71)
|
|
|
2968 |
#define IS_exp_switch_stmt(P) (CHECK_NULL(P)->ag_tag == 71)
|
2 |
7u83 |
2969 |
|
7 |
7u83 |
2970 |
#define exp_switch_stmt_parent(P) (CHECK_TAG((P), 71) + 2)
|
|
|
2971 |
#define exp_switch_stmt_control(P) (CHECK_TAG((P), 71) + 3)
|
|
|
2972 |
#define exp_switch_stmt_body(P) (CHECK_TAG((P), 71) + 4)
|
|
|
2973 |
#define exp_switch_stmt_cases(P) (CHECK_TAG((P), 71) + 5)
|
|
|
2974 |
#define exp_switch_stmt_case_labs(P) (CHECK_TAG((P), 71) + 6)
|
|
|
2975 |
#define exp_switch_stmt_default_lab(P) (CHECK_TAG((P), 71) + 7)
|
|
|
2976 |
#define exp_switch_stmt_exhaust(P) (CHECK_TAG((P), 71) + 8)
|
|
|
2977 |
#define exp_switch_stmt_break_lab(P) (CHECK_TAG((P), 71) + 9)
|
2 |
7u83 |
2978 |
|
7 |
7u83 |
2979 |
#define MAKE_exp_switch_stmt(type_, control_, body_, exhaust_, break_lab_, c_class_exp)\
|
2 |
7u83 |
2980 |
{\
|
7 |
7u83 |
2981 |
c_class *x727_ = GEN_c_class(10, TYPEID_exp);\
|
|
|
2982 |
x727_->ag_tag = 71;\
|
|
|
2983 |
COPY_type(x727_ + 1, (type_));\
|
|
|
2984 |
COPY_exp(x727_ + 2, NULL_exp);\
|
|
|
2985 |
COPY_exp(x727_ + 3, (control_));\
|
|
|
2986 |
COPY_exp(x727_ + 4, (body_));\
|
|
|
2987 |
COPY_list(x727_ + 5, NULL_list ( NAT ));\
|
|
|
2988 |
COPY_list(x727_ + 6, NULL_list ( IDENTIFIER ));\
|
|
|
2989 |
COPY_id(x727_ + 7, NULL_id);\
|
|
|
2990 |
COPY_int(x727_ + 8, (exhaust_));\
|
|
|
2991 |
COPY_id(x727_ + 9, (break_lab_));\
|
|
|
2992 |
(c_class_exp) = x727_;\
|
2 |
7u83 |
2993 |
}
|
|
|
2994 |
|
7 |
7u83 |
2995 |
#define DECONS_exp_switch_stmt(type_, parent_, control_, body_, cases_, case_labs_, default_lab_, exhaust_, break_lab_, c_class_exp)\
|
2 |
7u83 |
2996 |
{\
|
7 |
7u83 |
2997 |
c_class *x728_ = CHECK_TAG((c_class_exp), 71);\
|
|
|
2998 |
(type_) = DEREF_type(x728_ + 1);\
|
|
|
2999 |
(parent_) = DEREF_exp(x728_ + 2);\
|
|
|
3000 |
(control_) = DEREF_exp(x728_ + 3);\
|
|
|
3001 |
(body_) = DEREF_exp(x728_ + 4);\
|
|
|
3002 |
(cases_) = DEREF_list(x728_ + 5);\
|
|
|
3003 |
(case_labs_) = DEREF_list(x728_ + 6);\
|
|
|
3004 |
(default_lab_) = DEREF_id(x728_ + 7);\
|
|
|
3005 |
(exhaust_) = DEREF_int(x728_ + 8);\
|
|
|
3006 |
(break_lab_) = DEREF_id(x728_ + 9);\
|
2 |
7u83 |
3007 |
}
|
|
|
3008 |
|
7 |
7u83 |
3009 |
#define DESTROY_exp_switch_stmt(destroyer_, type_, parent_, control_, body_, cases_, case_labs_, default_lab_, exhaust_, break_lab_, c_class_exp)\
|
2 |
7u83 |
3010 |
{\
|
7 |
7u83 |
3011 |
c_class *x729_ = CHECK_TAG((c_class_exp), 71);\
|
|
|
3012 |
(type_) = DEREF_type(x729_ + 1);\
|
|
|
3013 |
(parent_) = DEREF_exp(x729_ + 2);\
|
|
|
3014 |
(control_) = DEREF_exp(x729_ + 3);\
|
|
|
3015 |
(body_) = DEREF_exp(x729_ + 4);\
|
|
|
3016 |
(cases_) = DEREF_list(x729_ + 5);\
|
|
|
3017 |
(case_labs_) = DEREF_list(x729_ + 6);\
|
|
|
3018 |
(default_lab_) = DEREF_id(x729_ + 7);\
|
|
|
3019 |
(exhaust_) = DEREF_int(x729_ + 8);\
|
|
|
3020 |
(break_lab_) = DEREF_id(x729_ + 9);\
|
|
|
3021 |
(destroyer_)(x729_, (unsigned)10);\
|
2 |
7u83 |
3022 |
}
|
|
|
3023 |
|
|
|
3024 |
|
|
|
3025 |
/* Operations for field hash_if of union EXP */
|
|
|
3026 |
|
7 |
7u83 |
3027 |
#define exp_hash_if_tag ((unsigned)72)
|
|
|
3028 |
#define IS_exp_hash_if(P) (CHECK_NULL(P)->ag_tag == 72)
|
2 |
7u83 |
3029 |
|
7 |
7u83 |
3030 |
#define exp_hash_if_parent(P) (CHECK_TAG((P), 72) + 2)
|
|
|
3031 |
#define exp_hash_if_cond(P) (CHECK_TAG((P), 72) + 3)
|
|
|
3032 |
#define exp_hash_if_true_code(P) (CHECK_TAG((P), 72) + 4)
|
|
|
3033 |
#define exp_hash_if_false_code(P) (CHECK_TAG((P), 72) + 5)
|
|
|
3034 |
#define exp_hash_if_last(P) (CHECK_TAG((P), 72) + 6)
|
2 |
7u83 |
3035 |
|
7 |
7u83 |
3036 |
#define MAKE_exp_hash_if(type_, cond_, true_code_, false_code_, c_class_exp)\
|
2 |
7u83 |
3037 |
{\
|
7 |
7u83 |
3038 |
c_class *x730_ = GEN_c_class(7, TYPEID_exp);\
|
|
|
3039 |
x730_->ag_tag = 72;\
|
|
|
3040 |
COPY_type(x730_ + 1, (type_));\
|
|
|
3041 |
COPY_exp(x730_ + 2, NULL_exp);\
|
|
|
3042 |
COPY_exp(x730_ + 3, (cond_));\
|
|
|
3043 |
COPY_exp(x730_ + 4, (true_code_));\
|
|
|
3044 |
COPY_exp(x730_ + 5, (false_code_));\
|
|
|
3045 |
COPY_exp(x730_ + 6, NULL_exp);\
|
|
|
3046 |
(c_class_exp) = x730_;\
|
2 |
7u83 |
3047 |
}
|
|
|
3048 |
|
7 |
7u83 |
3049 |
#define DECONS_exp_hash_if(type_, parent_, cond_, true_code_, false_code_, last_, c_class_exp)\
|
2 |
7u83 |
3050 |
{\
|
7 |
7u83 |
3051 |
c_class *x731_ = CHECK_TAG((c_class_exp), 72);\
|
|
|
3052 |
(type_) = DEREF_type(x731_ + 1);\
|
|
|
3053 |
(parent_) = DEREF_exp(x731_ + 2);\
|
|
|
3054 |
(cond_) = DEREF_exp(x731_ + 3);\
|
|
|
3055 |
(true_code_) = DEREF_exp(x731_ + 4);\
|
|
|
3056 |
(false_code_) = DEREF_exp(x731_ + 5);\
|
|
|
3057 |
(last_) = DEREF_exp(x731_ + 6);\
|
2 |
7u83 |
3058 |
}
|
|
|
3059 |
|
7 |
7u83 |
3060 |
#define DESTROY_exp_hash_if(destroyer_, type_, parent_, cond_, true_code_, false_code_, last_, c_class_exp)\
|
2 |
7u83 |
3061 |
{\
|
7 |
7u83 |
3062 |
c_class *x732_ = CHECK_TAG((c_class_exp), 72);\
|
|
|
3063 |
(type_) = DEREF_type(x732_ + 1);\
|
|
|
3064 |
(parent_) = DEREF_exp(x732_ + 2);\
|
|
|
3065 |
(cond_) = DEREF_exp(x732_ + 3);\
|
|
|
3066 |
(true_code_) = DEREF_exp(x732_ + 4);\
|
|
|
3067 |
(false_code_) = DEREF_exp(x732_ + 5);\
|
|
|
3068 |
(last_) = DEREF_exp(x732_ + 6);\
|
|
|
3069 |
(destroyer_)(x732_, (unsigned)7);\
|
2 |
7u83 |
3070 |
}
|
|
|
3071 |
|
|
|
3072 |
|
|
|
3073 |
/* Operations for field return_stmt of union EXP */
|
|
|
3074 |
|
7 |
7u83 |
3075 |
#define exp_return_stmt_tag ((unsigned)73)
|
|
|
3076 |
#define IS_exp_return_stmt(P) (CHECK_NULL(P)->ag_tag == 73)
|
2 |
7u83 |
3077 |
|
7 |
7u83 |
3078 |
#define exp_return_stmt_parent(P) (CHECK_TAG((P), 73) + 2)
|
|
|
3079 |
#define exp_return_stmt_value(P) (CHECK_TAG((P), 73) + 3)
|
2 |
7u83 |
3080 |
|
7 |
7u83 |
3081 |
#define MAKE_exp_return_stmt(type_, value_, c_class_exp)\
|
2 |
7u83 |
3082 |
{\
|
7 |
7u83 |
3083 |
c_class *x733_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
3084 |
x733_->ag_tag = 73;\
|
|
|
3085 |
COPY_type(x733_ + 1, (type_));\
|
|
|
3086 |
COPY_exp(x733_ + 2, NULL_exp);\
|
|
|
3087 |
COPY_exp(x733_ + 3, (value_));\
|
|
|
3088 |
(c_class_exp) = x733_;\
|
2 |
7u83 |
3089 |
}
|
|
|
3090 |
|
7 |
7u83 |
3091 |
#define DECONS_exp_return_stmt(type_, parent_, value_, c_class_exp)\
|
2 |
7u83 |
3092 |
{\
|
7 |
7u83 |
3093 |
c_class *x734_ = CHECK_TAG((c_class_exp), 73);\
|
|
|
3094 |
(type_) = DEREF_type(x734_ + 1);\
|
|
|
3095 |
(parent_) = DEREF_exp(x734_ + 2);\
|
|
|
3096 |
(value_) = DEREF_exp(x734_ + 3);\
|
2 |
7u83 |
3097 |
}
|
|
|
3098 |
|
7 |
7u83 |
3099 |
#define DESTROY_exp_return_stmt(destroyer_, type_, parent_, value_, c_class_exp)\
|
2 |
7u83 |
3100 |
{\
|
7 |
7u83 |
3101 |
c_class *x735_ = CHECK_TAG((c_class_exp), 73);\
|
|
|
3102 |
(type_) = DEREF_type(x735_ + 1);\
|
|
|
3103 |
(parent_) = DEREF_exp(x735_ + 2);\
|
|
|
3104 |
(value_) = DEREF_exp(x735_ + 3);\
|
|
|
3105 |
(destroyer_)(x735_, (unsigned)4);\
|
2 |
7u83 |
3106 |
}
|
|
|
3107 |
|
|
|
3108 |
|
|
|
3109 |
/* Operations for field goto_stmt of union EXP */
|
|
|
3110 |
|
7 |
7u83 |
3111 |
#define exp_goto_stmt_tag ((unsigned)74)
|
|
|
3112 |
#define IS_exp_goto_stmt(P) (CHECK_NULL(P)->ag_tag == 74)
|
2 |
7u83 |
3113 |
|
7 |
7u83 |
3114 |
#define exp_goto_stmt_parent(P) (CHECK_TAG((P), 74) + 2)
|
|
|
3115 |
#define exp_goto_stmt_label(P) (CHECK_TAG((P), 74) + 3)
|
|
|
3116 |
#define exp_goto_stmt_join(P) (CHECK_TAG((P), 74) + 4)
|
|
|
3117 |
#define exp_goto_stmt_next(P) (CHECK_TAG((P), 74) + 5)
|
2 |
7u83 |
3118 |
|
7 |
7u83 |
3119 |
#define MAKE_exp_goto_stmt(type_, label_, join_, next_, c_class_exp)\
|
2 |
7u83 |
3120 |
{\
|
7 |
7u83 |
3121 |
c_class *x736_ = GEN_c_class(6, TYPEID_exp);\
|
|
|
3122 |
x736_->ag_tag = 74;\
|
|
|
3123 |
COPY_type(x736_ + 1, (type_));\
|
|
|
3124 |
COPY_exp(x736_ + 2, NULL_exp);\
|
|
|
3125 |
COPY_id(x736_ + 3, (label_));\
|
|
|
3126 |
COPY_exp(x736_ + 4, (join_));\
|
|
|
3127 |
COPY_exp(x736_ + 5, (next_));\
|
|
|
3128 |
(c_class_exp) = x736_;\
|
2 |
7u83 |
3129 |
}
|
|
|
3130 |
|
7 |
7u83 |
3131 |
#define DECONS_exp_goto_stmt(type_, parent_, label_, join_, next_, c_class_exp)\
|
2 |
7u83 |
3132 |
{\
|
7 |
7u83 |
3133 |
c_class *x737_ = CHECK_TAG((c_class_exp), 74);\
|
|
|
3134 |
(type_) = DEREF_type(x737_ + 1);\
|
|
|
3135 |
(parent_) = DEREF_exp(x737_ + 2);\
|
|
|
3136 |
(label_) = DEREF_id(x737_ + 3);\
|
|
|
3137 |
(join_) = DEREF_exp(x737_ + 4);\
|
|
|
3138 |
(next_) = DEREF_exp(x737_ + 5);\
|
2 |
7u83 |
3139 |
}
|
|
|
3140 |
|
7 |
7u83 |
3141 |
#define DESTROY_exp_goto_stmt(destroyer_, type_, parent_, label_, join_, next_, c_class_exp)\
|
2 |
7u83 |
3142 |
{\
|
7 |
7u83 |
3143 |
c_class *x738_ = CHECK_TAG((c_class_exp), 74);\
|
|
|
3144 |
(type_) = DEREF_type(x738_ + 1);\
|
|
|
3145 |
(parent_) = DEREF_exp(x738_ + 2);\
|
|
|
3146 |
(label_) = DEREF_id(x738_ + 3);\
|
|
|
3147 |
(join_) = DEREF_exp(x738_ + 4);\
|
|
|
3148 |
(next_) = DEREF_exp(x738_ + 5);\
|
|
|
3149 |
(destroyer_)(x738_, (unsigned)6);\
|
2 |
7u83 |
3150 |
}
|
|
|
3151 |
|
|
|
3152 |
|
|
|
3153 |
/* Operations for field label_stmt of union EXP */
|
|
|
3154 |
|
7 |
7u83 |
3155 |
#define exp_label_stmt_tag ((unsigned)75)
|
|
|
3156 |
#define IS_exp_label_stmt(P) (CHECK_NULL(P)->ag_tag == 75)
|
2 |
7u83 |
3157 |
|
7 |
7u83 |
3158 |
#define exp_label_stmt_parent(P) (CHECK_TAG((P), 75) + 2)
|
|
|
3159 |
#define exp_label_stmt_label(P) (CHECK_TAG((P), 75) + 3)
|
|
|
3160 |
#define exp_label_stmt_body(P) (CHECK_TAG((P), 75) + 4)
|
|
|
3161 |
#define exp_label_stmt_next(P) (CHECK_TAG((P), 75) + 5)
|
2 |
7u83 |
3162 |
|
7 |
7u83 |
3163 |
#define MAKE_exp_label_stmt(type_, label_, body_, c_class_exp)\
|
2 |
7u83 |
3164 |
{\
|
7 |
7u83 |
3165 |
c_class *x739_ = GEN_c_class(6, TYPEID_exp);\
|
|
|
3166 |
x739_->ag_tag = 75;\
|
|
|
3167 |
COPY_type(x739_ + 1, (type_));\
|
|
|
3168 |
COPY_exp(x739_ + 2, NULL_exp);\
|
|
|
3169 |
COPY_id(x739_ + 3, (label_));\
|
|
|
3170 |
COPY_exp(x739_ + 4, (body_));\
|
|
|
3171 |
COPY_id(x739_ + 5, NULL_id);\
|
|
|
3172 |
(c_class_exp) = x739_;\
|
2 |
7u83 |
3173 |
}
|
|
|
3174 |
|
7 |
7u83 |
3175 |
#define DECONS_exp_label_stmt(type_, parent_, label_, body_, next_, c_class_exp)\
|
2 |
7u83 |
3176 |
{\
|
7 |
7u83 |
3177 |
c_class *x740_ = CHECK_TAG((c_class_exp), 75);\
|
|
|
3178 |
(type_) = DEREF_type(x740_ + 1);\
|
|
|
3179 |
(parent_) = DEREF_exp(x740_ + 2);\
|
|
|
3180 |
(label_) = DEREF_id(x740_ + 3);\
|
|
|
3181 |
(body_) = DEREF_exp(x740_ + 4);\
|
|
|
3182 |
(next_) = DEREF_id(x740_ + 5);\
|
2 |
7u83 |
3183 |
}
|
|
|
3184 |
|
7 |
7u83 |
3185 |
#define DESTROY_exp_label_stmt(destroyer_, type_, parent_, label_, body_, next_, c_class_exp)\
|
2 |
7u83 |
3186 |
{\
|
7 |
7u83 |
3187 |
c_class *x741_ = CHECK_TAG((c_class_exp), 75);\
|
|
|
3188 |
(type_) = DEREF_type(x741_ + 1);\
|
|
|
3189 |
(parent_) = DEREF_exp(x741_ + 2);\
|
|
|
3190 |
(label_) = DEREF_id(x741_ + 3);\
|
|
|
3191 |
(body_) = DEREF_exp(x741_ + 4);\
|
|
|
3192 |
(next_) = DEREF_id(x741_ + 5);\
|
|
|
3193 |
(destroyer_)(x741_, (unsigned)6);\
|
2 |
7u83 |
3194 |
}
|
|
|
3195 |
|
|
|
3196 |
|
|
|
3197 |
/* Operations for field try_block of union EXP */
|
|
|
3198 |
|
7 |
7u83 |
3199 |
#define exp_try_block_tag ((unsigned)76)
|
|
|
3200 |
#define IS_exp_try_block(P) (CHECK_NULL(P)->ag_tag == 76)
|
2 |
7u83 |
3201 |
|
7 |
7u83 |
3202 |
#define exp_try_block_parent(P) (CHECK_TAG((P), 76) + 2)
|
|
|
3203 |
#define exp_try_block_body(P) (CHECK_TAG((P), 76) + 3)
|
|
|
3204 |
#define exp_try_block_func(P) (CHECK_TAG((P), 76) + 4)
|
|
|
3205 |
#define exp_try_block_handlers(P) (CHECK_TAG((P), 76) + 5)
|
|
|
3206 |
#define exp_try_block_htypes(P) (CHECK_TAG((P), 76) + 6)
|
|
|
3207 |
#define exp_try_block_ellipsis(P) (CHECK_TAG((P), 76) + 7)
|
|
|
3208 |
#define exp_try_block_ttypes(P) (CHECK_TAG((P), 76) + 8)
|
|
|
3209 |
#define exp_try_block_tlocs(P) (CHECK_TAG((P), 76) + 9)
|
|
|
3210 |
#define exp_try_block_no(P) (CHECK_TAG((P), 76) + 10)
|
2 |
7u83 |
3211 |
|
7 |
7u83 |
3212 |
#define MAKE_exp_try_block(type_, body_, func_, c_class_exp)\
|
2 |
7u83 |
3213 |
{\
|
7 |
7u83 |
3214 |
c_class *x742_ = GEN_c_class(11, TYPEID_exp);\
|
|
|
3215 |
x742_->ag_tag = 76;\
|
|
|
3216 |
COPY_type(x742_ + 1, (type_));\
|
|
|
3217 |
COPY_exp(x742_ + 2, NULL_exp);\
|
|
|
3218 |
COPY_exp(x742_ + 3, (body_));\
|
|
|
3219 |
COPY_int(x742_ + 4, (func_));\
|
|
|
3220 |
COPY_list(x742_ + 5, NULL_list ( EXP ));\
|
|
|
3221 |
COPY_list(x742_ + 6, NULL_list ( TYPE ));\
|
|
|
3222 |
COPY_exp(x742_ + 7, NULL_exp);\
|
|
|
3223 |
COPY_list(x742_ + 8, NULL_list ( TYPE ));\
|
|
|
3224 |
COPY_list(x742_ + 9, NULL_list ( LOCATION ));\
|
|
|
3225 |
COPY_ulong(x742_ + 10, LINK_NONE);\
|
|
|
3226 |
(c_class_exp) = x742_;\
|
2 |
7u83 |
3227 |
}
|
|
|
3228 |
|
7 |
7u83 |
3229 |
#define DECONS_exp_try_block(type_, parent_, body_, func_, handlers_, htypes_, ellipsis_, ttypes_, tlocs_, no_, c_class_exp)\
|
2 |
7u83 |
3230 |
{\
|
7 |
7u83 |
3231 |
c_class *x743_ = CHECK_TAG((c_class_exp), 76);\
|
|
|
3232 |
(type_) = DEREF_type(x743_ + 1);\
|
|
|
3233 |
(parent_) = DEREF_exp(x743_ + 2);\
|
|
|
3234 |
(body_) = DEREF_exp(x743_ + 3);\
|
|
|
3235 |
(func_) = DEREF_int(x743_ + 4);\
|
|
|
3236 |
(handlers_) = DEREF_list(x743_ + 5);\
|
|
|
3237 |
(htypes_) = DEREF_list(x743_ + 6);\
|
|
|
3238 |
(ellipsis_) = DEREF_exp(x743_ + 7);\
|
|
|
3239 |
(ttypes_) = DEREF_list(x743_ + 8);\
|
|
|
3240 |
(tlocs_) = DEREF_list(x743_ + 9);\
|
|
|
3241 |
(no_) = DEREF_ulong(x743_ + 10);\
|
2 |
7u83 |
3242 |
}
|
|
|
3243 |
|
7 |
7u83 |
3244 |
#define DESTROY_exp_try_block(destroyer_, type_, parent_, body_, func_, handlers_, htypes_, ellipsis_, ttypes_, tlocs_, no_, c_class_exp)\
|
2 |
7u83 |
3245 |
{\
|
7 |
7u83 |
3246 |
c_class *x744_ = CHECK_TAG((c_class_exp), 76);\
|
|
|
3247 |
(type_) = DEREF_type(x744_ + 1);\
|
|
|
3248 |
(parent_) = DEREF_exp(x744_ + 2);\
|
|
|
3249 |
(body_) = DEREF_exp(x744_ + 3);\
|
|
|
3250 |
(func_) = DEREF_int(x744_ + 4);\
|
|
|
3251 |
(handlers_) = DEREF_list(x744_ + 5);\
|
|
|
3252 |
(htypes_) = DEREF_list(x744_ + 6);\
|
|
|
3253 |
(ellipsis_) = DEREF_exp(x744_ + 7);\
|
|
|
3254 |
(ttypes_) = DEREF_list(x744_ + 8);\
|
|
|
3255 |
(tlocs_) = DEREF_list(x744_ + 9);\
|
|
|
3256 |
(no_) = DEREF_ulong(x744_ + 10);\
|
|
|
3257 |
(destroyer_)(x744_, (unsigned)11);\
|
2 |
7u83 |
3258 |
}
|
|
|
3259 |
|
|
|
3260 |
|
|
|
3261 |
/* Operations for field handler of union EXP */
|
|
|
3262 |
|
7 |
7u83 |
3263 |
#define exp_handler_tag ((unsigned)77)
|
|
|
3264 |
#define IS_exp_handler(P) (CHECK_NULL(P)->ag_tag == 77)
|
2 |
7u83 |
3265 |
|
7 |
7u83 |
3266 |
#define exp_handler_parent(P) (CHECK_TAG((P), 77) + 2)
|
|
|
3267 |
#define exp_handler_except(P) (CHECK_TAG((P), 77) + 3)
|
|
|
3268 |
#define exp_handler_body(P) (CHECK_TAG((P), 77) + 4)
|
|
|
3269 |
#define exp_handler_diag(P) (CHECK_TAG((P), 77) + 5)
|
2 |
7u83 |
3270 |
|
7 |
7u83 |
3271 |
#define MAKE_exp_handler(type_, except_, body_, c_class_exp)\
|
2 |
7u83 |
3272 |
{\
|
7 |
7u83 |
3273 |
c_class *x745_ = GEN_c_class(6, TYPEID_exp);\
|
|
|
3274 |
x745_->ag_tag = 77;\
|
|
|
3275 |
COPY_type(x745_ + 1, (type_));\
|
|
|
3276 |
COPY_exp(x745_ + 2, NULL_exp);\
|
|
|
3277 |
COPY_id(x745_ + 3, (except_));\
|
|
|
3278 |
COPY_exp(x745_ + 4, (body_));\
|
|
|
3279 |
COPY_ulong(x745_ + 5, LINK_NONE);\
|
|
|
3280 |
(c_class_exp) = x745_;\
|
2 |
7u83 |
3281 |
}
|
|
|
3282 |
|
7 |
7u83 |
3283 |
#define DECONS_exp_handler(type_, parent_, except_, body_, diag_, c_class_exp)\
|
2 |
7u83 |
3284 |
{\
|
7 |
7u83 |
3285 |
c_class *x746_ = CHECK_TAG((c_class_exp), 77);\
|
|
|
3286 |
(type_) = DEREF_type(x746_ + 1);\
|
|
|
3287 |
(parent_) = DEREF_exp(x746_ + 2);\
|
|
|
3288 |
(except_) = DEREF_id(x746_ + 3);\
|
|
|
3289 |
(body_) = DEREF_exp(x746_ + 4);\
|
|
|
3290 |
(diag_) = DEREF_ulong(x746_ + 5);\
|
2 |
7u83 |
3291 |
}
|
|
|
3292 |
|
7 |
7u83 |
3293 |
#define DESTROY_exp_handler(destroyer_, type_, parent_, except_, body_, diag_, c_class_exp)\
|
2 |
7u83 |
3294 |
{\
|
7 |
7u83 |
3295 |
c_class *x747_ = CHECK_TAG((c_class_exp), 77);\
|
|
|
3296 |
(type_) = DEREF_type(x747_ + 1);\
|
|
|
3297 |
(parent_) = DEREF_exp(x747_ + 2);\
|
|
|
3298 |
(except_) = DEREF_id(x747_ + 3);\
|
|
|
3299 |
(body_) = DEREF_exp(x747_ + 4);\
|
|
|
3300 |
(diag_) = DEREF_ulong(x747_ + 5);\
|
|
|
3301 |
(destroyer_)(x747_, (unsigned)6);\
|
2 |
7u83 |
3302 |
}
|
|
|
3303 |
|
|
|
3304 |
|
|
|
3305 |
/* Operations for field exception of union EXP */
|
|
|
3306 |
|
7 |
7u83 |
3307 |
#define exp_exception_tag ((unsigned)78)
|
|
|
3308 |
#define IS_exp_exception(P) (CHECK_NULL(P)->ag_tag == 78)
|
2 |
7u83 |
3309 |
|
7 |
7u83 |
3310 |
#define exp_exception_arg(P) (CHECK_TAG((P), 78) + 2)
|
|
|
3311 |
#define exp_exception_size(P) (CHECK_TAG((P), 78) + 3)
|
|
|
3312 |
#define exp_exception_destr(P) (CHECK_TAG((P), 78) + 4)
|
|
|
3313 |
#define exp_exception_expl(P) (CHECK_TAG((P), 78) + 5)
|
2 |
7u83 |
3314 |
|
7 |
7u83 |
3315 |
#define MAKE_exp_exception(type_, arg_, size_, destr_, expl_, c_class_exp)\
|
2 |
7u83 |
3316 |
{\
|
7 |
7u83 |
3317 |
c_class *x748_ = GEN_c_class(6, TYPEID_exp);\
|
|
|
3318 |
x748_->ag_tag = 78;\
|
|
|
3319 |
COPY_type(x748_ + 1, (type_));\
|
|
|
3320 |
COPY_exp(x748_ + 2, (arg_));\
|
|
|
3321 |
COPY_exp(x748_ + 3, (size_));\
|
|
|
3322 |
COPY_exp(x748_ + 4, (destr_));\
|
|
|
3323 |
COPY_int(x748_ + 5, (expl_));\
|
|
|
3324 |
(c_class_exp) = x748_;\
|
2 |
7u83 |
3325 |
}
|
|
|
3326 |
|
7 |
7u83 |
3327 |
#define DECONS_exp_exception(type_, arg_, size_, destr_, expl_, c_class_exp)\
|
2 |
7u83 |
3328 |
{\
|
7 |
7u83 |
3329 |
c_class *x749_ = CHECK_TAG((c_class_exp), 78);\
|
|
|
3330 |
(type_) = DEREF_type(x749_ + 1);\
|
|
|
3331 |
(arg_) = DEREF_exp(x749_ + 2);\
|
|
|
3332 |
(size_) = DEREF_exp(x749_ + 3);\
|
|
|
3333 |
(destr_) = DEREF_exp(x749_ + 4);\
|
|
|
3334 |
(expl_) = DEREF_int(x749_ + 5);\
|
2 |
7u83 |
3335 |
}
|
|
|
3336 |
|
7 |
7u83 |
3337 |
#define DESTROY_exp_exception(destroyer_, type_, arg_, size_, destr_, expl_, c_class_exp)\
|
2 |
7u83 |
3338 |
{\
|
7 |
7u83 |
3339 |
c_class *x750_ = CHECK_TAG((c_class_exp), 78);\
|
|
|
3340 |
(type_) = DEREF_type(x750_ + 1);\
|
|
|
3341 |
(arg_) = DEREF_exp(x750_ + 2);\
|
|
|
3342 |
(size_) = DEREF_exp(x750_ + 3);\
|
|
|
3343 |
(destr_) = DEREF_exp(x750_ + 4);\
|
|
|
3344 |
(expl_) = DEREF_int(x750_ + 5);\
|
|
|
3345 |
(destroyer_)(x750_, (unsigned)6);\
|
2 |
7u83 |
3346 |
}
|
|
|
3347 |
|
|
|
3348 |
|
|
|
3349 |
/* Operations for field thrown of union EXP */
|
|
|
3350 |
|
7 |
7u83 |
3351 |
#define exp_thrown_tag ((unsigned)79)
|
|
|
3352 |
#define IS_exp_thrown(P) (CHECK_NULL(P)->ag_tag == 79)
|
2 |
7u83 |
3353 |
|
7 |
7u83 |
3354 |
#define exp_thrown_done(P) (CHECK_TAG((P), 79) + 2)
|
2 |
7u83 |
3355 |
|
7 |
7u83 |
3356 |
#define MAKE_exp_thrown(type_, done_, c_class_exp)\
|
2 |
7u83 |
3357 |
{\
|
7 |
7u83 |
3358 |
c_class *x751_ = GEN_c_class(3, TYPEID_exp);\
|
|
|
3359 |
x751_->ag_tag = 79;\
|
|
|
3360 |
COPY_type(x751_ + 1, (type_));\
|
|
|
3361 |
COPY_int(x751_ + 2, (done_));\
|
|
|
3362 |
(c_class_exp) = x751_;\
|
2 |
7u83 |
3363 |
}
|
|
|
3364 |
|
7 |
7u83 |
3365 |
#define DECONS_exp_thrown(type_, done_, c_class_exp)\
|
2 |
7u83 |
3366 |
{\
|
7 |
7u83 |
3367 |
c_class *x752_ = CHECK_TAG((c_class_exp), 79);\
|
|
|
3368 |
(type_) = DEREF_type(x752_ + 1);\
|
|
|
3369 |
(done_) = DEREF_int(x752_ + 2);\
|
2 |
7u83 |
3370 |
}
|
|
|
3371 |
|
7 |
7u83 |
3372 |
#define DESTROY_exp_thrown(destroyer_, type_, done_, c_class_exp)\
|
2 |
7u83 |
3373 |
{\
|
7 |
7u83 |
3374 |
c_class *x753_ = CHECK_TAG((c_class_exp), 79);\
|
|
|
3375 |
(type_) = DEREF_type(x753_ + 1);\
|
|
|
3376 |
(done_) = DEREF_int(x753_ + 2);\
|
|
|
3377 |
(destroyer_)(x753_, (unsigned)3);\
|
2 |
7u83 |
3378 |
}
|
|
|
3379 |
|
|
|
3380 |
|
|
|
3381 |
/* Operations for field op of union EXP */
|
|
|
3382 |
|
7 |
7u83 |
3383 |
#define exp_op_tag ((unsigned)80)
|
|
|
3384 |
#define IS_exp_op(P) (CHECK_NULL(P)->ag_tag == 80)
|
2 |
7u83 |
3385 |
|
7 |
7u83 |
3386 |
#define exp_op_lex(P) (CHECK_TAG((P), 80) + 2)
|
|
|
3387 |
#define exp_op_arg1(P) (CHECK_TAG((P), 80) + 3)
|
|
|
3388 |
#define exp_op_arg2(P) (CHECK_TAG((P), 80) + 4)
|
2 |
7u83 |
3389 |
|
7 |
7u83 |
3390 |
#define MAKE_exp_op(type_, lex_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
3391 |
{\
|
7 |
7u83 |
3392 |
c_class *x754_ = GEN_c_class(5, TYPEID_exp);\
|
|
|
3393 |
x754_->ag_tag = 80;\
|
|
|
3394 |
COPY_type(x754_ + 1, (type_));\
|
|
|
3395 |
COPY_int(x754_ + 2, (lex_));\
|
|
|
3396 |
COPY_exp(x754_ + 3, (arg1_));\
|
|
|
3397 |
COPY_exp(x754_ + 4, (arg2_));\
|
|
|
3398 |
(c_class_exp) = x754_;\
|
2 |
7u83 |
3399 |
}
|
|
|
3400 |
|
7 |
7u83 |
3401 |
#define DECONS_exp_op(type_, lex_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
3402 |
{\
|
7 |
7u83 |
3403 |
c_class *x755_ = CHECK_TAG((c_class_exp), 80);\
|
|
|
3404 |
(type_) = DEREF_type(x755_ + 1);\
|
|
|
3405 |
(lex_) = DEREF_int(x755_ + 2);\
|
|
|
3406 |
(arg1_) = DEREF_exp(x755_ + 3);\
|
|
|
3407 |
(arg2_) = DEREF_exp(x755_ + 4);\
|
2 |
7u83 |
3408 |
}
|
|
|
3409 |
|
7 |
7u83 |
3410 |
#define DESTROY_exp_op(destroyer_, type_, lex_, arg1_, arg2_, c_class_exp)\
|
2 |
7u83 |
3411 |
{\
|
7 |
7u83 |
3412 |
c_class *x756_ = CHECK_TAG((c_class_exp), 80);\
|
|
|
3413 |
(type_) = DEREF_type(x756_ + 1);\
|
|
|
3414 |
(lex_) = DEREF_int(x756_ + 2);\
|
|
|
3415 |
(arg1_) = DEREF_exp(x756_ + 3);\
|
|
|
3416 |
(arg2_) = DEREF_exp(x756_ + 4);\
|
|
|
3417 |
(destroyer_)(x756_, (unsigned)5);\
|
2 |
7u83 |
3418 |
}
|
|
|
3419 |
|
|
|
3420 |
|
|
|
3421 |
/* Operations for field opn of union EXP */
|
|
|
3422 |
|
7 |
7u83 |
3423 |
#define exp_opn_tag ((unsigned)81)
|
|
|
3424 |
#define IS_exp_opn(P) (CHECK_NULL(P)->ag_tag == 81)
|
2 |
7u83 |
3425 |
|
7 |
7u83 |
3426 |
#define exp_opn_lex(P) (CHECK_TAG((P), 81) + 2)
|
|
|
3427 |
#define exp_opn_args(P) (CHECK_TAG((P), 81) + 3)
|
2 |
7u83 |
3428 |
|
7 |
7u83 |
3429 |
#define MAKE_exp_opn(type_, lex_, args_, c_class_exp)\
|
2 |
7u83 |
3430 |
{\
|
7 |
7u83 |
3431 |
c_class *x757_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
3432 |
x757_->ag_tag = 81;\
|
|
|
3433 |
COPY_type(x757_ + 1, (type_));\
|
|
|
3434 |
COPY_int(x757_ + 2, (lex_));\
|
|
|
3435 |
COPY_list(x757_ + 3, (args_));\
|
|
|
3436 |
(c_class_exp) = x757_;\
|
2 |
7u83 |
3437 |
}
|
|
|
3438 |
|
7 |
7u83 |
3439 |
#define DECONS_exp_opn(type_, lex_, args_, c_class_exp)\
|
2 |
7u83 |
3440 |
{\
|
7 |
7u83 |
3441 |
c_class *x758_ = CHECK_TAG((c_class_exp), 81);\
|
|
|
3442 |
(type_) = DEREF_type(x758_ + 1);\
|
|
|
3443 |
(lex_) = DEREF_int(x758_ + 2);\
|
|
|
3444 |
(args_) = DEREF_list(x758_ + 3);\
|
2 |
7u83 |
3445 |
}
|
|
|
3446 |
|
7 |
7u83 |
3447 |
#define DESTROY_exp_opn(destroyer_, type_, lex_, args_, c_class_exp)\
|
2 |
7u83 |
3448 |
{\
|
7 |
7u83 |
3449 |
c_class *x759_ = CHECK_TAG((c_class_exp), 81);\
|
|
|
3450 |
(type_) = DEREF_type(x759_ + 1);\
|
|
|
3451 |
(lex_) = DEREF_int(x759_ + 2);\
|
|
|
3452 |
(args_) = DEREF_list(x759_ + 3);\
|
|
|
3453 |
(destroyer_)(x759_, (unsigned)4);\
|
2 |
7u83 |
3454 |
}
|
|
|
3455 |
|
|
|
3456 |
|
|
|
3457 |
/* Operations for field assembler of union EXP */
|
|
|
3458 |
|
7 |
7u83 |
3459 |
#define exp_assembler_tag ((unsigned)82)
|
|
|
3460 |
#define IS_exp_assembler(P) (CHECK_NULL(P)->ag_tag == 82)
|
2 |
7u83 |
3461 |
|
7 |
7u83 |
3462 |
#define exp_assembler_op(P) (CHECK_TAG((P), 82) + 2)
|
|
|
3463 |
#define exp_assembler_args(P) (CHECK_TAG((P), 82) + 3)
|
2 |
7u83 |
3464 |
|
7 |
7u83 |
3465 |
#define MAKE_exp_assembler(type_, op_, args_, c_class_exp)\
|
2 |
7u83 |
3466 |
{\
|
7 |
7u83 |
3467 |
c_class *x760_ = GEN_c_class(4, TYPEID_exp);\
|
|
|
3468 |
x760_->ag_tag = 82;\
|
|
|
3469 |
COPY_type(x760_ + 1, (type_));\
|
|
|
3470 |
COPY_str(x760_ + 2, (op_));\
|
|
|
3471 |
COPY_list(x760_ + 3, (args_));\
|
|
|
3472 |
(c_class_exp) = x760_;\
|
2 |
7u83 |
3473 |
}
|
|
|
3474 |
|
7 |
7u83 |
3475 |
#define DECONS_exp_assembler(type_, op_, args_, c_class_exp)\
|
2 |
7u83 |
3476 |
{\
|
7 |
7u83 |
3477 |
c_class *x761_ = CHECK_TAG((c_class_exp), 82);\
|
|
|
3478 |
(type_) = DEREF_type(x761_ + 1);\
|
|
|
3479 |
(op_) = DEREF_str(x761_ + 2);\
|
|
|
3480 |
(args_) = DEREF_list(x761_ + 3);\
|
2 |
7u83 |
3481 |
}
|
|
|
3482 |
|
7 |
7u83 |
3483 |
#define DESTROY_exp_assembler(destroyer_, type_, op_, args_, c_class_exp)\
|
2 |
7u83 |
3484 |
{\
|
7 |
7u83 |
3485 |
c_class *x762_ = CHECK_TAG((c_class_exp), 82);\
|
|
|
3486 |
(type_) = DEREF_type(x762_ + 1);\
|
|
|
3487 |
(op_) = DEREF_str(x762_ + 2);\
|
|
|
3488 |
(args_) = DEREF_list(x762_ + 3);\
|
|
|
3489 |
(destroyer_)(x762_, (unsigned)4);\
|
2 |
7u83 |
3490 |
}
|
|
|
3491 |
|
|
|
3492 |
|
|
|
3493 |
/* Operations for field uncompiled of union EXP */
|
|
|
3494 |
|
7 |
7u83 |
3495 |
#define exp_uncompiled_tag ((unsigned)83)
|
|
|
3496 |
#define IS_exp_uncompiled(P) (CHECK_NULL(P)->ag_tag == 83)
|
2 |
7u83 |
3497 |
|
7 |
7u83 |
3498 |
#define exp_uncompiled_start(P) (CHECK_TAG((P), 83) + 2)
|
|
|
3499 |
#define exp_uncompiled_defn(P) (CHECK_TAG((P), 83) + 5)
|
2 |
7u83 |
3500 |
|
7 |
7u83 |
3501 |
#define MAKE_exp_uncompiled(type_, start_, defn_, c_class_exp)\
|
2 |
7u83 |
3502 |
{\
|
7 |
7u83 |
3503 |
c_class *x763_ = GEN_c_class(6, TYPEID_exp);\
|
|
|
3504 |
x763_->ag_tag = 83;\
|
|
|
3505 |
COPY_type(x763_ + 1, (type_));\
|
|
|
3506 |
COPY_ulong(x763_ + 2, (start_).line);\
|
|
|
3507 |
COPY_ulong(x763_ + 3, (start_).column);\
|
|
|
3508 |
COPY_ptr(x763_ + 4, (start_).posn);\
|
|
|
3509 |
COPY_pptok(x763_ + 5, (defn_));\
|
|
|
3510 |
(c_class_exp) = x763_;\
|
2 |
7u83 |
3511 |
}
|
|
|
3512 |
|
7 |
7u83 |
3513 |
#define DECONS_exp_uncompiled(type_, start_, defn_, c_class_exp)\
|
2 |
7u83 |
3514 |
{\
|
7 |
7u83 |
3515 |
c_class *x764_ = CHECK_TAG((c_class_exp), 83);\
|
|
|
3516 |
(type_) = DEREF_type(x764_ + 1);\
|
|
|
3517 |
(start_).line = DEREF_ulong(x764_ + 2);\
|
|
|
3518 |
(start_).column = DEREF_ulong(x764_ + 3);\
|
|
|
3519 |
(start_).posn = DEREF_ptr(x764_ + 4);\
|
|
|
3520 |
(defn_) = DEREF_pptok(x764_ + 5);\
|
2 |
7u83 |
3521 |
}
|
|
|
3522 |
|
7 |
7u83 |
3523 |
#define DESTROY_exp_uncompiled(destroyer_, type_, start_, defn_, c_class_exp)\
|
2 |
7u83 |
3524 |
{\
|
7 |
7u83 |
3525 |
c_class *x765_ = CHECK_TAG((c_class_exp), 83);\
|
|
|
3526 |
(type_) = DEREF_type(x765_ + 1);\
|
|
|
3527 |
(start_).line = DEREF_ulong(x765_ + 2);\
|
|
|
3528 |
(start_).column = DEREF_ulong(x765_ + 3);\
|
|
|
3529 |
(start_).posn = DEREF_ptr(x765_ + 4);\
|
|
|
3530 |
(defn_) = DEREF_pptok(x765_ + 5);\
|
|
|
3531 |
(destroyer_)(x765_, (unsigned)6);\
|
2 |
7u83 |
3532 |
}
|
|
|
3533 |
|
|
|
3534 |
|
|
|
3535 |
/* Operations for field location of union EXP */
|
|
|
3536 |
|
7 |
7u83 |
3537 |
#define exp_location_tag ((unsigned)84)
|
|
|
3538 |
#define IS_exp_location(P) (CHECK_NULL(P)->ag_tag == 84)
|
2 |
7u83 |
3539 |
|
7 |
7u83 |
3540 |
#define exp_location_end(P) (CHECK_TAG((P), 84) + 2)
|
|
|
3541 |
#define exp_location_arg(P) (CHECK_TAG((P), 84) + 5)
|
2 |
7u83 |
3542 |
|
7 |
7u83 |
3543 |
#define MAKE_exp_location(type_, end_, arg_, c_class_exp)\
|
2 |
7u83 |
3544 |
{\
|
7 |
7u83 |
3545 |
c_class *x766_ = GEN_c_class(6, TYPEID_exp);\
|
|
|
3546 |
x766_->ag_tag = 84;\
|
|
|
3547 |
COPY_type(x766_ + 1, (type_));\
|
|
|
3548 |
COPY_ulong(x766_ + 2, (end_).line);\
|
|
|
3549 |
COPY_ulong(x766_ + 3, (end_).column);\
|
|
|
3550 |
COPY_ptr(x766_ + 4, (end_).posn);\
|
|
|
3551 |
COPY_exp(x766_ + 5, (arg_));\
|
|
|
3552 |
(c_class_exp) = x766_;\
|
2 |
7u83 |
3553 |
}
|
|
|
3554 |
|
7 |
7u83 |
3555 |
#define DECONS_exp_location(type_, end_, arg_, c_class_exp)\
|
2 |
7u83 |
3556 |
{\
|
7 |
7u83 |
3557 |
c_class *x767_ = CHECK_TAG((c_class_exp), 84);\
|
|
|
3558 |
(type_) = DEREF_type(x767_ + 1);\
|
|
|
3559 |
(end_).line = DEREF_ulong(x767_ + 2);\
|
|
|
3560 |
(end_).column = DEREF_ulong(x767_ + 3);\
|
|
|
3561 |
(end_).posn = DEREF_ptr(x767_ + 4);\
|
|
|
3562 |
(arg_) = DEREF_exp(x767_ + 5);\
|
2 |
7u83 |
3563 |
}
|
|
|
3564 |
|
7 |
7u83 |
3565 |
#define DESTROY_exp_location(destroyer_, type_, end_, arg_, c_class_exp)\
|
2 |
7u83 |
3566 |
{\
|
7 |
7u83 |
3567 |
c_class *x768_ = CHECK_TAG((c_class_exp), 84);\
|
|
|
3568 |
(type_) = DEREF_type(x768_ + 1);\
|
|
|
3569 |
(end_).line = DEREF_ulong(x768_ + 2);\
|
|
|
3570 |
(end_).column = DEREF_ulong(x768_ + 3);\
|
|
|
3571 |
(end_).posn = DEREF_ptr(x768_ + 4);\
|
|
|
3572 |
(arg_) = DEREF_exp(x768_ + 5);\
|
|
|
3573 |
(destroyer_)(x768_, (unsigned)6);\
|
2 |
7u83 |
3574 |
}
|
|
|
3575 |
|
|
|
3576 |
|
|
|
3577 |
/* Operations for field fail of union EXP */
|
|
|
3578 |
|
7 |
7u83 |
3579 |
#define exp_fail_tag ((unsigned)85)
|
|
|
3580 |
#define IS_exp_fail(P) (CHECK_NULL(P)->ag_tag == 85)
|
2 |
7u83 |
3581 |
|
7 |
7u83 |
3582 |
#define exp_fail_msg(P) (CHECK_TAG((P), 85) + 2)
|
2 |
7u83 |
3583 |
|
7 |
7u83 |
3584 |
#define MAKE_exp_fail(type_, msg_, c_class_exp)\
|
2 |
7u83 |
3585 |
{\
|
7 |
7u83 |
3586 |
c_class *x769_ = GEN_c_class(3, TYPEID_exp);\
|
|
|
3587 |
x769_->ag_tag = 85;\
|
|
|
3588 |
COPY_type(x769_ + 1, (type_));\
|
|
|
3589 |
COPY_string(x769_ + 2, (msg_));\
|
|
|
3590 |
(c_class_exp) = x769_;\
|
2 |
7u83 |
3591 |
}
|
|
|
3592 |
|
7 |
7u83 |
3593 |
#define DECONS_exp_fail(type_, msg_, c_class_exp)\
|
2 |
7u83 |
3594 |
{\
|
7 |
7u83 |
3595 |
c_class *x770_ = CHECK_TAG((c_class_exp), 85);\
|
|
|
3596 |
(type_) = DEREF_type(x770_ + 1);\
|
|
|
3597 |
(msg_) = DEREF_string(x770_ + 2);\
|
2 |
7u83 |
3598 |
}
|
|
|
3599 |
|
7 |
7u83 |
3600 |
#define DESTROY_exp_fail(destroyer_, type_, msg_, c_class_exp)\
|
2 |
7u83 |
3601 |
{\
|
7 |
7u83 |
3602 |
c_class *x771_ = CHECK_TAG((c_class_exp), 85);\
|
|
|
3603 |
(type_) = DEREF_type(x771_ + 1);\
|
|
|
3604 |
(msg_) = DEREF_string(x771_ + 2);\
|
|
|
3605 |
(destroyer_)(x771_, (unsigned)3);\
|
2 |
7u83 |
3606 |
}
|
|
|
3607 |
|
|
|
3608 |
|
|
|
3609 |
/* Operations for field token of union EXP */
|
|
|
3610 |
|
7 |
7u83 |
3611 |
#define exp_token_tag ((unsigned)86)
|
|
|
3612 |
#define IS_exp_token(P) (CHECK_NULL(P)->ag_tag == 86)
|
2 |
7u83 |
3613 |
|
7 |
7u83 |
3614 |
#define exp_token_parent(P) (CHECK_TAG((P), 86) + 2)
|
|
|
3615 |
#define exp_token_tok(P) (CHECK_TAG((P), 86) + 3)
|
|
|
3616 |
#define exp_token_args(P) (CHECK_TAG((P), 86) + 4)
|
2 |
7u83 |
3617 |
|
7 |
7u83 |
3618 |
#define MAKE_exp_token(type_, tok_, args_, c_class_exp)\
|
2 |
7u83 |
3619 |
{\
|
7 |
7u83 |
3620 |
c_class *x772_ = GEN_c_class(5, TYPEID_exp);\
|
|
|
3621 |
x772_->ag_tag = 86;\
|
|
|
3622 |
COPY_type(x772_ + 1, (type_));\
|
|
|
3623 |
COPY_exp(x772_ + 2, NULL_exp);\
|
|
|
3624 |
COPY_id(x772_ + 3, (tok_));\
|
|
|
3625 |
COPY_list(x772_ + 4, (args_));\
|
|
|
3626 |
(c_class_exp) = x772_;\
|
2 |
7u83 |
3627 |
}
|
|
|
3628 |
|
7 |
7u83 |
3629 |
#define DECONS_exp_token(type_, parent_, tok_, args_, c_class_exp)\
|
2 |
7u83 |
3630 |
{\
|
7 |
7u83 |
3631 |
c_class *x773_ = CHECK_TAG((c_class_exp), 86);\
|
|
|
3632 |
(type_) = DEREF_type(x773_ + 1);\
|
|
|
3633 |
(parent_) = DEREF_exp(x773_ + 2);\
|
|
|
3634 |
(tok_) = DEREF_id(x773_ + 3);\
|
|
|
3635 |
(args_) = DEREF_list(x773_ + 4);\
|
2 |
7u83 |
3636 |
}
|
|
|
3637 |
|
7 |
7u83 |
3638 |
#define DESTROY_exp_token(destroyer_, type_, parent_, tok_, args_, c_class_exp)\
|
2 |
7u83 |
3639 |
{\
|
7 |
7u83 |
3640 |
c_class *x774_ = CHECK_TAG((c_class_exp), 86);\
|
|
|
3641 |
(type_) = DEREF_type(x774_ + 1);\
|
|
|
3642 |
(parent_) = DEREF_exp(x774_ + 2);\
|
|
|
3643 |
(tok_) = DEREF_id(x774_ + 3);\
|
|
|
3644 |
(args_) = DEREF_list(x774_ + 4);\
|
|
|
3645 |
(destroyer_)(x774_, (unsigned)5);\
|
2 |
7u83 |
3646 |
}
|
|
|
3647 |
|
|
|
3648 |
|
|
|
3649 |
/* Operations for field dummy of union EXP */
|
|
|
3650 |
|
7 |
7u83 |
3651 |
#define exp_dummy_tag ((unsigned)87)
|
|
|
3652 |
#define IS_exp_dummy(P) (CHECK_NULL(P)->ag_tag == 87)
|
2 |
7u83 |
3653 |
|
7 |
7u83 |
3654 |
#define exp_dummy_value(P) (CHECK_TAG((P), 87) + 2)
|
|
|
3655 |
#define exp_dummy_no(P) (CHECK_TAG((P), 87) + 3)
|
|
|
3656 |
#define exp_dummy_off(P) (CHECK_TAG((P), 87) + 4)
|
|
|
3657 |
#define exp_dummy_virt(P) (CHECK_TAG((P), 87) + 5)
|
|
|
3658 |
#define exp_dummy_cont(P) (CHECK_TAG((P), 87) + 6)
|
2 |
7u83 |
3659 |
|
7 |
7u83 |
3660 |
#define MAKE_exp_dummy(type_, value_, no_, off_, cont_, c_class_exp)\
|
2 |
7u83 |
3661 |
{\
|
7 |
7u83 |
3662 |
c_class *x775_ = GEN_c_class(7, TYPEID_exp);\
|
|
|
3663 |
x775_->ag_tag = 87;\
|
|
|
3664 |
COPY_type(x775_ + 1, (type_));\
|
|
|
3665 |
COPY_exp(x775_ + 2, (value_));\
|
|
|
3666 |
COPY_ulong(x775_ + 3, (no_));\
|
|
|
3667 |
COPY_off(x775_ + 4, (off_));\
|
|
|
3668 |
COPY_int(x775_ + 5, 0);\
|
|
|
3669 |
COPY_int(x775_ + 6, (cont_));\
|
|
|
3670 |
(c_class_exp) = x775_;\
|
2 |
7u83 |
3671 |
}
|
|
|
3672 |
|
7 |
7u83 |
3673 |
#define DECONS_exp_dummy(type_, value_, no_, off_, virt_, cont_, c_class_exp)\
|
2 |
7u83 |
3674 |
{\
|
7 |
7u83 |
3675 |
c_class *x776_ = CHECK_TAG((c_class_exp), 87);\
|
|
|
3676 |
(type_) = DEREF_type(x776_ + 1);\
|
|
|
3677 |
(value_) = DEREF_exp(x776_ + 2);\
|
|
|
3678 |
(no_) = DEREF_ulong(x776_ + 3);\
|
|
|
3679 |
(off_) = DEREF_off(x776_ + 4);\
|
|
|
3680 |
(virt_) = DEREF_int(x776_ + 5);\
|
|
|
3681 |
(cont_) = DEREF_int(x776_ + 6);\
|
2 |
7u83 |
3682 |
}
|
|
|
3683 |
|
7 |
7u83 |
3684 |
#define DESTROY_exp_dummy(destroyer_, type_, value_, no_, off_, virt_, cont_, c_class_exp)\
|
2 |
7u83 |
3685 |
{\
|
7 |
7u83 |
3686 |
c_class *x777_ = CHECK_TAG((c_class_exp), 87);\
|
|
|
3687 |
(type_) = DEREF_type(x777_ + 1);\
|
|
|
3688 |
(value_) = DEREF_exp(x777_ + 2);\
|
|
|
3689 |
(no_) = DEREF_ulong(x777_ + 3);\
|
|
|
3690 |
(off_) = DEREF_off(x777_ + 4);\
|
|
|
3691 |
(virt_) = DEREF_int(x777_ + 5);\
|
|
|
3692 |
(cont_) = DEREF_int(x777_ + 6);\
|
|
|
3693 |
(destroyer_)(x777_, (unsigned)7);\
|
2 |
7u83 |
3694 |
}
|
|
|
3695 |
|
|
|
3696 |
|
|
|
3697 |
#endif
|