X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FyaccParser%2Fhpragma.h;fp=ghc%2Fcompiler%2FyaccParser%2Fhpragma.h;h=8ba2ed503f1a20c3311caabe829f06cd3fefbcb0;hb=e7d21ee4f8ac907665a7e170c71d59e13a01da09;hp=0000000000000000000000000000000000000000;hpb=e48474bff05e6cfb506660420f025f694c870d38;p=ghc-hetmet.git diff --git a/ghc/compiler/yaccParser/hpragma.h b/ghc/compiler/yaccParser/hpragma.h new file mode 100644 index 0000000..8ba2ed5 --- /dev/null +++ b/ghc/compiler/yaccParser/hpragma.h @@ -0,0 +1,815 @@ +#ifndef hpragma_defined +#define hpragma_defined + +#include + +#ifndef PROTO +#ifdef __STDC__ +#define PROTO(x) x +#else +#define PROTO(x) /**/ +#endif +#endif + +typedef enum { + no_pragma, + idata_pragma, + itype_pragma, + iclas_pragma, + iclasop_pragma, + iinst_simpl_pragma, + iinst_const_pragma, + iinst_spec_pragma, + igen_pragma, + iarity_pragma, + iupdate_pragma, + ideforest_pragma, + istrictness_pragma, + imagic_unfolding_pragma, + iunfolding_pragma, + iunfold_always, + iunfold_if_args, + iname_pragma_pr, + itype_pragma_pr, + iinst_pragma_3s, + idata_pragma_4s +} Thpragma; + +typedef struct { Thpragma tag; } *hpragma; + +#ifdef __GNUC__ +extern __inline__ Thpragma thpragma(hpragma t) +{ + return(t -> tag); +} +#else /* ! __GNUC__ */ +extern Thpragma thpragma PROTO((hpragma)); +#endif /* ! __GNUC__ */ + +struct Sno_pragma { + Thpragma tag; +}; + +struct Sidata_pragma { + Thpragma tag; + list Xgprag_data_constrs; + list Xgprag_data_specs; +}; + +struct Sitype_pragma { + Thpragma tag; +}; + +struct Siclas_pragma { + Thpragma tag; + list Xgprag_clas; +}; + +struct Siclasop_pragma { + Thpragma tag; + hpragma Xgprag_dsel; + hpragma Xgprag_defm; +}; + +struct Siinst_simpl_pragma { + Thpragma tag; + stringId Xgprag_imod_simpl; + hpragma Xgprag_dfun_simpl; +}; + +struct Siinst_const_pragma { + Thpragma tag; + stringId Xgprag_imod_const; + hpragma Xgprag_dfun_const; + list Xgprag_constms; +}; + +struct Siinst_spec_pragma { + Thpragma tag; + stringId Xgprag_imod_spec; + hpragma Xgprag_dfun_spec; + list Xgprag_inst_specs; +}; + +struct Sigen_pragma { + Thpragma tag; + hpragma Xgprag_arity; + hpragma Xgprag_update; + hpragma Xgprag_deforest; + hpragma Xgprag_strictness; + hpragma Xgprag_unfolding; + list Xgprag_specs; +}; + +struct Siarity_pragma { + Thpragma tag; + numId Xgprag_arity_val; +}; + +struct Siupdate_pragma { + Thpragma tag; + stringId Xgprag_update_val; +}; + +struct Sideforest_pragma { + Thpragma tag; +}; + +struct Sistrictness_pragma { + Thpragma tag; + hstring Xgprag_strict_spec; + hpragma Xgprag_strict_wrkr; +}; + +struct Simagic_unfolding_pragma { + Thpragma tag; + stringId Xgprag_magic_str; +}; + +struct Siunfolding_pragma { + Thpragma tag; + hpragma Xgprag_unfold_guide; + coresyn Xgprag_unfold_core; +}; + +struct Siunfold_always { + Thpragma tag; +}; + +struct Siunfold_if_args { + Thpragma tag; + numId Xgprag_unfold_if_t_args; + numId Xgprag_unfold_if_v_args; + stringId Xgprag_unfold_if_con_args; + numId Xgprag_unfold_if_size; +}; + +struct Siname_pragma_pr { + Thpragma tag; + unkId Xgprag_name_pr1; + hpragma Xgprag_name_pr2; +}; + +struct Sitype_pragma_pr { + Thpragma tag; + list Xgprag_type_pr1; + numId Xgprag_type_pr2; + hpragma Xgprag_type_pr3; +}; + +struct Siinst_pragma_3s { + Thpragma tag; + list Xgprag_inst_pt1; + numId Xgprag_inst_pt2; + hpragma Xgprag_inst_pt3; + list Xgprag_inst_pt4; +}; + +struct Sidata_pragma_4s { + Thpragma tag; + list Xgprag_data_spec; +}; + +extern hpragma mkno_pragma PROTO(()); + +extern hpragma mkidata_pragma PROTO((list, list)); +#ifdef __GNUC__ + +extern __inline__ list *Rgprag_data_constrs(struct Sidata_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != idata_pragma) + fprintf(stderr,"gprag_data_constrs: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_data_constrs); +} +#else /* ! __GNUC__ */ +extern list *Rgprag_data_constrs PROTO((struct Sidata_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_data_constrs(xyzxyz) (*Rgprag_data_constrs((struct Sidata_pragma *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ list *Rgprag_data_specs(struct Sidata_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != idata_pragma) + fprintf(stderr,"gprag_data_specs: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_data_specs); +} +#else /* ! __GNUC__ */ +extern list *Rgprag_data_specs PROTO((struct Sidata_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_data_specs(xyzxyz) (*Rgprag_data_specs((struct Sidata_pragma *) (xyzxyz))) + +extern hpragma mkitype_pragma PROTO(()); + +extern hpragma mkiclas_pragma PROTO((list)); +#ifdef __GNUC__ + +extern __inline__ list *Rgprag_clas(struct Siclas_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iclas_pragma) + fprintf(stderr,"gprag_clas: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_clas); +} +#else /* ! __GNUC__ */ +extern list *Rgprag_clas PROTO((struct Siclas_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_clas(xyzxyz) (*Rgprag_clas((struct Siclas_pragma *) (xyzxyz))) + +extern hpragma mkiclasop_pragma PROTO((hpragma, hpragma)); +#ifdef __GNUC__ + +extern __inline__ hpragma *Rgprag_dsel(struct Siclasop_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iclasop_pragma) + fprintf(stderr,"gprag_dsel: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_dsel); +} +#else /* ! __GNUC__ */ +extern hpragma *Rgprag_dsel PROTO((struct Siclasop_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_dsel(xyzxyz) (*Rgprag_dsel((struct Siclasop_pragma *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ hpragma *Rgprag_defm(struct Siclasop_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iclasop_pragma) + fprintf(stderr,"gprag_defm: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_defm); +} +#else /* ! __GNUC__ */ +extern hpragma *Rgprag_defm PROTO((struct Siclasop_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_defm(xyzxyz) (*Rgprag_defm((struct Siclasop_pragma *) (xyzxyz))) + +extern hpragma mkiinst_simpl_pragma PROTO((stringId, hpragma)); +#ifdef __GNUC__ + +extern __inline__ stringId *Rgprag_imod_simpl(struct Siinst_simpl_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iinst_simpl_pragma) + fprintf(stderr,"gprag_imod_simpl: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_imod_simpl); +} +#else /* ! __GNUC__ */ +extern stringId *Rgprag_imod_simpl PROTO((struct Siinst_simpl_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_imod_simpl(xyzxyz) (*Rgprag_imod_simpl((struct Siinst_simpl_pragma *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ hpragma *Rgprag_dfun_simpl(struct Siinst_simpl_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iinst_simpl_pragma) + fprintf(stderr,"gprag_dfun_simpl: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_dfun_simpl); +} +#else /* ! __GNUC__ */ +extern hpragma *Rgprag_dfun_simpl PROTO((struct Siinst_simpl_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_dfun_simpl(xyzxyz) (*Rgprag_dfun_simpl((struct Siinst_simpl_pragma *) (xyzxyz))) + +extern hpragma mkiinst_const_pragma PROTO((stringId, hpragma, list)); +#ifdef __GNUC__ + +extern __inline__ stringId *Rgprag_imod_const(struct Siinst_const_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iinst_const_pragma) + fprintf(stderr,"gprag_imod_const: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_imod_const); +} +#else /* ! __GNUC__ */ +extern stringId *Rgprag_imod_const PROTO((struct Siinst_const_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_imod_const(xyzxyz) (*Rgprag_imod_const((struct Siinst_const_pragma *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ hpragma *Rgprag_dfun_const(struct Siinst_const_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iinst_const_pragma) + fprintf(stderr,"gprag_dfun_const: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_dfun_const); +} +#else /* ! __GNUC__ */ +extern hpragma *Rgprag_dfun_const PROTO((struct Siinst_const_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_dfun_const(xyzxyz) (*Rgprag_dfun_const((struct Siinst_const_pragma *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ list *Rgprag_constms(struct Siinst_const_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iinst_const_pragma) + fprintf(stderr,"gprag_constms: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_constms); +} +#else /* ! __GNUC__ */ +extern list *Rgprag_constms PROTO((struct Siinst_const_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_constms(xyzxyz) (*Rgprag_constms((struct Siinst_const_pragma *) (xyzxyz))) + +extern hpragma mkiinst_spec_pragma PROTO((stringId, hpragma, list)); +#ifdef __GNUC__ + +extern __inline__ stringId *Rgprag_imod_spec(struct Siinst_spec_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iinst_spec_pragma) + fprintf(stderr,"gprag_imod_spec: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_imod_spec); +} +#else /* ! __GNUC__ */ +extern stringId *Rgprag_imod_spec PROTO((struct Siinst_spec_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_imod_spec(xyzxyz) (*Rgprag_imod_spec((struct Siinst_spec_pragma *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ hpragma *Rgprag_dfun_spec(struct Siinst_spec_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iinst_spec_pragma) + fprintf(stderr,"gprag_dfun_spec: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_dfun_spec); +} +#else /* ! __GNUC__ */ +extern hpragma *Rgprag_dfun_spec PROTO((struct Siinst_spec_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_dfun_spec(xyzxyz) (*Rgprag_dfun_spec((struct Siinst_spec_pragma *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ list *Rgprag_inst_specs(struct Siinst_spec_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iinst_spec_pragma) + fprintf(stderr,"gprag_inst_specs: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_inst_specs); +} +#else /* ! __GNUC__ */ +extern list *Rgprag_inst_specs PROTO((struct Siinst_spec_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_inst_specs(xyzxyz) (*Rgprag_inst_specs((struct Siinst_spec_pragma *) (xyzxyz))) + +extern hpragma mkigen_pragma PROTO((hpragma, hpragma, hpragma, hpragma, hpragma, list)); +#ifdef __GNUC__ + +extern __inline__ hpragma *Rgprag_arity(struct Sigen_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != igen_pragma) + fprintf(stderr,"gprag_arity: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_arity); +} +#else /* ! __GNUC__ */ +extern hpragma *Rgprag_arity PROTO((struct Sigen_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_arity(xyzxyz) (*Rgprag_arity((struct Sigen_pragma *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ hpragma *Rgprag_update(struct Sigen_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != igen_pragma) + fprintf(stderr,"gprag_update: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_update); +} +#else /* ! __GNUC__ */ +extern hpragma *Rgprag_update PROTO((struct Sigen_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_update(xyzxyz) (*Rgprag_update((struct Sigen_pragma *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ hpragma *Rgprag_deforest(struct Sigen_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != igen_pragma) + fprintf(stderr,"gprag_deforest: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_deforest); +} +#else /* ! __GNUC__ */ +extern hpragma *Rgprag_deforest PROTO((struct Sigen_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_deforest(xyzxyz) (*Rgprag_deforest((struct Sigen_pragma *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ hpragma *Rgprag_strictness(struct Sigen_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != igen_pragma) + fprintf(stderr,"gprag_strictness: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_strictness); +} +#else /* ! __GNUC__ */ +extern hpragma *Rgprag_strictness PROTO((struct Sigen_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_strictness(xyzxyz) (*Rgprag_strictness((struct Sigen_pragma *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ hpragma *Rgprag_unfolding(struct Sigen_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != igen_pragma) + fprintf(stderr,"gprag_unfolding: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_unfolding); +} +#else /* ! __GNUC__ */ +extern hpragma *Rgprag_unfolding PROTO((struct Sigen_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_unfolding(xyzxyz) (*Rgprag_unfolding((struct Sigen_pragma *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ list *Rgprag_specs(struct Sigen_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != igen_pragma) + fprintf(stderr,"gprag_specs: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_specs); +} +#else /* ! __GNUC__ */ +extern list *Rgprag_specs PROTO((struct Sigen_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_specs(xyzxyz) (*Rgprag_specs((struct Sigen_pragma *) (xyzxyz))) + +extern hpragma mkiarity_pragma PROTO((numId)); +#ifdef __GNUC__ + +extern __inline__ numId *Rgprag_arity_val(struct Siarity_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iarity_pragma) + fprintf(stderr,"gprag_arity_val: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_arity_val); +} +#else /* ! __GNUC__ */ +extern numId *Rgprag_arity_val PROTO((struct Siarity_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_arity_val(xyzxyz) (*Rgprag_arity_val((struct Siarity_pragma *) (xyzxyz))) + +extern hpragma mkiupdate_pragma PROTO((stringId)); +#ifdef __GNUC__ + +extern __inline__ stringId *Rgprag_update_val(struct Siupdate_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iupdate_pragma) + fprintf(stderr,"gprag_update_val: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_update_val); +} +#else /* ! __GNUC__ */ +extern stringId *Rgprag_update_val PROTO((struct Siupdate_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_update_val(xyzxyz) (*Rgprag_update_val((struct Siupdate_pragma *) (xyzxyz))) + +extern hpragma mkideforest_pragma PROTO(()); + +extern hpragma mkistrictness_pragma PROTO((hstring, hpragma)); +#ifdef __GNUC__ + +extern __inline__ hstring *Rgprag_strict_spec(struct Sistrictness_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != istrictness_pragma) + fprintf(stderr,"gprag_strict_spec: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_strict_spec); +} +#else /* ! __GNUC__ */ +extern hstring *Rgprag_strict_spec PROTO((struct Sistrictness_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_strict_spec(xyzxyz) (*Rgprag_strict_spec((struct Sistrictness_pragma *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ hpragma *Rgprag_strict_wrkr(struct Sistrictness_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != istrictness_pragma) + fprintf(stderr,"gprag_strict_wrkr: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_strict_wrkr); +} +#else /* ! __GNUC__ */ +extern hpragma *Rgprag_strict_wrkr PROTO((struct Sistrictness_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_strict_wrkr(xyzxyz) (*Rgprag_strict_wrkr((struct Sistrictness_pragma *) (xyzxyz))) + +extern hpragma mkimagic_unfolding_pragma PROTO((stringId)); +#ifdef __GNUC__ + +extern __inline__ stringId *Rgprag_magic_str(struct Simagic_unfolding_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != imagic_unfolding_pragma) + fprintf(stderr,"gprag_magic_str: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_magic_str); +} +#else /* ! __GNUC__ */ +extern stringId *Rgprag_magic_str PROTO((struct Simagic_unfolding_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_magic_str(xyzxyz) (*Rgprag_magic_str((struct Simagic_unfolding_pragma *) (xyzxyz))) + +extern hpragma mkiunfolding_pragma PROTO((hpragma, coresyn)); +#ifdef __GNUC__ + +extern __inline__ hpragma *Rgprag_unfold_guide(struct Siunfolding_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iunfolding_pragma) + fprintf(stderr,"gprag_unfold_guide: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_unfold_guide); +} +#else /* ! __GNUC__ */ +extern hpragma *Rgprag_unfold_guide PROTO((struct Siunfolding_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_unfold_guide(xyzxyz) (*Rgprag_unfold_guide((struct Siunfolding_pragma *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ coresyn *Rgprag_unfold_core(struct Siunfolding_pragma *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iunfolding_pragma) + fprintf(stderr,"gprag_unfold_core: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_unfold_core); +} +#else /* ! __GNUC__ */ +extern coresyn *Rgprag_unfold_core PROTO((struct Siunfolding_pragma *)); +#endif /* ! __GNUC__ */ + +#define gprag_unfold_core(xyzxyz) (*Rgprag_unfold_core((struct Siunfolding_pragma *) (xyzxyz))) + +extern hpragma mkiunfold_always PROTO(()); + +extern hpragma mkiunfold_if_args PROTO((numId, numId, stringId, numId)); +#ifdef __GNUC__ + +extern __inline__ numId *Rgprag_unfold_if_t_args(struct Siunfold_if_args *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iunfold_if_args) + fprintf(stderr,"gprag_unfold_if_t_args: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_unfold_if_t_args); +} +#else /* ! __GNUC__ */ +extern numId *Rgprag_unfold_if_t_args PROTO((struct Siunfold_if_args *)); +#endif /* ! __GNUC__ */ + +#define gprag_unfold_if_t_args(xyzxyz) (*Rgprag_unfold_if_t_args((struct Siunfold_if_args *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ numId *Rgprag_unfold_if_v_args(struct Siunfold_if_args *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iunfold_if_args) + fprintf(stderr,"gprag_unfold_if_v_args: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_unfold_if_v_args); +} +#else /* ! __GNUC__ */ +extern numId *Rgprag_unfold_if_v_args PROTO((struct Siunfold_if_args *)); +#endif /* ! __GNUC__ */ + +#define gprag_unfold_if_v_args(xyzxyz) (*Rgprag_unfold_if_v_args((struct Siunfold_if_args *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ stringId *Rgprag_unfold_if_con_args(struct Siunfold_if_args *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iunfold_if_args) + fprintf(stderr,"gprag_unfold_if_con_args: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_unfold_if_con_args); +} +#else /* ! __GNUC__ */ +extern stringId *Rgprag_unfold_if_con_args PROTO((struct Siunfold_if_args *)); +#endif /* ! __GNUC__ */ + +#define gprag_unfold_if_con_args(xyzxyz) (*Rgprag_unfold_if_con_args((struct Siunfold_if_args *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ numId *Rgprag_unfold_if_size(struct Siunfold_if_args *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iunfold_if_args) + fprintf(stderr,"gprag_unfold_if_size: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_unfold_if_size); +} +#else /* ! __GNUC__ */ +extern numId *Rgprag_unfold_if_size PROTO((struct Siunfold_if_args *)); +#endif /* ! __GNUC__ */ + +#define gprag_unfold_if_size(xyzxyz) (*Rgprag_unfold_if_size((struct Siunfold_if_args *) (xyzxyz))) + +extern hpragma mkiname_pragma_pr PROTO((unkId, hpragma)); +#ifdef __GNUC__ + +extern __inline__ unkId *Rgprag_name_pr1(struct Siname_pragma_pr *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iname_pragma_pr) + fprintf(stderr,"gprag_name_pr1: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_name_pr1); +} +#else /* ! __GNUC__ */ +extern unkId *Rgprag_name_pr1 PROTO((struct Siname_pragma_pr *)); +#endif /* ! __GNUC__ */ + +#define gprag_name_pr1(xyzxyz) (*Rgprag_name_pr1((struct Siname_pragma_pr *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ hpragma *Rgprag_name_pr2(struct Siname_pragma_pr *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iname_pragma_pr) + fprintf(stderr,"gprag_name_pr2: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_name_pr2); +} +#else /* ! __GNUC__ */ +extern hpragma *Rgprag_name_pr2 PROTO((struct Siname_pragma_pr *)); +#endif /* ! __GNUC__ */ + +#define gprag_name_pr2(xyzxyz) (*Rgprag_name_pr2((struct Siname_pragma_pr *) (xyzxyz))) + +extern hpragma mkitype_pragma_pr PROTO((list, numId, hpragma)); +#ifdef __GNUC__ + +extern __inline__ list *Rgprag_type_pr1(struct Sitype_pragma_pr *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != itype_pragma_pr) + fprintf(stderr,"gprag_type_pr1: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_type_pr1); +} +#else /* ! __GNUC__ */ +extern list *Rgprag_type_pr1 PROTO((struct Sitype_pragma_pr *)); +#endif /* ! __GNUC__ */ + +#define gprag_type_pr1(xyzxyz) (*Rgprag_type_pr1((struct Sitype_pragma_pr *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ numId *Rgprag_type_pr2(struct Sitype_pragma_pr *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != itype_pragma_pr) + fprintf(stderr,"gprag_type_pr2: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_type_pr2); +} +#else /* ! __GNUC__ */ +extern numId *Rgprag_type_pr2 PROTO((struct Sitype_pragma_pr *)); +#endif /* ! __GNUC__ */ + +#define gprag_type_pr2(xyzxyz) (*Rgprag_type_pr2((struct Sitype_pragma_pr *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ hpragma *Rgprag_type_pr3(struct Sitype_pragma_pr *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != itype_pragma_pr) + fprintf(stderr,"gprag_type_pr3: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_type_pr3); +} +#else /* ! __GNUC__ */ +extern hpragma *Rgprag_type_pr3 PROTO((struct Sitype_pragma_pr *)); +#endif /* ! __GNUC__ */ + +#define gprag_type_pr3(xyzxyz) (*Rgprag_type_pr3((struct Sitype_pragma_pr *) (xyzxyz))) + +extern hpragma mkiinst_pragma_3s PROTO((list, numId, hpragma, list)); +#ifdef __GNUC__ + +extern __inline__ list *Rgprag_inst_pt1(struct Siinst_pragma_3s *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iinst_pragma_3s) + fprintf(stderr,"gprag_inst_pt1: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_inst_pt1); +} +#else /* ! __GNUC__ */ +extern list *Rgprag_inst_pt1 PROTO((struct Siinst_pragma_3s *)); +#endif /* ! __GNUC__ */ + +#define gprag_inst_pt1(xyzxyz) (*Rgprag_inst_pt1((struct Siinst_pragma_3s *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ numId *Rgprag_inst_pt2(struct Siinst_pragma_3s *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iinst_pragma_3s) + fprintf(stderr,"gprag_inst_pt2: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_inst_pt2); +} +#else /* ! __GNUC__ */ +extern numId *Rgprag_inst_pt2 PROTO((struct Siinst_pragma_3s *)); +#endif /* ! __GNUC__ */ + +#define gprag_inst_pt2(xyzxyz) (*Rgprag_inst_pt2((struct Siinst_pragma_3s *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ hpragma *Rgprag_inst_pt3(struct Siinst_pragma_3s *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iinst_pragma_3s) + fprintf(stderr,"gprag_inst_pt3: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_inst_pt3); +} +#else /* ! __GNUC__ */ +extern hpragma *Rgprag_inst_pt3 PROTO((struct Siinst_pragma_3s *)); +#endif /* ! __GNUC__ */ + +#define gprag_inst_pt3(xyzxyz) (*Rgprag_inst_pt3((struct Siinst_pragma_3s *) (xyzxyz))) +#ifdef __GNUC__ + +extern __inline__ list *Rgprag_inst_pt4(struct Siinst_pragma_3s *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != iinst_pragma_3s) + fprintf(stderr,"gprag_inst_pt4: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_inst_pt4); +} +#else /* ! __GNUC__ */ +extern list *Rgprag_inst_pt4 PROTO((struct Siinst_pragma_3s *)); +#endif /* ! __GNUC__ */ + +#define gprag_inst_pt4(xyzxyz) (*Rgprag_inst_pt4((struct Siinst_pragma_3s *) (xyzxyz))) + +extern hpragma mkidata_pragma_4s PROTO((list)); +#ifdef __GNUC__ + +extern __inline__ list *Rgprag_data_spec(struct Sidata_pragma_4s *t) +{ +#ifdef UGEN_DEBUG + if(t -> tag != idata_pragma_4s) + fprintf(stderr,"gprag_data_spec: illegal selection; was %d\n", t -> tag); +#endif /* UGEN_DEBUG */ + return(& t -> Xgprag_data_spec); +} +#else /* ! __GNUC__ */ +extern list *Rgprag_data_spec PROTO((struct Sidata_pragma_4s *)); +#endif /* ! __GNUC__ */ + +#define gprag_data_spec(xyzxyz) (*Rgprag_data_spec((struct Sidata_pragma_4s *) (xyzxyz))) + +#endif