1 #ifndef hpragma_defined
2 #define hpragma_defined
28 imagic_unfolding_pragma,
38 typedef struct { Thpragma tag; } *hpragma;
41 Thpragma thpragma(hpragma t);
42 extern __inline__ Thpragma thpragma(hpragma t)
46 #else /* ! __GNUC__ */
47 extern Thpragma thpragma PROTO((hpragma));
48 #endif /* ! __GNUC__ */
54 struct Sidata_pragma {
56 list Xgprag_data_constrs;
57 list Xgprag_data_specs;
60 struct Sitype_pragma {
64 struct Siclas_pragma {
69 struct Siclasop_pragma {
75 struct Siinst_simpl_pragma {
77 stringId Xgprag_imod_simpl;
78 hpragma Xgprag_dfun_simpl;
81 struct Siinst_const_pragma {
83 stringId Xgprag_imod_const;
84 hpragma Xgprag_dfun_const;
88 struct Siinst_spec_pragma {
90 stringId Xgprag_imod_spec;
91 hpragma Xgprag_dfun_spec;
92 list Xgprag_inst_specs;
98 hpragma Xgprag_update;
99 hpragma Xgprag_deforest;
100 hpragma Xgprag_strictness;
101 hpragma Xgprag_unfolding;
105 struct Siarity_pragma {
107 numId Xgprag_arity_val;
110 struct Siupdate_pragma {
112 stringId Xgprag_update_val;
115 struct Sideforest_pragma {
119 struct Sistrictness_pragma {
121 hstring Xgprag_strict_spec;
122 hpragma Xgprag_strict_wrkr;
125 struct Simagic_unfolding_pragma {
127 stringId Xgprag_magic_str;
130 struct Siunfolding_pragma {
132 hpragma Xgprag_unfold_guide;
133 coresyn Xgprag_unfold_core;
136 struct Siunfold_always {
140 struct Siunfold_if_args {
142 numId Xgprag_unfold_if_t_args;
143 numId Xgprag_unfold_if_v_args;
144 stringId Xgprag_unfold_if_con_args;
145 numId Xgprag_unfold_if_size;
148 struct Siname_pragma_pr {
150 unkId Xgprag_name_pr1;
151 hpragma Xgprag_name_pr2;
154 struct Sitype_pragma_pr {
156 list Xgprag_type_pr1;
157 numId Xgprag_type_pr2;
158 hpragma Xgprag_type_pr3;
161 struct Siinst_pragma_3s {
163 list Xgprag_inst_pt1;
164 numId Xgprag_inst_pt2;
165 hpragma Xgprag_inst_pt3;
166 list Xgprag_inst_pt4;
169 struct Sidata_pragma_4s {
171 list Xgprag_data_spec;
174 extern hpragma mkno_pragma PROTO((void));
176 extern hpragma mkidata_pragma PROTO((list, list));
179 list *Rgprag_data_constrs PROTO((struct Sidata_pragma *));
181 extern __inline__ list *Rgprag_data_constrs(struct Sidata_pragma *t)
184 if(t -> tag != idata_pragma)
185 fprintf(stderr,"gprag_data_constrs: illegal selection; was %d\n", t -> tag);
186 #endif /* UGEN_DEBUG */
187 return(& t -> Xgprag_data_constrs);
189 #else /* ! __GNUC__ */
190 extern list *Rgprag_data_constrs PROTO((struct Sidata_pragma *));
191 #endif /* ! __GNUC__ */
193 #define gprag_data_constrs(xyzxyz) (*Rgprag_data_constrs((struct Sidata_pragma *) (xyzxyz)))
196 list *Rgprag_data_specs PROTO((struct Sidata_pragma *));
198 extern __inline__ list *Rgprag_data_specs(struct Sidata_pragma *t)
201 if(t -> tag != idata_pragma)
202 fprintf(stderr,"gprag_data_specs: illegal selection; was %d\n", t -> tag);
203 #endif /* UGEN_DEBUG */
204 return(& t -> Xgprag_data_specs);
206 #else /* ! __GNUC__ */
207 extern list *Rgprag_data_specs PROTO((struct Sidata_pragma *));
208 #endif /* ! __GNUC__ */
210 #define gprag_data_specs(xyzxyz) (*Rgprag_data_specs((struct Sidata_pragma *) (xyzxyz)))
212 extern hpragma mkitype_pragma PROTO((void));
214 extern hpragma mkiclas_pragma PROTO((list));
217 list *Rgprag_clas PROTO((struct Siclas_pragma *));
219 extern __inline__ list *Rgprag_clas(struct Siclas_pragma *t)
222 if(t -> tag != iclas_pragma)
223 fprintf(stderr,"gprag_clas: illegal selection; was %d\n", t -> tag);
224 #endif /* UGEN_DEBUG */
225 return(& t -> Xgprag_clas);
227 #else /* ! __GNUC__ */
228 extern list *Rgprag_clas PROTO((struct Siclas_pragma *));
229 #endif /* ! __GNUC__ */
231 #define gprag_clas(xyzxyz) (*Rgprag_clas((struct Siclas_pragma *) (xyzxyz)))
233 extern hpragma mkiclasop_pragma PROTO((hpragma, hpragma));
236 hpragma *Rgprag_dsel PROTO((struct Siclasop_pragma *));
238 extern __inline__ hpragma *Rgprag_dsel(struct Siclasop_pragma *t)
241 if(t -> tag != iclasop_pragma)
242 fprintf(stderr,"gprag_dsel: illegal selection; was %d\n", t -> tag);
243 #endif /* UGEN_DEBUG */
244 return(& t -> Xgprag_dsel);
246 #else /* ! __GNUC__ */
247 extern hpragma *Rgprag_dsel PROTO((struct Siclasop_pragma *));
248 #endif /* ! __GNUC__ */
250 #define gprag_dsel(xyzxyz) (*Rgprag_dsel((struct Siclasop_pragma *) (xyzxyz)))
253 hpragma *Rgprag_defm PROTO((struct Siclasop_pragma *));
255 extern __inline__ hpragma *Rgprag_defm(struct Siclasop_pragma *t)
258 if(t -> tag != iclasop_pragma)
259 fprintf(stderr,"gprag_defm: illegal selection; was %d\n", t -> tag);
260 #endif /* UGEN_DEBUG */
261 return(& t -> Xgprag_defm);
263 #else /* ! __GNUC__ */
264 extern hpragma *Rgprag_defm PROTO((struct Siclasop_pragma *));
265 #endif /* ! __GNUC__ */
267 #define gprag_defm(xyzxyz) (*Rgprag_defm((struct Siclasop_pragma *) (xyzxyz)))
269 extern hpragma mkiinst_simpl_pragma PROTO((stringId, hpragma));
272 stringId *Rgprag_imod_simpl PROTO((struct Siinst_simpl_pragma *));
274 extern __inline__ stringId *Rgprag_imod_simpl(struct Siinst_simpl_pragma *t)
277 if(t -> tag != iinst_simpl_pragma)
278 fprintf(stderr,"gprag_imod_simpl: illegal selection; was %d\n", t -> tag);
279 #endif /* UGEN_DEBUG */
280 return(& t -> Xgprag_imod_simpl);
282 #else /* ! __GNUC__ */
283 extern stringId *Rgprag_imod_simpl PROTO((struct Siinst_simpl_pragma *));
284 #endif /* ! __GNUC__ */
286 #define gprag_imod_simpl(xyzxyz) (*Rgprag_imod_simpl((struct Siinst_simpl_pragma *) (xyzxyz)))
289 hpragma *Rgprag_dfun_simpl PROTO((struct Siinst_simpl_pragma *));
291 extern __inline__ hpragma *Rgprag_dfun_simpl(struct Siinst_simpl_pragma *t)
294 if(t -> tag != iinst_simpl_pragma)
295 fprintf(stderr,"gprag_dfun_simpl: illegal selection; was %d\n", t -> tag);
296 #endif /* UGEN_DEBUG */
297 return(& t -> Xgprag_dfun_simpl);
299 #else /* ! __GNUC__ */
300 extern hpragma *Rgprag_dfun_simpl PROTO((struct Siinst_simpl_pragma *));
301 #endif /* ! __GNUC__ */
303 #define gprag_dfun_simpl(xyzxyz) (*Rgprag_dfun_simpl((struct Siinst_simpl_pragma *) (xyzxyz)))
305 extern hpragma mkiinst_const_pragma PROTO((stringId, hpragma, list));
308 stringId *Rgprag_imod_const PROTO((struct Siinst_const_pragma *));
310 extern __inline__ stringId *Rgprag_imod_const(struct Siinst_const_pragma *t)
313 if(t -> tag != iinst_const_pragma)
314 fprintf(stderr,"gprag_imod_const: illegal selection; was %d\n", t -> tag);
315 #endif /* UGEN_DEBUG */
316 return(& t -> Xgprag_imod_const);
318 #else /* ! __GNUC__ */
319 extern stringId *Rgprag_imod_const PROTO((struct Siinst_const_pragma *));
320 #endif /* ! __GNUC__ */
322 #define gprag_imod_const(xyzxyz) (*Rgprag_imod_const((struct Siinst_const_pragma *) (xyzxyz)))
325 hpragma *Rgprag_dfun_const PROTO((struct Siinst_const_pragma *));
327 extern __inline__ hpragma *Rgprag_dfun_const(struct Siinst_const_pragma *t)
330 if(t -> tag != iinst_const_pragma)
331 fprintf(stderr,"gprag_dfun_const: illegal selection; was %d\n", t -> tag);
332 #endif /* UGEN_DEBUG */
333 return(& t -> Xgprag_dfun_const);
335 #else /* ! __GNUC__ */
336 extern hpragma *Rgprag_dfun_const PROTO((struct Siinst_const_pragma *));
337 #endif /* ! __GNUC__ */
339 #define gprag_dfun_const(xyzxyz) (*Rgprag_dfun_const((struct Siinst_const_pragma *) (xyzxyz)))
342 list *Rgprag_constms PROTO((struct Siinst_const_pragma *));
344 extern __inline__ list *Rgprag_constms(struct Siinst_const_pragma *t)
347 if(t -> tag != iinst_const_pragma)
348 fprintf(stderr,"gprag_constms: illegal selection; was %d\n", t -> tag);
349 #endif /* UGEN_DEBUG */
350 return(& t -> Xgprag_constms);
352 #else /* ! __GNUC__ */
353 extern list *Rgprag_constms PROTO((struct Siinst_const_pragma *));
354 #endif /* ! __GNUC__ */
356 #define gprag_constms(xyzxyz) (*Rgprag_constms((struct Siinst_const_pragma *) (xyzxyz)))
358 extern hpragma mkiinst_spec_pragma PROTO((stringId, hpragma, list));
361 stringId *Rgprag_imod_spec PROTO((struct Siinst_spec_pragma *));
363 extern __inline__ stringId *Rgprag_imod_spec(struct Siinst_spec_pragma *t)
366 if(t -> tag != iinst_spec_pragma)
367 fprintf(stderr,"gprag_imod_spec: illegal selection; was %d\n", t -> tag);
368 #endif /* UGEN_DEBUG */
369 return(& t -> Xgprag_imod_spec);
371 #else /* ! __GNUC__ */
372 extern stringId *Rgprag_imod_spec PROTO((struct Siinst_spec_pragma *));
373 #endif /* ! __GNUC__ */
375 #define gprag_imod_spec(xyzxyz) (*Rgprag_imod_spec((struct Siinst_spec_pragma *) (xyzxyz)))
378 hpragma *Rgprag_dfun_spec PROTO((struct Siinst_spec_pragma *));
380 extern __inline__ hpragma *Rgprag_dfun_spec(struct Siinst_spec_pragma *t)
383 if(t -> tag != iinst_spec_pragma)
384 fprintf(stderr,"gprag_dfun_spec: illegal selection; was %d\n", t -> tag);
385 #endif /* UGEN_DEBUG */
386 return(& t -> Xgprag_dfun_spec);
388 #else /* ! __GNUC__ */
389 extern hpragma *Rgprag_dfun_spec PROTO((struct Siinst_spec_pragma *));
390 #endif /* ! __GNUC__ */
392 #define gprag_dfun_spec(xyzxyz) (*Rgprag_dfun_spec((struct Siinst_spec_pragma *) (xyzxyz)))
395 list *Rgprag_inst_specs PROTO((struct Siinst_spec_pragma *));
397 extern __inline__ list *Rgprag_inst_specs(struct Siinst_spec_pragma *t)
400 if(t -> tag != iinst_spec_pragma)
401 fprintf(stderr,"gprag_inst_specs: illegal selection; was %d\n", t -> tag);
402 #endif /* UGEN_DEBUG */
403 return(& t -> Xgprag_inst_specs);
405 #else /* ! __GNUC__ */
406 extern list *Rgprag_inst_specs PROTO((struct Siinst_spec_pragma *));
407 #endif /* ! __GNUC__ */
409 #define gprag_inst_specs(xyzxyz) (*Rgprag_inst_specs((struct Siinst_spec_pragma *) (xyzxyz)))
411 extern hpragma mkigen_pragma PROTO((hpragma, hpragma, hpragma, hpragma, hpragma, list));
414 hpragma *Rgprag_arity PROTO((struct Sigen_pragma *));
416 extern __inline__ hpragma *Rgprag_arity(struct Sigen_pragma *t)
419 if(t -> tag != igen_pragma)
420 fprintf(stderr,"gprag_arity: illegal selection; was %d\n", t -> tag);
421 #endif /* UGEN_DEBUG */
422 return(& t -> Xgprag_arity);
424 #else /* ! __GNUC__ */
425 extern hpragma *Rgprag_arity PROTO((struct Sigen_pragma *));
426 #endif /* ! __GNUC__ */
428 #define gprag_arity(xyzxyz) (*Rgprag_arity((struct Sigen_pragma *) (xyzxyz)))
431 hpragma *Rgprag_update PROTO((struct Sigen_pragma *));
433 extern __inline__ hpragma *Rgprag_update(struct Sigen_pragma *t)
436 if(t -> tag != igen_pragma)
437 fprintf(stderr,"gprag_update: illegal selection; was %d\n", t -> tag);
438 #endif /* UGEN_DEBUG */
439 return(& t -> Xgprag_update);
441 #else /* ! __GNUC__ */
442 extern hpragma *Rgprag_update PROTO((struct Sigen_pragma *));
443 #endif /* ! __GNUC__ */
445 #define gprag_update(xyzxyz) (*Rgprag_update((struct Sigen_pragma *) (xyzxyz)))
448 hpragma *Rgprag_deforest PROTO((struct Sigen_pragma *));
450 extern __inline__ hpragma *Rgprag_deforest(struct Sigen_pragma *t)
453 if(t -> tag != igen_pragma)
454 fprintf(stderr,"gprag_deforest: illegal selection; was %d\n", t -> tag);
455 #endif /* UGEN_DEBUG */
456 return(& t -> Xgprag_deforest);
458 #else /* ! __GNUC__ */
459 extern hpragma *Rgprag_deforest PROTO((struct Sigen_pragma *));
460 #endif /* ! __GNUC__ */
462 #define gprag_deforest(xyzxyz) (*Rgprag_deforest((struct Sigen_pragma *) (xyzxyz)))
465 hpragma *Rgprag_strictness PROTO((struct Sigen_pragma *));
467 extern __inline__ hpragma *Rgprag_strictness(struct Sigen_pragma *t)
470 if(t -> tag != igen_pragma)
471 fprintf(stderr,"gprag_strictness: illegal selection; was %d\n", t -> tag);
472 #endif /* UGEN_DEBUG */
473 return(& t -> Xgprag_strictness);
475 #else /* ! __GNUC__ */
476 extern hpragma *Rgprag_strictness PROTO((struct Sigen_pragma *));
477 #endif /* ! __GNUC__ */
479 #define gprag_strictness(xyzxyz) (*Rgprag_strictness((struct Sigen_pragma *) (xyzxyz)))
482 hpragma *Rgprag_unfolding PROTO((struct Sigen_pragma *));
484 extern __inline__ hpragma *Rgprag_unfolding(struct Sigen_pragma *t)
487 if(t -> tag != igen_pragma)
488 fprintf(stderr,"gprag_unfolding: illegal selection; was %d\n", t -> tag);
489 #endif /* UGEN_DEBUG */
490 return(& t -> Xgprag_unfolding);
492 #else /* ! __GNUC__ */
493 extern hpragma *Rgprag_unfolding PROTO((struct Sigen_pragma *));
494 #endif /* ! __GNUC__ */
496 #define gprag_unfolding(xyzxyz) (*Rgprag_unfolding((struct Sigen_pragma *) (xyzxyz)))
499 list *Rgprag_specs PROTO((struct Sigen_pragma *));
501 extern __inline__ list *Rgprag_specs(struct Sigen_pragma *t)
504 if(t -> tag != igen_pragma)
505 fprintf(stderr,"gprag_specs: illegal selection; was %d\n", t -> tag);
506 #endif /* UGEN_DEBUG */
507 return(& t -> Xgprag_specs);
509 #else /* ! __GNUC__ */
510 extern list *Rgprag_specs PROTO((struct Sigen_pragma *));
511 #endif /* ! __GNUC__ */
513 #define gprag_specs(xyzxyz) (*Rgprag_specs((struct Sigen_pragma *) (xyzxyz)))
515 extern hpragma mkiarity_pragma PROTO((numId));
518 numId *Rgprag_arity_val PROTO((struct Siarity_pragma *));
520 extern __inline__ numId *Rgprag_arity_val(struct Siarity_pragma *t)
523 if(t -> tag != iarity_pragma)
524 fprintf(stderr,"gprag_arity_val: illegal selection; was %d\n", t -> tag);
525 #endif /* UGEN_DEBUG */
526 return(& t -> Xgprag_arity_val);
528 #else /* ! __GNUC__ */
529 extern numId *Rgprag_arity_val PROTO((struct Siarity_pragma *));
530 #endif /* ! __GNUC__ */
532 #define gprag_arity_val(xyzxyz) (*Rgprag_arity_val((struct Siarity_pragma *) (xyzxyz)))
534 extern hpragma mkiupdate_pragma PROTO((stringId));
537 stringId *Rgprag_update_val PROTO((struct Siupdate_pragma *));
539 extern __inline__ stringId *Rgprag_update_val(struct Siupdate_pragma *t)
542 if(t -> tag != iupdate_pragma)
543 fprintf(stderr,"gprag_update_val: illegal selection; was %d\n", t -> tag);
544 #endif /* UGEN_DEBUG */
545 return(& t -> Xgprag_update_val);
547 #else /* ! __GNUC__ */
548 extern stringId *Rgprag_update_val PROTO((struct Siupdate_pragma *));
549 #endif /* ! __GNUC__ */
551 #define gprag_update_val(xyzxyz) (*Rgprag_update_val((struct Siupdate_pragma *) (xyzxyz)))
553 extern hpragma mkideforest_pragma PROTO((void));
555 extern hpragma mkistrictness_pragma PROTO((hstring, hpragma));
558 hstring *Rgprag_strict_spec PROTO((struct Sistrictness_pragma *));
560 extern __inline__ hstring *Rgprag_strict_spec(struct Sistrictness_pragma *t)
563 if(t -> tag != istrictness_pragma)
564 fprintf(stderr,"gprag_strict_spec: illegal selection; was %d\n", t -> tag);
565 #endif /* UGEN_DEBUG */
566 return(& t -> Xgprag_strict_spec);
568 #else /* ! __GNUC__ */
569 extern hstring *Rgprag_strict_spec PROTO((struct Sistrictness_pragma *));
570 #endif /* ! __GNUC__ */
572 #define gprag_strict_spec(xyzxyz) (*Rgprag_strict_spec((struct Sistrictness_pragma *) (xyzxyz)))
575 hpragma *Rgprag_strict_wrkr PROTO((struct Sistrictness_pragma *));
577 extern __inline__ hpragma *Rgprag_strict_wrkr(struct Sistrictness_pragma *t)
580 if(t -> tag != istrictness_pragma)
581 fprintf(stderr,"gprag_strict_wrkr: illegal selection; was %d\n", t -> tag);
582 #endif /* UGEN_DEBUG */
583 return(& t -> Xgprag_strict_wrkr);
585 #else /* ! __GNUC__ */
586 extern hpragma *Rgprag_strict_wrkr PROTO((struct Sistrictness_pragma *));
587 #endif /* ! __GNUC__ */
589 #define gprag_strict_wrkr(xyzxyz) (*Rgprag_strict_wrkr((struct Sistrictness_pragma *) (xyzxyz)))
591 extern hpragma mkimagic_unfolding_pragma PROTO((stringId));
594 stringId *Rgprag_magic_str PROTO((struct Simagic_unfolding_pragma *));
596 extern __inline__ stringId *Rgprag_magic_str(struct Simagic_unfolding_pragma *t)
599 if(t -> tag != imagic_unfolding_pragma)
600 fprintf(stderr,"gprag_magic_str: illegal selection; was %d\n", t -> tag);
601 #endif /* UGEN_DEBUG */
602 return(& t -> Xgprag_magic_str);
604 #else /* ! __GNUC__ */
605 extern stringId *Rgprag_magic_str PROTO((struct Simagic_unfolding_pragma *));
606 #endif /* ! __GNUC__ */
608 #define gprag_magic_str(xyzxyz) (*Rgprag_magic_str((struct Simagic_unfolding_pragma *) (xyzxyz)))
610 extern hpragma mkiunfolding_pragma PROTO((hpragma, coresyn));
613 hpragma *Rgprag_unfold_guide PROTO((struct Siunfolding_pragma *));
615 extern __inline__ hpragma *Rgprag_unfold_guide(struct Siunfolding_pragma *t)
618 if(t -> tag != iunfolding_pragma)
619 fprintf(stderr,"gprag_unfold_guide: illegal selection; was %d\n", t -> tag);
620 #endif /* UGEN_DEBUG */
621 return(& t -> Xgprag_unfold_guide);
623 #else /* ! __GNUC__ */
624 extern hpragma *Rgprag_unfold_guide PROTO((struct Siunfolding_pragma *));
625 #endif /* ! __GNUC__ */
627 #define gprag_unfold_guide(xyzxyz) (*Rgprag_unfold_guide((struct Siunfolding_pragma *) (xyzxyz)))
630 coresyn *Rgprag_unfold_core PROTO((struct Siunfolding_pragma *));
632 extern __inline__ coresyn *Rgprag_unfold_core(struct Siunfolding_pragma *t)
635 if(t -> tag != iunfolding_pragma)
636 fprintf(stderr,"gprag_unfold_core: illegal selection; was %d\n", t -> tag);
637 #endif /* UGEN_DEBUG */
638 return(& t -> Xgprag_unfold_core);
640 #else /* ! __GNUC__ */
641 extern coresyn *Rgprag_unfold_core PROTO((struct Siunfolding_pragma *));
642 #endif /* ! __GNUC__ */
644 #define gprag_unfold_core(xyzxyz) (*Rgprag_unfold_core((struct Siunfolding_pragma *) (xyzxyz)))
646 extern hpragma mkiunfold_always PROTO((void));
648 extern hpragma mkiunfold_if_args PROTO((numId, numId, stringId, numId));
651 numId *Rgprag_unfold_if_t_args PROTO((struct Siunfold_if_args *));
653 extern __inline__ numId *Rgprag_unfold_if_t_args(struct Siunfold_if_args *t)
656 if(t -> tag != iunfold_if_args)
657 fprintf(stderr,"gprag_unfold_if_t_args: illegal selection; was %d\n", t -> tag);
658 #endif /* UGEN_DEBUG */
659 return(& t -> Xgprag_unfold_if_t_args);
661 #else /* ! __GNUC__ */
662 extern numId *Rgprag_unfold_if_t_args PROTO((struct Siunfold_if_args *));
663 #endif /* ! __GNUC__ */
665 #define gprag_unfold_if_t_args(xyzxyz) (*Rgprag_unfold_if_t_args((struct Siunfold_if_args *) (xyzxyz)))
668 numId *Rgprag_unfold_if_v_args PROTO((struct Siunfold_if_args *));
670 extern __inline__ numId *Rgprag_unfold_if_v_args(struct Siunfold_if_args *t)
673 if(t -> tag != iunfold_if_args)
674 fprintf(stderr,"gprag_unfold_if_v_args: illegal selection; was %d\n", t -> tag);
675 #endif /* UGEN_DEBUG */
676 return(& t -> Xgprag_unfold_if_v_args);
678 #else /* ! __GNUC__ */
679 extern numId *Rgprag_unfold_if_v_args PROTO((struct Siunfold_if_args *));
680 #endif /* ! __GNUC__ */
682 #define gprag_unfold_if_v_args(xyzxyz) (*Rgprag_unfold_if_v_args((struct Siunfold_if_args *) (xyzxyz)))
685 stringId *Rgprag_unfold_if_con_args PROTO((struct Siunfold_if_args *));
687 extern __inline__ stringId *Rgprag_unfold_if_con_args(struct Siunfold_if_args *t)
690 if(t -> tag != iunfold_if_args)
691 fprintf(stderr,"gprag_unfold_if_con_args: illegal selection; was %d\n", t -> tag);
692 #endif /* UGEN_DEBUG */
693 return(& t -> Xgprag_unfold_if_con_args);
695 #else /* ! __GNUC__ */
696 extern stringId *Rgprag_unfold_if_con_args PROTO((struct Siunfold_if_args *));
697 #endif /* ! __GNUC__ */
699 #define gprag_unfold_if_con_args(xyzxyz) (*Rgprag_unfold_if_con_args((struct Siunfold_if_args *) (xyzxyz)))
702 numId *Rgprag_unfold_if_size PROTO((struct Siunfold_if_args *));
704 extern __inline__ numId *Rgprag_unfold_if_size(struct Siunfold_if_args *t)
707 if(t -> tag != iunfold_if_args)
708 fprintf(stderr,"gprag_unfold_if_size: illegal selection; was %d\n", t -> tag);
709 #endif /* UGEN_DEBUG */
710 return(& t -> Xgprag_unfold_if_size);
712 #else /* ! __GNUC__ */
713 extern numId *Rgprag_unfold_if_size PROTO((struct Siunfold_if_args *));
714 #endif /* ! __GNUC__ */
716 #define gprag_unfold_if_size(xyzxyz) (*Rgprag_unfold_if_size((struct Siunfold_if_args *) (xyzxyz)))
718 extern hpragma mkiname_pragma_pr PROTO((unkId, hpragma));
721 unkId *Rgprag_name_pr1 PROTO((struct Siname_pragma_pr *));
723 extern __inline__ unkId *Rgprag_name_pr1(struct Siname_pragma_pr *t)
726 if(t -> tag != iname_pragma_pr)
727 fprintf(stderr,"gprag_name_pr1: illegal selection; was %d\n", t -> tag);
728 #endif /* UGEN_DEBUG */
729 return(& t -> Xgprag_name_pr1);
731 #else /* ! __GNUC__ */
732 extern unkId *Rgprag_name_pr1 PROTO((struct Siname_pragma_pr *));
733 #endif /* ! __GNUC__ */
735 #define gprag_name_pr1(xyzxyz) (*Rgprag_name_pr1((struct Siname_pragma_pr *) (xyzxyz)))
738 hpragma *Rgprag_name_pr2 PROTO((struct Siname_pragma_pr *));
740 extern __inline__ hpragma *Rgprag_name_pr2(struct Siname_pragma_pr *t)
743 if(t -> tag != iname_pragma_pr)
744 fprintf(stderr,"gprag_name_pr2: illegal selection; was %d\n", t -> tag);
745 #endif /* UGEN_DEBUG */
746 return(& t -> Xgprag_name_pr2);
748 #else /* ! __GNUC__ */
749 extern hpragma *Rgprag_name_pr2 PROTO((struct Siname_pragma_pr *));
750 #endif /* ! __GNUC__ */
752 #define gprag_name_pr2(xyzxyz) (*Rgprag_name_pr2((struct Siname_pragma_pr *) (xyzxyz)))
754 extern hpragma mkitype_pragma_pr PROTO((list, numId, hpragma));
757 list *Rgprag_type_pr1 PROTO((struct Sitype_pragma_pr *));
759 extern __inline__ list *Rgprag_type_pr1(struct Sitype_pragma_pr *t)
762 if(t -> tag != itype_pragma_pr)
763 fprintf(stderr,"gprag_type_pr1: illegal selection; was %d\n", t -> tag);
764 #endif /* UGEN_DEBUG */
765 return(& t -> Xgprag_type_pr1);
767 #else /* ! __GNUC__ */
768 extern list *Rgprag_type_pr1 PROTO((struct Sitype_pragma_pr *));
769 #endif /* ! __GNUC__ */
771 #define gprag_type_pr1(xyzxyz) (*Rgprag_type_pr1((struct Sitype_pragma_pr *) (xyzxyz)))
774 numId *Rgprag_type_pr2 PROTO((struct Sitype_pragma_pr *));
776 extern __inline__ numId *Rgprag_type_pr2(struct Sitype_pragma_pr *t)
779 if(t -> tag != itype_pragma_pr)
780 fprintf(stderr,"gprag_type_pr2: illegal selection; was %d\n", t -> tag);
781 #endif /* UGEN_DEBUG */
782 return(& t -> Xgprag_type_pr2);
784 #else /* ! __GNUC__ */
785 extern numId *Rgprag_type_pr2 PROTO((struct Sitype_pragma_pr *));
786 #endif /* ! __GNUC__ */
788 #define gprag_type_pr2(xyzxyz) (*Rgprag_type_pr2((struct Sitype_pragma_pr *) (xyzxyz)))
791 hpragma *Rgprag_type_pr3 PROTO((struct Sitype_pragma_pr *));
793 extern __inline__ hpragma *Rgprag_type_pr3(struct Sitype_pragma_pr *t)
796 if(t -> tag != itype_pragma_pr)
797 fprintf(stderr,"gprag_type_pr3: illegal selection; was %d\n", t -> tag);
798 #endif /* UGEN_DEBUG */
799 return(& t -> Xgprag_type_pr3);
801 #else /* ! __GNUC__ */
802 extern hpragma *Rgprag_type_pr3 PROTO((struct Sitype_pragma_pr *));
803 #endif /* ! __GNUC__ */
805 #define gprag_type_pr3(xyzxyz) (*Rgprag_type_pr3((struct Sitype_pragma_pr *) (xyzxyz)))
807 extern hpragma mkiinst_pragma_3s PROTO((list, numId, hpragma, list));
810 list *Rgprag_inst_pt1 PROTO((struct Siinst_pragma_3s *));
812 extern __inline__ list *Rgprag_inst_pt1(struct Siinst_pragma_3s *t)
815 if(t -> tag != iinst_pragma_3s)
816 fprintf(stderr,"gprag_inst_pt1: illegal selection; was %d\n", t -> tag);
817 #endif /* UGEN_DEBUG */
818 return(& t -> Xgprag_inst_pt1);
820 #else /* ! __GNUC__ */
821 extern list *Rgprag_inst_pt1 PROTO((struct Siinst_pragma_3s *));
822 #endif /* ! __GNUC__ */
824 #define gprag_inst_pt1(xyzxyz) (*Rgprag_inst_pt1((struct Siinst_pragma_3s *) (xyzxyz)))
827 numId *Rgprag_inst_pt2 PROTO((struct Siinst_pragma_3s *));
829 extern __inline__ numId *Rgprag_inst_pt2(struct Siinst_pragma_3s *t)
832 if(t -> tag != iinst_pragma_3s)
833 fprintf(stderr,"gprag_inst_pt2: illegal selection; was %d\n", t -> tag);
834 #endif /* UGEN_DEBUG */
835 return(& t -> Xgprag_inst_pt2);
837 #else /* ! __GNUC__ */
838 extern numId *Rgprag_inst_pt2 PROTO((struct Siinst_pragma_3s *));
839 #endif /* ! __GNUC__ */
841 #define gprag_inst_pt2(xyzxyz) (*Rgprag_inst_pt2((struct Siinst_pragma_3s *) (xyzxyz)))
844 hpragma *Rgprag_inst_pt3 PROTO((struct Siinst_pragma_3s *));
846 extern __inline__ hpragma *Rgprag_inst_pt3(struct Siinst_pragma_3s *t)
849 if(t -> tag != iinst_pragma_3s)
850 fprintf(stderr,"gprag_inst_pt3: illegal selection; was %d\n", t -> tag);
851 #endif /* UGEN_DEBUG */
852 return(& t -> Xgprag_inst_pt3);
854 #else /* ! __GNUC__ */
855 extern hpragma *Rgprag_inst_pt3 PROTO((struct Siinst_pragma_3s *));
856 #endif /* ! __GNUC__ */
858 #define gprag_inst_pt3(xyzxyz) (*Rgprag_inst_pt3((struct Siinst_pragma_3s *) (xyzxyz)))
861 list *Rgprag_inst_pt4 PROTO((struct Siinst_pragma_3s *));
863 extern __inline__ list *Rgprag_inst_pt4(struct Siinst_pragma_3s *t)
866 if(t -> tag != iinst_pragma_3s)
867 fprintf(stderr,"gprag_inst_pt4: illegal selection; was %d\n", t -> tag);
868 #endif /* UGEN_DEBUG */
869 return(& t -> Xgprag_inst_pt4);
871 #else /* ! __GNUC__ */
872 extern list *Rgprag_inst_pt4 PROTO((struct Siinst_pragma_3s *));
873 #endif /* ! __GNUC__ */
875 #define gprag_inst_pt4(xyzxyz) (*Rgprag_inst_pt4((struct Siinst_pragma_3s *) (xyzxyz)))
877 extern hpragma mkidata_pragma_4s PROTO((list));
880 list *Rgprag_data_spec PROTO((struct Sidata_pragma_4s *));
882 extern __inline__ list *Rgprag_data_spec(struct Sidata_pragma_4s *t)
885 if(t -> tag != idata_pragma_4s)
886 fprintf(stderr,"gprag_data_spec: illegal selection; was %d\n", t -> tag);
887 #endif /* UGEN_DEBUG */
888 return(& t -> Xgprag_data_spec);
890 #else /* ! __GNUC__ */
891 extern list *Rgprag_data_spec PROTO((struct Sidata_pragma_4s *));
892 #endif /* ! __GNUC__ */
894 #define gprag_data_spec(xyzxyz) (*Rgprag_data_spec((struct Sidata_pragma_4s *) (xyzxyz)))