/** Copyright (C) 2014 Free Software Foundation, Inc. This generated file meltrunsup.h is part of GCC. [DON'T EDIT THIS GENERATED FILE] GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see . **/ /** from generate_runtypesupport_enum_objmagic **/ enum meltobmag_en /*generated*/ { MELTOBMAG__NONE = 0, MELTOBMAG__FIRST /* first valid object magic */ =20000, /* value descriptor object magic */ /*valdesc #1 VALDESC_BUCKETLONGS*/ MELTOBMAG_BUCKETLONGS /*valmagic*/ =20000, /*valdesc #2 VALDESC_CLOSURE*/ MELTOBMAG_CLOSURE /*valmagic*/ =20001, /*valdesc #3 VALDESC_DECAY*/ MELTOBMAG_DECAY /*valmagic*/ =20002, /*valdesc #4 VALDESC_HOOK*/ MELTOBMAG_HOOK /*valmagic*/ =20003, /*valdesc #5 VALDESC_INT*/ MELTOBMAG_INT /*valmagic*/ =20004, /*valdesc #6 VALDESC_LIST*/ MELTOBMAG_LIST /*valmagic*/ =20005, /*valdesc #7 VALDESC_MAPOBJECTS*/ MELTOBMAG_MAPOBJECTS /*valmagic*/ =20006, /*valdesc #8 VALDESC_MAPSTRINGS*/ MELTOBMAG_MAPSTRINGS /*valmagic*/ =20007, /*valdesc #9 VALDESC_MIXBIGINT*/ MELTOBMAG_MIXBIGINT /*valmagic*/ =20008, /*valdesc #10 VALDESC_MIXINT*/ MELTOBMAG_MIXINT /*valmagic*/ =20009, /*valdesc #11 VALDESC_MIXLOC*/ MELTOBMAG_MIXLOC /*valmagic*/ =20010, /*valdesc #12 VALDESC_MULTIPLE*/ MELTOBMAG_MULTIPLE /*valmagic*/ =20011, /*valdesc #13 VALDESC_OBJECT*/ MELTOBMAG_OBJECT /*valmagic*/ =20012, /*valdesc #14 VALDESC_PAIR*/ MELTOBMAG_PAIR /*valmagic*/ =20013, /*valdesc #15 VALDESC_REAL*/ MELTOBMAG_REAL /*valmagic*/ =20014, /*valdesc #16 VALDESC_ROUTINE*/ MELTOBMAG_ROUTINE /*valmagic*/ =20015, /*valdesc #17 VALDESC_SPECIAL_DATA*/ MELTOBMAG_SPECIAL_DATA /*valmagic*/ =20016, /*valdesc #18 VALDESC_STRBUF*/ MELTOBMAG_STRBUF /*valmagic*/ =20017, /*valdesc #19 VALDESC_STRING*/ MELTOBMAG_STRING /*valmagic*/ =20018, /* ctype gty object magic */ /*gtyctype magic #1 CTYPE_BASIC_BLOCK*/ MELTOBMAG_BASICBLOCK /*boxedmagic*/ =20019, MELTOBMAG_MAPBASICBLOCKS /*mapmagic*/ =20020, /*gtyctype magic #2 CTYPE_BITMAP*/ MELTOBMAG_BITMAP /*boxedmagic*/ =20021, MELTOBMAG_MAPBITMAPS /*mapmagic*/ =20022, /*gtyctype magic #3 CTYPE_EDGE*/ MELTOBMAG_EDGE /*boxedmagic*/ =20023, MELTOBMAG_MAPEDGES /*mapmagic*/ =20024, /*gtyctype magic #4 CTYPE_GIMPLE*/ MELTOBMAG_GIMPLE /*boxedmagic*/ =20025, MELTOBMAG_MAPGIMPLES /*mapmagic*/ =20026, /*gtyctype magic #5 CTYPE_GIMPLE_SEQ*/ MELTOBMAG_GIMPLESEQ /*boxedmagic*/ =20027, MELTOBMAG_MAPGIMPLESEQS /*mapmagic*/ =20028, /*gtyctype magic #6 CTYPE_LOOP*/ MELTOBMAG_LOOP /*boxedmagic*/ =20029, MELTOBMAG_MAPLOOPS /*mapmagic*/ =20030, /*gtyctype magic #7 CTYPE_RTVEC*/ MELTOBMAG_RTVEC /*boxedmagic*/ =20031, MELTOBMAG_MAPRTVECS /*mapmagic*/ =20032, /*gtyctype magic #8 CTYPE_RTX*/ MELTOBMAG_RTX /*boxedmagic*/ =20033, MELTOBMAG_MAPRTXS /*mapmagic*/ =20034, /*gtyctype magic #9 CTYPE_TREE*/ MELTOBMAG_TREE /*boxedmagic*/ =20035, MELTOBMAG_MAPTREES /*mapmagic*/ =20036, MELTOBMAG__LAST }; /* end generated enum meltobmag_en */ #define MELT_COUNT_GENERATED_OBJMAGIC 28 /*** end from generate_runtypesupport_enum_objmagic **/ /** generated by generate_runtypesupport_gty **/ #ifndef meltobject_ptr_t_TYPEDEFINED typedef struct meltobject_st* meltobject_ptr_t ; #define meltobject_ptr_t_TYPEDEFINED #endif /*meltobject_ptr_t_TYPEDEFINED*/ #ifndef melt_ptr_t_TYPEDEFINED typedef union melt_un* melt_ptr_t ; #define melt_ptr_t_TYPEDEFINED #endif /*melt_ptr_t_TYPEDEFINED*/ #ifndef meltroutine_ptr_t_TYPEDEFINED typedef struct meltroutine_st *meltroutine_ptr_t ; #define meltroutine_ptr_t_TYPEDEFINED #endif /*meltroutine_ptr_t_TYPEDEFINED*/ #ifndef meltclosure_ptr_t_TYPEDEFINED typedef struct meltclosure_st *meltclosure_ptr_t ; #define meltclosure_ptr_t_TYPEDEFINED #endif /*meltclosure_ptr_t_TYPEDEFINED*/ #ifndef meltroutfun_t_TYPEDEFINED typedef melt_ptr_t meltroutfun_t (struct meltclosure_st* meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_) ; #define meltroutfun_t_TYPEDEFINED #endif /*meltroutfun_t_TYPEDEFINED*/ /* generated ctype gty structures */ /*gtyctypebox gtyctyp #1 CTYPE_BASIC_BLOCK*/ struct GTY (()) meltbasicblock_st /* when MELTOBMAG_BASICBLOCK*/ { meltobject_ptr_t discr; basic_block val; #ifndef MELT_BOGUS_GENGTYPE_4dot7 /* GCC 4.7 gengtype dislikes operator-s */ operator melt_ptr_t () { return reinterpret_cast(this); } #endif /*MELT_BOGUS_GENGTYPE_4dot7*/ }; /* end of meltbasicblock_st */ struct GTY (()) entrybasicblockmelt_st /* for MELTOBMAG_MAPBASICBLOCKS*/ { basic_block e_at; melt_ptr_t e_va; }; struct GTY (()) meltmapbasicblocks_st /* when MELTOBMAG_MAPBASICBLOCKS*/ { /* keep in sync with meltmappointers_st */ meltobject_ptr_t discr; unsigned count; unsigned char lenix; melt_ptr_t meltmap_aux; struct entrybasicblockmelt_st* GTY ((length ("melt_primtab[%h.lenix]"))) entab; }; /*gtyctypebox gtyctyp #2 CTYPE_BITMAP*/ struct GTY (()) meltbitmap_st /* when MELTOBMAG_BITMAP*/ { meltobject_ptr_t discr; bitmap val; #ifndef MELT_BOGUS_GENGTYPE_4dot7 /* GCC 4.7 gengtype dislikes operator-s */ operator melt_ptr_t () { return reinterpret_cast(this); } #endif /*MELT_BOGUS_GENGTYPE_4dot7*/ }; /* end of meltbitmap_st */ struct GTY (()) entrybitmapmelt_st /* for MELTOBMAG_MAPBITMAPS*/ { bitmap e_at; melt_ptr_t e_va; }; struct GTY (()) meltmapbitmaps_st /* when MELTOBMAG_MAPBITMAPS*/ { /* keep in sync with meltmappointers_st */ meltobject_ptr_t discr; unsigned count; unsigned char lenix; melt_ptr_t meltmap_aux; struct entrybitmapmelt_st* GTY ((length ("melt_primtab[%h.lenix]"))) entab; }; /*gtyctypebox gtyctyp #3 CTYPE_EDGE*/ struct GTY (()) meltedge_st /* when MELTOBMAG_EDGE*/ { meltobject_ptr_t discr; edge val; #ifndef MELT_BOGUS_GENGTYPE_4dot7 /* GCC 4.7 gengtype dislikes operator-s */ operator melt_ptr_t () { return reinterpret_cast(this); } #endif /*MELT_BOGUS_GENGTYPE_4dot7*/ }; /* end of meltedge_st */ struct GTY (()) entryedgemelt_st /* for MELTOBMAG_MAPEDGES*/ { edge e_at; melt_ptr_t e_va; }; struct GTY (()) meltmapedges_st /* when MELTOBMAG_MAPEDGES*/ { /* keep in sync with meltmappointers_st */ meltobject_ptr_t discr; unsigned count; unsigned char lenix; melt_ptr_t meltmap_aux; struct entryedgemelt_st* GTY ((length ("melt_primtab[%h.lenix]"))) entab; }; /*gtyctypebox gtyctyp #4 CTYPE_GIMPLE*/ struct GTY (()) meltgimple_st /* when MELTOBMAG_GIMPLE*/ { meltobject_ptr_t discr; gimple val; #ifndef MELT_BOGUS_GENGTYPE_4dot7 /* GCC 4.7 gengtype dislikes operator-s */ operator melt_ptr_t () { return reinterpret_cast(this); } #endif /*MELT_BOGUS_GENGTYPE_4dot7*/ }; /* end of meltgimple_st */ struct GTY (()) entrygimplemelt_st /* for MELTOBMAG_MAPGIMPLES*/ { gimple e_at; melt_ptr_t e_va; }; struct GTY (()) meltmapgimples_st /* when MELTOBMAG_MAPGIMPLES*/ { /* keep in sync with meltmappointers_st */ meltobject_ptr_t discr; unsigned count; unsigned char lenix; melt_ptr_t meltmap_aux; struct entrygimplemelt_st* GTY ((length ("melt_primtab[%h.lenix]"))) entab; }; /*gtyctypebox gtyctyp #5 CTYPE_GIMPLE_SEQ*/ struct GTY (()) meltgimpleseq_st /* when MELTOBMAG_GIMPLESEQ*/ { meltobject_ptr_t discr; gimple_seq val; #ifndef MELT_BOGUS_GENGTYPE_4dot7 /* GCC 4.7 gengtype dislikes operator-s */ operator melt_ptr_t () { return reinterpret_cast(this); } #endif /*MELT_BOGUS_GENGTYPE_4dot7*/ }; /* end of meltgimpleseq_st */ struct GTY (()) entrygimpleseqmelt_st /* for MELTOBMAG_MAPGIMPLESEQS*/ { gimple_seq e_at; melt_ptr_t e_va; }; struct GTY (()) meltmapgimpleseqs_st /* when MELTOBMAG_MAPGIMPLESEQS*/ { /* keep in sync with meltmappointers_st */ meltobject_ptr_t discr; unsigned count; unsigned char lenix; melt_ptr_t meltmap_aux; struct entrygimpleseqmelt_st* GTY ((length ("melt_primtab[%h.lenix]"))) entab; }; /*gtyctypebox gtyctyp #6 CTYPE_LOOP*/ struct GTY (()) meltloop_st /* when MELTOBMAG_LOOP*/ { meltobject_ptr_t discr; loop_p val; #ifndef MELT_BOGUS_GENGTYPE_4dot7 /* GCC 4.7 gengtype dislikes operator-s */ operator melt_ptr_t () { return reinterpret_cast(this); } #endif /*MELT_BOGUS_GENGTYPE_4dot7*/ }; /* end of meltloop_st */ struct GTY (()) entryloopmelt_st /* for MELTOBMAG_MAPLOOPS*/ { loop_p e_at; melt_ptr_t e_va; }; struct GTY (()) meltmaploops_st /* when MELTOBMAG_MAPLOOPS*/ { /* keep in sync with meltmappointers_st */ meltobject_ptr_t discr; unsigned count; unsigned char lenix; melt_ptr_t meltmap_aux; struct entryloopmelt_st* GTY ((length ("melt_primtab[%h.lenix]"))) entab; }; /*gtyctypebox gtyctyp #7 CTYPE_RTVEC*/ struct GTY (()) meltrtvec_st /* when MELTOBMAG_RTVEC*/ { meltobject_ptr_t discr; rtvec val; #ifndef MELT_BOGUS_GENGTYPE_4dot7 /* GCC 4.7 gengtype dislikes operator-s */ operator melt_ptr_t () { return reinterpret_cast(this); } #endif /*MELT_BOGUS_GENGTYPE_4dot7*/ }; /* end of meltrtvec_st */ struct GTY (()) entryrtvecmelt_st /* for MELTOBMAG_MAPRTVECS*/ { rtvec e_at; melt_ptr_t e_va; }; struct GTY (()) meltmaprtvecs_st /* when MELTOBMAG_MAPRTVECS*/ { /* keep in sync with meltmappointers_st */ meltobject_ptr_t discr; unsigned count; unsigned char lenix; melt_ptr_t meltmap_aux; struct entryrtvecmelt_st* GTY ((length ("melt_primtab[%h.lenix]"))) entab; }; /*gtyctypebox gtyctyp #8 CTYPE_RTX*/ struct GTY (()) meltrtx_st /* when MELTOBMAG_RTX*/ { meltobject_ptr_t discr; rtx val; #ifndef MELT_BOGUS_GENGTYPE_4dot7 /* GCC 4.7 gengtype dislikes operator-s */ operator melt_ptr_t () { return reinterpret_cast(this); } #endif /*MELT_BOGUS_GENGTYPE_4dot7*/ }; /* end of meltrtx_st */ struct GTY (()) entryrtxmelt_st /* for MELTOBMAG_MAPRTXS*/ { rtx e_at; melt_ptr_t e_va; }; struct GTY (()) meltmaprtxs_st /* when MELTOBMAG_MAPRTXS*/ { /* keep in sync with meltmappointers_st */ meltobject_ptr_t discr; unsigned count; unsigned char lenix; melt_ptr_t meltmap_aux; struct entryrtxmelt_st* GTY ((length ("melt_primtab[%h.lenix]"))) entab; }; /*gtyctypebox gtyctyp #9 CTYPE_TREE*/ struct GTY (()) melttree_st /* when MELTOBMAG_TREE*/ { meltobject_ptr_t discr; tree val; #ifndef MELT_BOGUS_GENGTYPE_4dot7 /* GCC 4.7 gengtype dislikes operator-s */ operator melt_ptr_t () { return reinterpret_cast(this); } #endif /*MELT_BOGUS_GENGTYPE_4dot7*/ }; /* end of melttree_st */ struct GTY (()) entrytreemelt_st /* for MELTOBMAG_MAPTREES*/ { tree e_at; melt_ptr_t e_va; }; struct GTY (()) meltmaptrees_st /* when MELTOBMAG_MAPTREES*/ { /* keep in sync with meltmappointers_st */ meltobject_ptr_t discr; unsigned count; unsigned char lenix; melt_ptr_t meltmap_aux; struct entrytreemelt_st* GTY ((length ("melt_primtab[%h.lenix]"))) entab; }; /* value GTY types */ /*gtyvaldesc #1 VALDESC_BUCKETLONGS*/ struct GTY((variable_size)) meltbucketlongs_st /* when MELTOBMAG_BUCKETLONGS */ { meltobject_ptr_t discr; /* from VALDESC_BUCKETLONGS in warmelt-base.melt */ melt_ptr_t buckl_aux; /* auxiliary data */ unsigned char buckl_lenix; /* index in melt_primtab for allocated length */ int buckl_xnum; /* extra number */ unsigned buckl_ucount; /* used count of bucket entries */ struct melt_bucketlongentry_st GTY ((length("melt_primtab[%h.buckl_lenix]"))) buckl_entab[MELT_FLEXIBLE_DIM]; /* sorted by increasing ebl_at */ }; /* end meltbucketlongs_st */ /* decl. chunk */ /* decl VALDESC_BUCKETLONGS in warmelt-base.melt */ typedef struct meltbucketlongs_st* meltbucketlongs_ptr_t; #ifndef ggc_alloc_meltbucketlongs_st #define ggc_alloc_meltbucketlongs_st(SIZE) ((struct meltbucketlongs_st *)(ggc_internal_alloc_stat (SIZE MEM_STAT_INFO))) #endif /*gtyvaldesc #2 VALDESC_CLOSURE*/ struct GTY((variable_size)) meltclosure_st /* when MELTOBMAG_CLOSURE */ { meltobject_ptr_t discr; /* from VALDESC_CLOSURE in warmelt-base.melt */ meltroutine_ptr_t rout; unsigned nbval; melt_ptr_t GTY ((length ("%h.nbval"))) tabval[MELT_FLEXIBLE_DIM]; }; /* end meltclosure_st */ /* decl. chunk */ /* decl VALDESC_CLOSURE in warmelt-base.melt */ #define MELT_CLOSURE_STRUCT(N) { \ meltobject_ptr_t discr; \ meltroutine_ptr_t rout; \ unsigned nbval; \ melt_ptr_t tabval[N+1]; } /*gtyvaldesc #3 VALDESC_DECAY*/ struct GTY(( mark_hook ("melt_mark_decay"))) meltdecay_st /* when MELTOBMAG_DECAY */ { meltobject_ptr_t discr; /* from VALDESC_DECAY in warmelt-base.melt */ melt_ptr_t val; unsigned remain; /* remaining number of marking */ }; /* end meltdecay_st */ /* no decl. chunk */ /*gtyvaldesc #4 VALDESC_HOOK*/ struct GTY((variable_size)) melthook_st /* when MELTOBMAG_HOOK */ { meltobject_ptr_t discr; /* from VALDESC_HOOK in warmelt-base.melt */ char hookname[MELT_HOOKNAME_LEN]; void* GTY ((skip)) hookad; melt_ptr_t hookdata; unsigned nbval; melt_ptr_t GTY ((length ("%h.nbval"))) tabval[MELT_FLEXIBLE_DIM]; }; /* end melthook_st */ /* decl. chunk */ /* decl VALDESC_HOOK in warmelt-base.melt */ #ifndef melthook_ptr_t_TYPEDEFINED typedef struct melthook_st *melthook_ptr_t; #define melthook_ptr_t_TYPEDEFINED #endif /*melthook_ptr_t_TYPEDEFINED from VALDESC_ROUTINE */ /* unsafely set inside the melthook_st pointed by Hptr the routine function pointer to Hookroot */ #define MELT_HOOK_SET_ROUTCODE(Hptr,Hookrout) do { \ ((struct melthook_st*)(Hptr))->hookad \ = reinterpret_cast (Hookrout); \ } while(0) #define MELT_HOOK_STRUCT(N) { \ meltobject_ptr_t discr; \ char hookname[MELT_HOOKNAME_LEN]; \ void* hookad; \ melt_ptr_t hookdata; \ unsigned nbval; \ melt_ptr_t tabval[N+1]; } /*gtyvaldesc #5 VALDESC_INT*/ struct GTY(()) meltint_st /* when MELTOBMAG_INT */ { meltobject_ptr_t discr; /* from VALDESC_INT in warmelt-base.melt */ long val; }; /* end meltint_st */ /* decl. chunk */ /* decl VALDESC_INT in warmelt-base.melt */ typedef struct meltint_st *meltint_ptr_t; #define melt_unsafe_boxed_int_value(V) (((meltint_ptr_t)(V))->val) static inline long melt_boxed_int_value(melt_ptr_t v) { return (melt_magic_discr(v)==MELTOBMAG_INT)? melt_unsafe_boxed_int_value(v) : 0L; } /*gtyvaldesc #6 VALDESC_LIST*/ struct GTY(()) meltlist_st /* when MELTOBMAG_LIST */ { meltobject_ptr_t discr; /* from VALDESC_LIST in warmelt-base.melt */ struct meltpair_st *first; struct meltpair_st *last; }; /* end meltlist_st */ /* decl. chunk */ /* decl VALDESC_LIST in warmelt-base.melt */ typedef struct meltlist_st *meltlist_ptr_t; /*gtyvaldesc #7 VALDESC_MAPOBJECTS*/ struct GTY(()) meltmapobjects_st /* when MELTOBMAG_MAPOBJECTS */ { meltobject_ptr_t discr; /* from VALDESC_MAPOBJECTS in warmelt-base.melt */ unsigned count; unsigned char lenix; melt_ptr_t meltmap_aux; struct entryobjectsmelt_st *GTY ((length ("melt_primtab[%h.lenix]"))) entab; /* the following field is usually the value of entab (for objects in the young zone), to allocate the object and its fields at once; hence its GTY-ed length is zero */ struct entryobjectsmelt_st GTY ((length ("0"))) map_space[MELT_FLEXIBLE_DIM]; }; /* end meltmapobjects_st */ /* decl. chunk */ /* decl VALDESC_MAPOBJECTS in warmelt-base.melt */ typedef struct meltmapobjects_st* meltmapobjects_ptr_t; /*gtyvaldesc #8 VALDESC_MAPSTRINGS*/ struct GTY(()) meltmapstrings_st /* when MELTOBMAG_MAPSTRINGS */ { meltobject_ptr_t discr; /* from VALDESC_MAPSTRINGS in warmelt-base.melt */ unsigned count; unsigned char lenix; melt_ptr_t meltmap_aux; struct entrystringsmelt_st *GTY ((length ("melt_primtab[%h.lenix]"))) entab; }; /* end meltmapstrings_st */ /* no decl. chunk */ /*gtyvaldesc #9 VALDESC_MIXBIGINT*/ struct GTY((variable_size)) meltmixbigint_st /* when MELTOBMAG_MIXBIGINT */ { meltobject_ptr_t discr; /* from VALDESC_MIXBIGINT in warmelt-base.melt */ /* an exported array mpz compatible; since we use an exported mpz format, the value can be copied and trashed by MELT garbage collector without harm. */ melt_ptr_t ptrval; bool negative; unsigned biglen; /* no GTY on tabig, it is a array of non-pointer data */ long tabig[MELT_FLEXIBLE_DIM]; }; /* end meltmixbigint_st */ /* no decl. chunk */ /*gtyvaldesc #10 VALDESC_MIXINT*/ struct GTY(()) meltmixint_st /* when MELTOBMAG_MIXINT */ { meltobject_ptr_t discr; /* from VALDESC_MIXINT in warmelt-base.melt */ melt_ptr_t ptrval; long intval; }; /* end meltmixint_st */ /* no decl. chunk */ /*gtyvaldesc #11 VALDESC_MIXLOC*/ struct GTY(()) meltmixloc_st /* when MELTOBMAG_MIXLOC */ { meltobject_ptr_t discr; /* from VALDESC_MIXLOC in warmelt-base.melt.melt */ melt_ptr_t ptrval; long intval; location_t locval; }; /* end meltmixloc_st */ /* no decl. chunk */ /*gtyvaldesc #12 VALDESC_MULTIPLE*/ struct GTY((variable_size)) meltmultiple_st /* when MELTOBMAG_MULTIPLE */ { meltobject_ptr_t discr; /* from VALDESC_MULTIPLE in warmelt-base.melt */ unsigned nbval; melt_ptr_t GTY ((length ("%h.nbval"))) tabval[MELT_FLEXIBLE_DIM]; }; /* end meltmultiple_st */ /* decl. chunk */ /* decl VALDESC_MULTIPLE in warmelt-base.melt */ #define MELT_MULTIPLE_STRUCT(N) { \ meltobject_ptr_t discr; \ unsigned nbval; \ melt_ptr_t tabval[N+1]; } typedef struct meltmultiple_st* meltmultiple_ptr_t; /*gtyvaldesc #13 VALDESC_OBJECT*/ struct GTY((variable_size)) meltobject_st /* when MELTOBMAG_OBJECT */ { meltobject_ptr_t discr; /* from VALDESC_OBJECT in warmelt-base.melt */ unsigned obj_hash; /* hash code of the object */ unsigned short obj_num; unsigned short obj_len; melt_ptr_t GTY ((length ("%h.obj_len"))) obj_vartab[MELT_FLEXIBLE_DIM]; }; /* end meltobject_st */ /* decl. chunk */ /* decl VALDESC_OBJECT */ #define meltobj_class discr #define meltobj_magic obj_num #define MELT_OBJECT_STRUCT(N) { \ meltobject_ptr_t meltobj_class; \ unsigned obj_hash; \ unsigned short obj_num; \ unsigned short obj_len; \ melt_ptr_t* obj_vartab[N]; \ long _gap; } /*gtyvaldesc #14 VALDESC_PAIR*/ struct GTY(( chain_next ("%h.tl"))) meltpair_st /* when MELTOBMAG_PAIR */ { meltobject_ptr_t discr; /* from VALDESC_PAIR in warmelt-base.melt */ melt_ptr_t hd; struct meltpair_st *tl; }; /* end meltpair_st */ /* decl. chunk */ /* decl VALDESC_PAIR in warmelt-base.melt */ typedef struct meltpair_st *meltpair_ptr_t; /*gtyvaldesc #15 VALDESC_REAL*/ struct GTY(()) meltreal_st /* when MELTOBMAG_REAL */ { meltobject_ptr_t discr; /* from VALDESC_REAL in warmelt-base.melt */ REAL_VALUE_TYPE val; }; /* end meltreal_st */ /* no decl. chunk */ /*gtyvaldesc #16 VALDESC_ROUTINE*/ struct GTY((variable_size)) meltroutine_st /* when MELTOBMAG_ROUTINE */ { meltobject_ptr_t discr; /* from VALDESC_ROUTINE in warmelt-base.melt */ char routdescr[MELT_ROUTDESCR_LEN]; meltroutfun_t* GTY ((skip)) routfunad; melt_ptr_t routdata; unsigned nbval; melt_ptr_t GTY ((length ("%h.nbval"))) tabval[MELT_FLEXIBLE_DIM]; }; /* end meltroutine_st */ /* decl. chunk */ /* decl VALDESC_ROUTINE */ #ifndef meltroutine_ptr_t_TYPEDEFINED typedef struct meltroutine_st *meltroutine_ptr_t; #define meltroutine_ptr_t_TYPEDEFINED #endif /*meltroutine_ptr_t_TYPEDEFINED from VALDESC_ROUTINE */ /* unsafely set inside the meltroutine_st pointed by Rptr the routine function pointer to Rout */ #define MELT_ROUTINE_SET_ROUTCODE(Rptr,Rout) do { \ ((struct meltroutine_st*)(Rptr))->routfunad \ = reinterpret_cast (Rout); \ } while(0) #define MELT_ROUTINE_STRUCT(N) { \ meltobject_ptr_t discr; \ char routdescr[MELT_ROUTDESCR_LEN]; \ meltroutfun_t* routfunad; \ melt_ptr_t routdata; \ unsigned nbval; \ melt_ptr_t tabval[N+1]; } /*gtyvaldesc #17 VALDESC_SPECIAL_DATA*/ struct GTY(( mark_hook ("melt_mark_specialdata"))) meltspecialdata_st /* when MELTOBMAG_SPECIAL_DATA */ { meltobject_ptr_t discr; /* from VALDESC_SPECIAL_DATA in warmelt-base.melt */ int meltspec_mark; unsigned meltspec_kind; struct meltspecialdata_st *GTY ((skip)) meltspec_next; melt_ptr_t meltspec_value; struct meltspecialpayload_st GTY ((skip)) meltspec_payload; }; /* end meltspecialdata_st */ /* no decl. chunk */ /*gtyvaldesc #18 VALDESC_STRBUF*/ struct GTY(()) meltstrbuf_st /* when MELTOBMAG_STRBUF */ { meltobject_ptr_t discr; /* from VALDESC_STRBUF in warmelt-base.melt */ /* no GTY on bufzn, it a scalar data */ char * bufzn; unsigned char buflenix; /* allocated length index of buffer */ unsigned bufstart; unsigned bufend; /* start & end useful positions */ /* the following field is usually the value of buf (for objects in the young zone), to allocate the object and its fields at once; no GTY length on buf_space, since it is a non pointer data. */ char buf_space[MELT_FLEXIBLE_DIM]; }; /* end meltstrbuf_st */ /* no decl. chunk */ /*gtyvaldesc #19 VALDESC_STRING*/ struct GTY((variable_size)) meltstring_st /* when MELTOBMAG_STRING */ { meltobject_ptr_t discr; /* from VALDESC_STRING in warmelt-base.melt */ unsigned slen; char val[MELT_FLEXIBLE_DIM]; /* null terminated */ }; /* end meltstring_st */ /* decl. chunk */ /* decl VALDESC_STRING from warmelt-base.melt */ #define MELT_STRING_STRUCT(N) { \ meltobject_ptr_t discr; \ unsigned slen; \ char val[(N)+1]; /* null terminated */ \ long _gap; } /* our generated MELT union for everything */ typedef union GTY ((desc ("%0.u_discr->meltobj_magic"))) melt_un { /*generated melt_un*/ meltobject_ptr_t GTY ((skip)) u_discr; struct meltforward_st GTY ((skip)) u_forward; /*union gtyctype #1 CTYPE_BASIC_BLOCK*/ struct meltbasicblock_st GTY ((tag("MELTOBMAG_BASICBLOCK"))) u_basicblock; /* generated boxed union member */ struct meltmapbasicblocks_st GTY ((tag("MELTOBMAG_MAPBASICBLOCKS"))) u_mapbasicblocks; /* generated map union member */ /*union gtyctype #2 CTYPE_BITMAP*/ struct meltbitmap_st GTY ((tag("MELTOBMAG_BITMAP"))) u_bitmap; /* generated boxed union member */ struct meltmapbitmaps_st GTY ((tag("MELTOBMAG_MAPBITMAPS"))) u_mapbitmaps; /* generated map union member */ /*union gtyctype #3 CTYPE_EDGE*/ struct meltedge_st GTY ((tag("MELTOBMAG_EDGE"))) u_edge; /* generated boxed union member */ struct meltmapedges_st GTY ((tag("MELTOBMAG_MAPEDGES"))) u_mapedges; /* generated map union member */ /*union gtyctype #4 CTYPE_GIMPLE*/ struct meltgimple_st GTY ((tag("MELTOBMAG_GIMPLE"))) u_gimple; /* generated boxed union member */ struct meltmapgimples_st GTY ((tag("MELTOBMAG_MAPGIMPLES"))) u_mapgimples; /* generated map union member */ /*union gtyctype #5 CTYPE_GIMPLE_SEQ*/ struct meltgimpleseq_st GTY ((tag("MELTOBMAG_GIMPLESEQ"))) u_gimpleseq; /* generated boxed union member */ struct meltmapgimpleseqs_st GTY ((tag("MELTOBMAG_MAPGIMPLESEQS"))) u_mapgimpleseqs; /* generated map union member */ /*union gtyctype #6 CTYPE_LOOP*/ struct meltloop_st GTY ((tag("MELTOBMAG_LOOP"))) u_loop; /* generated boxed union member */ struct meltmaploops_st GTY ((tag("MELTOBMAG_MAPLOOPS"))) u_maploops; /* generated map union member */ /*union gtyctype #7 CTYPE_RTVEC*/ struct meltrtvec_st GTY ((tag("MELTOBMAG_RTVEC"))) u_rtvec; /* generated boxed union member */ struct meltmaprtvecs_st GTY ((tag("MELTOBMAG_MAPRTVECS"))) u_maprtvecs; /* generated map union member */ /*union gtyctype #8 CTYPE_RTX*/ struct meltrtx_st GTY ((tag("MELTOBMAG_RTX"))) u_rtx; /* generated boxed union member */ struct meltmaprtxs_st GTY ((tag("MELTOBMAG_MAPRTXS"))) u_maprtxs; /* generated map union member */ /*union gtyctype #9 CTYPE_TREE*/ struct melttree_st GTY ((tag("MELTOBMAG_TREE"))) u_tree; /* generated boxed union member */ struct meltmaptrees_st GTY ((tag("MELTOBMAG_MAPTREES"))) u_maptrees; /* generated map union member */ /*union.valdesc #1 VALDESC_BUCKETLONGS*/ struct meltbucketlongs_st GTY ((tag("MELTOBMAG_BUCKETLONGS"))) u_bucketlongs; /* generated value union member */ /*union.valdesc #2 VALDESC_CLOSURE*/ struct meltclosure_st GTY ((tag("MELTOBMAG_CLOSURE"))) u_closure; /* generated value union member */ /*union.valdesc #3 VALDESC_DECAY*/ struct meltdecay_st GTY ((tag("MELTOBMAG_DECAY"))) u_decay; /* generated value union member */ /*union.valdesc #4 VALDESC_HOOK*/ struct melthook_st GTY ((tag("MELTOBMAG_HOOK"))) u_hook; /* generated value union member */ /*union.valdesc #5 VALDESC_INT*/ struct meltint_st GTY ((tag("MELTOBMAG_INT"))) u_int; /* generated value union member */ /*union.valdesc #6 VALDESC_LIST*/ struct meltlist_st GTY ((tag("MELTOBMAG_LIST"))) u_list; /* generated value union member */ /*union.valdesc #7 VALDESC_MAPOBJECTS*/ struct meltmapobjects_st GTY ((tag("MELTOBMAG_MAPOBJECTS"))) u_mapobjects; /* generated value union member */ /*union.valdesc #8 VALDESC_MAPSTRINGS*/ struct meltmapstrings_st GTY ((tag("MELTOBMAG_MAPSTRINGS"))) u_mapstrings; /* generated value union member */ /*union.valdesc #9 VALDESC_MIXBIGINT*/ struct meltmixbigint_st GTY ((tag("MELTOBMAG_MIXBIGINT"))) u_mixbigint; /* generated value union member */ /*union.valdesc #10 VALDESC_MIXINT*/ struct meltmixint_st GTY ((tag("MELTOBMAG_MIXINT"))) u_mixint; /* generated value union member */ /*union.valdesc #11 VALDESC_MIXLOC*/ struct meltmixloc_st GTY ((tag("MELTOBMAG_MIXLOC"))) u_mixloc; /* generated value union member */ /*union.valdesc #12 VALDESC_MULTIPLE*/ struct meltmultiple_st GTY ((tag("MELTOBMAG_MULTIPLE"))) u_multiple; /* generated value union member */ /*union.valdesc #13 VALDESC_OBJECT*/ struct meltobject_st GTY ((tag("MELTOBMAG_OBJECT"))) u_object; /* generated value union member */ /*union.valdesc #14 VALDESC_PAIR*/ struct meltpair_st GTY ((tag("MELTOBMAG_PAIR"))) u_pair; /* generated value union member */ /*union.valdesc #15 VALDESC_REAL*/ struct meltreal_st GTY ((tag("MELTOBMAG_REAL"))) u_real; /* generated value union member */ /*union.valdesc #16 VALDESC_ROUTINE*/ struct meltroutine_st GTY ((tag("MELTOBMAG_ROUTINE"))) u_routine; /* generated value union member */ /*union.valdesc #17 VALDESC_SPECIAL_DATA*/ struct meltspecialdata_st GTY ((tag("MELTOBMAG_SPECIAL_DATA"))) u_special_data; /* generated value union member */ /*union.valdesc #18 VALDESC_STRBUF*/ struct meltstrbuf_st GTY ((tag("MELTOBMAG_STRBUF"))) u_strbuf; /* generated value union member */ /*union.valdesc #19 VALDESC_STRING*/ struct meltstring_st GTY ((tag("MELTOBMAG_STRING"))) u_string; /* generated value union member */ } melt_un_t /*end generated melt_un*/; /* cast.valdesc #1 meltbucketlongs_st*/ static inline struct meltbucketlongs_st* meltcast_meltbucketlongs_st(melt_ptr_t p) { if (p && melt_magic_discr(p) == MELTOBMAG_BUCKETLONGS) return (struct meltbucketlongs_st*) p; return NULL; } /* end meltcast_meltbucketlongs_st*/ /* cast.valdesc #2 meltclosure_st*/ static inline struct meltclosure_st* meltcast_meltclosure_st(melt_ptr_t p) { if (p && melt_magic_discr(p) == MELTOBMAG_CLOSURE) return (struct meltclosure_st*) p; return NULL; } /* end meltcast_meltclosure_st*/ /* cast.valdesc #3 meltdecay_st*/ static inline struct meltdecay_st* meltcast_meltdecay_st(melt_ptr_t p) { if (p && melt_magic_discr(p) == MELTOBMAG_DECAY) return (struct meltdecay_st*) p; return NULL; } /* end meltcast_meltdecay_st*/ /* cast.valdesc #4 melthook_st*/ static inline struct melthook_st* meltcast_melthook_st(melt_ptr_t p) { if (p && melt_magic_discr(p) == MELTOBMAG_HOOK) return (struct melthook_st*) p; return NULL; } /* end meltcast_melthook_st*/ /* cast.valdesc #5 meltint_st*/ static inline struct meltint_st* meltcast_meltint_st(melt_ptr_t p) { if (p && melt_magic_discr(p) == MELTOBMAG_INT) return (struct meltint_st*) p; return NULL; } /* end meltcast_meltint_st*/ /* cast.valdesc #6 meltlist_st*/ static inline struct meltlist_st* meltcast_meltlist_st(melt_ptr_t p) { if (p && melt_magic_discr(p) == MELTOBMAG_LIST) return (struct meltlist_st*) p; return NULL; } /* end meltcast_meltlist_st*/ /* cast.valdesc #7 meltmapobjects_st*/ static inline struct meltmapobjects_st* meltcast_meltmapobjects_st(melt_ptr_t p) { if (p && melt_magic_discr(p) == MELTOBMAG_MAPOBJECTS) return (struct meltmapobjects_st*) p; return NULL; } /* end meltcast_meltmapobjects_st*/ /* cast.valdesc #8 meltmapstrings_st*/ static inline struct meltmapstrings_st* meltcast_meltmapstrings_st(melt_ptr_t p) { if (p && melt_magic_discr(p) == MELTOBMAG_MAPSTRINGS) return (struct meltmapstrings_st*) p; return NULL; } /* end meltcast_meltmapstrings_st*/ /* cast.valdesc #9 meltmixbigint_st*/ static inline struct meltmixbigint_st* meltcast_meltmixbigint_st(melt_ptr_t p) { if (p && melt_magic_discr(p) == MELTOBMAG_MIXBIGINT) return (struct meltmixbigint_st*) p; return NULL; } /* end meltcast_meltmixbigint_st*/ /* cast.valdesc #10 meltmixint_st*/ static inline struct meltmixint_st* meltcast_meltmixint_st(melt_ptr_t p) { if (p && melt_magic_discr(p) == MELTOBMAG_MIXINT) return (struct meltmixint_st*) p; return NULL; } /* end meltcast_meltmixint_st*/ /* cast.valdesc #11 meltmixloc_st*/ static inline struct meltmixloc_st* meltcast_meltmixloc_st(melt_ptr_t p) { if (p && melt_magic_discr(p) == MELTOBMAG_MIXLOC) return (struct meltmixloc_st*) p; return NULL; } /* end meltcast_meltmixloc_st*/ /* cast.valdesc #12 meltmultiple_st*/ static inline struct meltmultiple_st* meltcast_meltmultiple_st(melt_ptr_t p) { if (p && melt_magic_discr(p) == MELTOBMAG_MULTIPLE) return (struct meltmultiple_st*) p; return NULL; } /* end meltcast_meltmultiple_st*/ /* cast.valdesc #13 meltobject_st*/ static inline struct meltobject_st* meltcast_meltobject_st(melt_ptr_t p) { if (p && melt_magic_discr(p) == MELTOBMAG_OBJECT) return (struct meltobject_st*) p; return NULL; } /* end meltcast_meltobject_st*/ /* cast.valdesc #14 meltpair_st*/ static inline struct meltpair_st* meltcast_meltpair_st(melt_ptr_t p) { if (p && melt_magic_discr(p) == MELTOBMAG_PAIR) return (struct meltpair_st*) p; return NULL; } /* end meltcast_meltpair_st*/ /* cast.valdesc #15 meltreal_st*/ static inline struct meltreal_st* meltcast_meltreal_st(melt_ptr_t p) { if (p && melt_magic_discr(p) == MELTOBMAG_REAL) return (struct meltreal_st*) p; return NULL; } /* end meltcast_meltreal_st*/ /* cast.valdesc #16 meltroutine_st*/ static inline struct meltroutine_st* meltcast_meltroutine_st(melt_ptr_t p) { if (p && melt_magic_discr(p) == MELTOBMAG_ROUTINE) return (struct meltroutine_st*) p; return NULL; } /* end meltcast_meltroutine_st*/ /* cast.valdesc #17 meltspecialdata_st*/ static inline struct meltspecialdata_st* meltcast_meltspecialdata_st(melt_ptr_t p) { if (p && melt_magic_discr(p) == MELTOBMAG_SPECIAL_DATA) return (struct meltspecialdata_st*) p; return NULL; } /* end meltcast_meltspecialdata_st*/ /* cast.valdesc #18 meltstrbuf_st*/ static inline struct meltstrbuf_st* meltcast_meltstrbuf_st(melt_ptr_t p) { if (p && melt_magic_discr(p) == MELTOBMAG_STRBUF) return (struct meltstrbuf_st*) p; return NULL; } /* end meltcast_meltstrbuf_st*/ /* cast.valdesc #19 meltstring_st*/ static inline struct meltstring_st* meltcast_meltstring_st(melt_ptr_t p) { if (p && melt_magic_discr(p) == MELTOBMAG_STRING) return (struct meltstring_st*) p; return NULL; } /* end meltcast_meltstring_st*/ /** end generated by generate_runtypesupport_gty **/ /** start of code generated by generate_runtypesupport_param **/ /* support for MELT parameter passing*/ enum /* generated enumeration for MELT parameters */ { MELTBPAR__NONE=0, /*gtyctype #1 CTYPE_BASIC_BLOCK*/ MELTBPAR_BB /*=1*/, #define MELTBPARSTR_BB "\x1" /*gtyctype #2 CTYPE_BITMAP*/ MELTBPAR_BITMAP /*=2*/, #define MELTBPARSTR_BITMAP "\x2" /*gtyctype #3 CTYPE_CSTRING*/ MELTBPAR_CSTRING /*=3*/, #define MELTBPARSTR_CSTRING "\x3" /*gtyctype #4 CTYPE_EDGE*/ MELTBPAR_EDGE /*=4*/, #define MELTBPARSTR_EDGE "\x4" /*gtyctype #5 CTYPE_GIMPLE*/ MELTBPAR_GIMPLE /*=5*/, #define MELTBPARSTR_GIMPLE "\x5" /*gtyctype #6 CTYPE_GIMPLE_SEQ*/ MELTBPAR_GIMPLESEQ /*=6*/, #define MELTBPARSTR_GIMPLESEQ "\x6" /*gtyctype #7 CTYPE_LONG*/ MELTBPAR_LONG /*=7*/, #define MELTBPARSTR_LONG "\x7" /*gtyctype #8 CTYPE_LOOP*/ MELTBPAR_LOOP /*=8*/, #define MELTBPARSTR_LOOP "\x8" /*gtyctype #9 CTYPE_RTVEC*/ MELTBPAR_RTVEC /*=9*/, #define MELTBPARSTR_RTVEC "\x9" /*gtyctype #10 CTYPE_RTX*/ MELTBPAR_RTX /*=10*/, #define MELTBPARSTR_RTX "\xa" /*gtyctype #11 CTYPE_TREE*/ MELTBPAR_TREE /*=11*/, #define MELTBPARSTR_TREE "\xb" /*gtyctype #12 CTYPE_VALUE*/ MELTBPAR_PTR /*=12*/, #define MELTBPARSTR_PTR "\xc" /*gtyctype #13 CTYPE_VOID*/ /*-- non parameter --*/ /*-- non paramstr --*/ MELTBPAR__LAST }; /*end enum for MELT parameters*/ union meltparam_un /* generated union for MELT parameters */ { void* meltbp_any; /*ctype #1 CTYPE_BASIC_BLOCK*/ basic_block meltbp_bb; /*argument param.*/ basic_block *meltbp_bbptr; /*result param.*/ /*ctype #2 CTYPE_BITMAP*/ bitmap meltbp_bitmap; /*argument param.*/ bitmap *meltbp_bitmapptr; /*result param.*/ /*ctype #3 CTYPE_CSTRING*/ const char* meltbp_cstring; /*argument param.*/ /*no result*/ /*ctype #4 CTYPE_EDGE*/ edge meltbp_edge; /*argument param.*/ edge *meltbp_edgeptr; /*result param.*/ /*ctype #5 CTYPE_GIMPLE*/ gimple meltbp_gimple; /*argument param.*/ gimple *meltbp_gimpleptr; /*result param.*/ /*ctype #6 CTYPE_GIMPLE_SEQ*/ gimple_seq meltbp_gimpleseq; /*argument param.*/ gimple_seq *meltbp_gimpleseqptr; /*result param.*/ /*ctype #7 CTYPE_LONG*/ long meltbp_long; /*argument param.*/ long *meltbp_longptr; /*result param.*/ /*ctype #8 CTYPE_LOOP*/ loop_p meltbp_loop; /*argument param.*/ loop_p *meltbp_loopptr; /*result param.*/ /*ctype #9 CTYPE_RTVEC*/ rtvec meltbp_rtvec; /*argument param.*/ rtvec *meltbp_rtvecptr; /*result param.*/ /*ctype #10 CTYPE_RTX*/ rtx meltbp_rtx; /*argument param.*/ rtx *meltbp_rtxptr; /*result param.*/ /*ctype #11 CTYPE_TREE*/ tree meltbp_tree; /*argument param.*/ tree *meltbp_treeptr; /*result param.*/ /*ctype #12 CTYPE_VALUE*/ melt_ptr_t meltbp_vptr; /*argument param.*/ melt_ptr_t *meltbp_aptr; /*result param.*/ /*ctype #13 CTYPE_VOID*/ /* no argument */ /*no result*/ }; /* end generated union for MELT parameters */ /** end of code generated by generate_runtypesupport_param **/ melt_ptr_t melt_code_to_ctype (int); /** declaration generated by generate_runtypesupport_mag2str **/ const char* melt_obmag_string (int i); #define MELT_OBMAG_STRING_generated /** start of declarations generated by generate_runtypesupport_boxingfun **/ /*runtypesupport gtyctype #1 CTYPE_BASIC_BLOCK*/ melt_ptr_t meltgc_new_basicblock(meltobject_ptr_t discr, basic_block val); void meltgc_basicblock_updatebox(melt_ptr_t boxp, basic_block val); static inline basic_block melt_basicblock_content(melt_ptr_t box_p) { if (melt_magic_discr(box_p) == MELTOBMAG_BASICBLOCK) return ((struct meltbasicblock_st*)box_p)->val; return (basic_block)0; } /* end generated melt_basicblock_content */ /*runtypesupport gtyctype #2 CTYPE_BITMAP*/ melt_ptr_t meltgc_new_bitmap(meltobject_ptr_t discr, bitmap val); void meltgc_bitmap_updatebox(melt_ptr_t boxp, bitmap val); static inline bitmap melt_bitmap_content(melt_ptr_t box_p) { if (melt_magic_discr(box_p) == MELTOBMAG_BITMAP) return ((struct meltbitmap_st*)box_p)->val; return (bitmap)0; } /* end generated melt_bitmap_content */ /*runtypesupport gtyctype #3 CTYPE_EDGE*/ melt_ptr_t meltgc_new_edge(meltobject_ptr_t discr, edge val); void meltgc_edge_updatebox(melt_ptr_t boxp, edge val); static inline edge melt_edge_content(melt_ptr_t box_p) { if (melt_magic_discr(box_p) == MELTOBMAG_EDGE) return ((struct meltedge_st*)box_p)->val; return (edge)0; } /* end generated melt_edge_content */ /*runtypesupport gtyctype #4 CTYPE_GIMPLE*/ melt_ptr_t meltgc_new_gimple(meltobject_ptr_t discr, gimple val); void meltgc_gimple_updatebox(melt_ptr_t boxp, gimple val); static inline gimple melt_gimple_content(melt_ptr_t box_p) { if (melt_magic_discr(box_p) == MELTOBMAG_GIMPLE) return ((struct meltgimple_st*)box_p)->val; return (gimple)0; } /* end generated melt_gimple_content */ /*runtypesupport gtyctype #5 CTYPE_GIMPLE_SEQ*/ melt_ptr_t meltgc_new_gimpleseq(meltobject_ptr_t discr, gimple_seq val); void meltgc_gimpleseq_updatebox(melt_ptr_t boxp, gimple_seq val); static inline gimple_seq melt_gimpleseq_content(melt_ptr_t box_p) { if (melt_magic_discr(box_p) == MELTOBMAG_GIMPLESEQ) return ((struct meltgimpleseq_st*)box_p)->val; return (gimple_seq)0; } /* end generated melt_gimpleseq_content */ /*runtypesupport gtyctype #6 CTYPE_LOOP*/ melt_ptr_t meltgc_new_loop(meltobject_ptr_t discr, loop_p val); void melt_loop_updatebox(melt_ptr_t boxp, loop_p val); static inline loop_p melt_loop_content(melt_ptr_t box_p) { if (melt_magic_discr(box_p) == MELTOBMAG_LOOP) return ((struct meltloop_st*)box_p)->val; return (loop_p)0; } /* end generated melt_loop_content */ /*runtypesupport gtyctype #7 CTYPE_RTVEC*/ melt_ptr_t meltgc_new_rtvec(meltobject_ptr_t discr, rtvec val); void meltgc_rtvec_updatebox(melt_ptr_t boxp, rtvec val); static inline rtvec melt_rtvec_content(melt_ptr_t box_p) { if (melt_magic_discr(box_p) == MELTOBMAG_RTVEC) return ((struct meltrtvec_st*)box_p)->val; return (rtvec)0; } /* end generated melt_rtvec_content */ /*runtypesupport gtyctype #8 CTYPE_RTX*/ melt_ptr_t meltgc_new_rtx(meltobject_ptr_t discr, rtx val); void meltgc_rtx_updatebox(melt_ptr_t boxp, rtx val); static inline rtx melt_rtx_content(melt_ptr_t box_p) { if (melt_magic_discr(box_p) == MELTOBMAG_RTX) return ((struct meltrtx_st*)box_p)->val; return (rtx)0; } /* end generated melt_rtx_content */ /*runtypesupport gtyctype #9 CTYPE_TREE*/ melt_ptr_t meltgc_new_tree(meltobject_ptr_t discr, tree val); void meltgc_tree_updatebox(melt_ptr_t boxp, tree val); static inline tree melt_tree_content(melt_ptr_t box_p) { if (melt_magic_discr(box_p) == MELTOBMAG_TREE) return ((struct melttree_st*)box_p)->val; return (tree)0; } /* end generated melt_tree_content */ /** end of declarations generated by generate_runtypesupport_boxingfun **/ /** start of code generated by generate_runtypesupport_mapfun **/ /*gtyctype #1 CTYPE_BASIC_BLOCK*/ /***map support for GTY ctype CTYPE_BASIC_BLOCK **/ static inline melt_ptr_t /*New map for CTYPE_BASIC_BLOCK*/ meltgc_new_mapbasicblocks (meltobject_ptr_t discr, unsigned len) { /*generated map creation */ if (melt_magic_discr ((melt_ptr_t) discr) != MELTOBMAG_OBJECT) return NULL ; if (discr->meltobj_magic != MELTOBMAG_MAPBASICBLOCKS) /* not map magic */ return NULL ; return (melt_ptr_t) meltgc_raw_new_mappointers (discr, len) ; } /*end generated new map for CTYPE_BASIC_BLOCK */ static inline melt_ptr_t /* Map getter for CTYPE_BASIC_BLOCK*/ melt_get_mapbasicblocks (melt_ptr_t map_p, basic_block attr) { if (!map_p || !attr || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPBASICBLOCKS) return NULL; return melt_raw_get_mappointers ((void*)map_p, (void*)attr); } /*end generated map getter for CTYPE_BASIC_BLOCK*/ static inline void /* Map putter for CTYPE_BASIC_BLOCK*/ melt_put_mapbasicblocks (melt_ptr_t map_p, basic_block attr, melt_ptr_t valu_p) { if (!map_p || !attr || !valu_p || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPBASICBLOCKS) return; meltgc_raw_put_mappointers ((void*)map_p, (void*)attr, valu_p); } /*end generated map putter for CTYPE_BASIC_BLOCK*/ static inline void /* Map remover for CTYPE_BASIC_BLOCK*/ melt_remove_mapbasicblocks (melt_ptr_t map_p, basic_block attr) { if (!map_p || !attr || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPBASICBLOCKS) return; meltgc_raw_remove_mappointers ((void*)map_p, (void*)attr); } /*end generated map remover for CTYPE_BASIC_BLOCK*/ static inline unsigned /* Map counter for CTYPE_BASIC_BLOCK*/ melt_count_mapbasicblocks (struct meltmapbasicblocks_st* map_s) { if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPBASICBLOCKS) return 0; return map_s->count; } /*end generated map counter for CTYPE_BASIC_BLOCK*/ static inline unsigned /* Map size for CTYPE_BASIC_BLOCK*/ melt_size_mapbasicblocks (struct meltmapbasicblocks_st* map_s) { if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPBASICBLOCKS) return 0; return melt_primtab[map_s->lenix]; } /*end generated map size for CTYPE_BASIC_BLOCK*/ static inline basic_block/* Map nth attr for CTYPE_BASIC_BLOCK*/ melt_nthattr_mapbasicblocks (struct meltmapbasicblocks_st* map_s, int ix) { basic_block at = 0; if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPBASICBLOCKS) return 0; at = map_s->entab[ix].e_at; if ((void*) at == (void*) HTAB_DELETED_ENTRY) return 0; return at; } /*end generated map nth attr for CTYPE_BASIC_BLOCK*/ static inline melt_ptr_t /* Map nth value for CTYPE_BASIC_BLOCK*/ melt_nthval_mapbasicblocks (struct meltmapbasicblocks_st* map_s, int ix) { basic_block at = 0; if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPBASICBLOCKS) return 0; at = map_s->entab[ix].e_at; if ((void*) at == (void*) HTAB_DELETED_ENTRY) return 0; return map_s->entab[ix].e_va; } /*end generated map nth value for CTYPE_BASIC_BLOCK*/ /* map auxiliary data access for CTYPE_BASIC_BLOCK */ static inline melt_ptr_t melt_auxdata_mapbasicblocks (melt_ptr_t map_p) { if (melt_magic_discr (map_p) == MELTOBMAG_MAPBASICBLOCKS) return ((struct meltmapbasicblocks_st*)map_p)->meltmap_aux; return NULL; } /* map auxiliary data put for CTYPE_BASIC_BLOCK */ static inline melt_ptr_t melt_auxput_mapbasicblocks (melt_ptr_t map_p, melt_ptr_t val_p) { if (melt_magic_discr (map_p) == MELTOBMAG_MAPBASICBLOCKS) { ((struct meltmapbasicblocks_st*)map_p)->meltmap_aux = val_p; meltgc_touch_dest (map_p, val_p); } return NULL; } /***end of map support for GTY ctype CTYPE_BASIC_BLOCK **/ /*gtyctype #2 CTYPE_BITMAP*/ /***map support for GTY ctype CTYPE_BITMAP **/ static inline melt_ptr_t /*New map for CTYPE_BITMAP*/ meltgc_new_mapbitmaps (meltobject_ptr_t discr, unsigned len) { /*generated map creation */ if (melt_magic_discr ((melt_ptr_t) discr) != MELTOBMAG_OBJECT) return NULL ; if (discr->meltobj_magic != MELTOBMAG_MAPBITMAPS) /* not map magic */ return NULL ; return (melt_ptr_t) meltgc_raw_new_mappointers (discr, len) ; } /*end generated new map for CTYPE_BITMAP */ static inline melt_ptr_t /* Map getter for CTYPE_BITMAP*/ melt_get_mapbitmaps (melt_ptr_t map_p, bitmap attr) { if (!map_p || !attr || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPBITMAPS) return NULL; return melt_raw_get_mappointers ((void*)map_p, (void*)attr); } /*end generated map getter for CTYPE_BITMAP*/ static inline void /* Map putter for CTYPE_BITMAP*/ melt_put_mapbitmaps (melt_ptr_t map_p, bitmap attr, melt_ptr_t valu_p) { if (!map_p || !attr || !valu_p || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPBITMAPS) return; meltgc_raw_put_mappointers ((void*)map_p, (void*)attr, valu_p); } /*end generated map putter for CTYPE_BITMAP*/ static inline void /* Map remover for CTYPE_BITMAP*/ melt_remove_mapbitmaps (melt_ptr_t map_p, bitmap attr) { if (!map_p || !attr || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPBITMAPS) return; meltgc_raw_remove_mappointers ((void*)map_p, (void*)attr); } /*end generated map remover for CTYPE_BITMAP*/ static inline unsigned /* Map counter for CTYPE_BITMAP*/ melt_count_mapbitmaps (struct meltmapbitmaps_st* map_s) { if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPBITMAPS) return 0; return map_s->count; } /*end generated map counter for CTYPE_BITMAP*/ static inline unsigned /* Map size for CTYPE_BITMAP*/ melt_size_mapbitmaps (struct meltmapbitmaps_st* map_s) { if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPBITMAPS) return 0; return melt_primtab[map_s->lenix]; } /*end generated map size for CTYPE_BITMAP*/ static inline bitmap/* Map nth attr for CTYPE_BITMAP*/ melt_nthattr_mapbitmaps (struct meltmapbitmaps_st* map_s, int ix) { bitmap at = 0; if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPBITMAPS) return 0; at = map_s->entab[ix].e_at; if ((void*) at == (void*) HTAB_DELETED_ENTRY) return 0; return at; } /*end generated map nth attr for CTYPE_BITMAP*/ static inline melt_ptr_t /* Map nth value for CTYPE_BITMAP*/ melt_nthval_mapbitmaps (struct meltmapbitmaps_st* map_s, int ix) { bitmap at = 0; if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPBITMAPS) return 0; at = map_s->entab[ix].e_at; if ((void*) at == (void*) HTAB_DELETED_ENTRY) return 0; return map_s->entab[ix].e_va; } /*end generated map nth value for CTYPE_BITMAP*/ /* map auxiliary data access for CTYPE_BITMAP */ static inline melt_ptr_t melt_auxdata_mapbitmaps (melt_ptr_t map_p) { if (melt_magic_discr (map_p) == MELTOBMAG_MAPBITMAPS) return ((struct meltmapbitmaps_st*)map_p)->meltmap_aux; return NULL; } /* map auxiliary data put for CTYPE_BITMAP */ static inline melt_ptr_t melt_auxput_mapbitmaps (melt_ptr_t map_p, melt_ptr_t val_p) { if (melt_magic_discr (map_p) == MELTOBMAG_MAPBITMAPS) { ((struct meltmapbitmaps_st*)map_p)->meltmap_aux = val_p; meltgc_touch_dest (map_p, val_p); } return NULL; } /***end of map support for GTY ctype CTYPE_BITMAP **/ /*gtyctype #3 CTYPE_EDGE*/ /***map support for GTY ctype CTYPE_EDGE **/ static inline melt_ptr_t /*New map for CTYPE_EDGE*/ meltgc_new_mapedges (meltobject_ptr_t discr, unsigned len) { /*generated map creation */ if (melt_magic_discr ((melt_ptr_t) discr) != MELTOBMAG_OBJECT) return NULL ; if (discr->meltobj_magic != MELTOBMAG_MAPEDGES) /* not map magic */ return NULL ; return (melt_ptr_t) meltgc_raw_new_mappointers (discr, len) ; } /*end generated new map for CTYPE_EDGE */ static inline melt_ptr_t /* Map getter for CTYPE_EDGE*/ melt_get_mapedges (melt_ptr_t map_p, edge attr) { if (!map_p || !attr || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPEDGES) return NULL; return melt_raw_get_mappointers ((void*)map_p, (void*)attr); } /*end generated map getter for CTYPE_EDGE*/ static inline void /* Map putter for CTYPE_EDGE*/ melt_put_mapedges (melt_ptr_t map_p, edge attr, melt_ptr_t valu_p) { if (!map_p || !attr || !valu_p || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPEDGES) return; meltgc_raw_put_mappointers ((void*)map_p, (void*)attr, valu_p); } /*end generated map putter for CTYPE_EDGE*/ static inline void /* Map remover for CTYPE_EDGE*/ melt_remove_mapedges (melt_ptr_t map_p, edge attr) { if (!map_p || !attr || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPEDGES) return; meltgc_raw_remove_mappointers ((void*)map_p, (void*)attr); } /*end generated map remover for CTYPE_EDGE*/ static inline unsigned /* Map counter for CTYPE_EDGE*/ melt_count_mapedges (struct meltmapedges_st* map_s) { if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPEDGES) return 0; return map_s->count; } /*end generated map counter for CTYPE_EDGE*/ static inline unsigned /* Map size for CTYPE_EDGE*/ melt_size_mapedges (struct meltmapedges_st* map_s) { if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPEDGES) return 0; return melt_primtab[map_s->lenix]; } /*end generated map size for CTYPE_EDGE*/ static inline edge/* Map nth attr for CTYPE_EDGE*/ melt_nthattr_mapedges (struct meltmapedges_st* map_s, int ix) { edge at = 0; if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPEDGES) return 0; at = map_s->entab[ix].e_at; if ((void*) at == (void*) HTAB_DELETED_ENTRY) return 0; return at; } /*end generated map nth attr for CTYPE_EDGE*/ static inline melt_ptr_t /* Map nth value for CTYPE_EDGE*/ melt_nthval_mapedges (struct meltmapedges_st* map_s, int ix) { edge at = 0; if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPEDGES) return 0; at = map_s->entab[ix].e_at; if ((void*) at == (void*) HTAB_DELETED_ENTRY) return 0; return map_s->entab[ix].e_va; } /*end generated map nth value for CTYPE_EDGE*/ /* map auxiliary data access for CTYPE_EDGE */ static inline melt_ptr_t melt_auxdata_mapedges (melt_ptr_t map_p) { if (melt_magic_discr (map_p) == MELTOBMAG_MAPEDGES) return ((struct meltmapedges_st*)map_p)->meltmap_aux; return NULL; } /* map auxiliary data put for CTYPE_EDGE */ static inline melt_ptr_t melt_auxput_mapedges (melt_ptr_t map_p, melt_ptr_t val_p) { if (melt_magic_discr (map_p) == MELTOBMAG_MAPEDGES) { ((struct meltmapedges_st*)map_p)->meltmap_aux = val_p; meltgc_touch_dest (map_p, val_p); } return NULL; } /***end of map support for GTY ctype CTYPE_EDGE **/ /*gtyctype #4 CTYPE_GIMPLE*/ /***map support for GTY ctype CTYPE_GIMPLE **/ static inline melt_ptr_t /*New map for CTYPE_GIMPLE*/ meltgc_new_mapgimples (meltobject_ptr_t discr, unsigned len) { /*generated map creation */ if (melt_magic_discr ((melt_ptr_t) discr) != MELTOBMAG_OBJECT) return NULL ; if (discr->meltobj_magic != MELTOBMAG_MAPGIMPLES) /* not map magic */ return NULL ; return (melt_ptr_t) meltgc_raw_new_mappointers (discr, len) ; } /*end generated new map for CTYPE_GIMPLE */ static inline melt_ptr_t /* Map getter for CTYPE_GIMPLE*/ melt_get_mapgimples (melt_ptr_t map_p, gimple attr) { if (!map_p || !attr || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPGIMPLES) return NULL; return melt_raw_get_mappointers ((void*)map_p, (void*)attr); } /*end generated map getter for CTYPE_GIMPLE*/ static inline void /* Map putter for CTYPE_GIMPLE*/ melt_put_mapgimples (melt_ptr_t map_p, gimple attr, melt_ptr_t valu_p) { if (!map_p || !attr || !valu_p || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPGIMPLES) return; meltgc_raw_put_mappointers ((void*)map_p, (void*)attr, valu_p); } /*end generated map putter for CTYPE_GIMPLE*/ static inline void /* Map remover for CTYPE_GIMPLE*/ melt_remove_mapgimples (melt_ptr_t map_p, gimple attr) { if (!map_p || !attr || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPGIMPLES) return; meltgc_raw_remove_mappointers ((void*)map_p, (void*)attr); } /*end generated map remover for CTYPE_GIMPLE*/ static inline unsigned /* Map counter for CTYPE_GIMPLE*/ melt_count_mapgimples (struct meltmapgimples_st* map_s) { if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPGIMPLES) return 0; return map_s->count; } /*end generated map counter for CTYPE_GIMPLE*/ static inline unsigned /* Map size for CTYPE_GIMPLE*/ melt_size_mapgimples (struct meltmapgimples_st* map_s) { if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPGIMPLES) return 0; return melt_primtab[map_s->lenix]; } /*end generated map size for CTYPE_GIMPLE*/ static inline gimple/* Map nth attr for CTYPE_GIMPLE*/ melt_nthattr_mapgimples (struct meltmapgimples_st* map_s, int ix) { gimple at = 0; if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPGIMPLES) return 0; at = map_s->entab[ix].e_at; if ((void*) at == (void*) HTAB_DELETED_ENTRY) return 0; return at; } /*end generated map nth attr for CTYPE_GIMPLE*/ static inline melt_ptr_t /* Map nth value for CTYPE_GIMPLE*/ melt_nthval_mapgimples (struct meltmapgimples_st* map_s, int ix) { gimple at = 0; if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPGIMPLES) return 0; at = map_s->entab[ix].e_at; if ((void*) at == (void*) HTAB_DELETED_ENTRY) return 0; return map_s->entab[ix].e_va; } /*end generated map nth value for CTYPE_GIMPLE*/ /* map auxiliary data access for CTYPE_GIMPLE */ static inline melt_ptr_t melt_auxdata_mapgimples (melt_ptr_t map_p) { if (melt_magic_discr (map_p) == MELTOBMAG_MAPGIMPLES) return ((struct meltmapgimples_st*)map_p)->meltmap_aux; return NULL; } /* map auxiliary data put for CTYPE_GIMPLE */ static inline melt_ptr_t melt_auxput_mapgimples (melt_ptr_t map_p, melt_ptr_t val_p) { if (melt_magic_discr (map_p) == MELTOBMAG_MAPGIMPLES) { ((struct meltmapgimples_st*)map_p)->meltmap_aux = val_p; meltgc_touch_dest (map_p, val_p); } return NULL; } /***end of map support for GTY ctype CTYPE_GIMPLE **/ /*gtyctype #5 CTYPE_GIMPLE_SEQ*/ /***map support for GTY ctype CTYPE_GIMPLE_SEQ **/ static inline melt_ptr_t /*New map for CTYPE_GIMPLE_SEQ*/ meltgc_new_mapgimpleseqs (meltobject_ptr_t discr, unsigned len) { /*generated map creation */ if (melt_magic_discr ((melt_ptr_t) discr) != MELTOBMAG_OBJECT) return NULL ; if (discr->meltobj_magic != MELTOBMAG_MAPGIMPLESEQS) /* not map magic */ return NULL ; return (melt_ptr_t) meltgc_raw_new_mappointers (discr, len) ; } /*end generated new map for CTYPE_GIMPLE_SEQ */ static inline melt_ptr_t /* Map getter for CTYPE_GIMPLE_SEQ*/ melt_get_mapgimpleseqs (melt_ptr_t map_p, gimple_seq attr) { if (!map_p || !attr || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPGIMPLESEQS) return NULL; return melt_raw_get_mappointers ((void*)map_p, (void*)attr); } /*end generated map getter for CTYPE_GIMPLE_SEQ*/ static inline void /* Map putter for CTYPE_GIMPLE_SEQ*/ melt_put_mapgimpleseqs (melt_ptr_t map_p, gimple_seq attr, melt_ptr_t valu_p) { if (!map_p || !attr || !valu_p || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPGIMPLESEQS) return; meltgc_raw_put_mappointers ((void*)map_p, (void*)attr, valu_p); } /*end generated map putter for CTYPE_GIMPLE_SEQ*/ static inline void /* Map remover for CTYPE_GIMPLE_SEQ*/ melt_remove_mapgimpleseqs (melt_ptr_t map_p, gimple_seq attr) { if (!map_p || !attr || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPGIMPLESEQS) return; meltgc_raw_remove_mappointers ((void*)map_p, (void*)attr); } /*end generated map remover for CTYPE_GIMPLE_SEQ*/ static inline unsigned /* Map counter for CTYPE_GIMPLE_SEQ*/ melt_count_mapgimpleseqs (struct meltmapgimpleseqs_st* map_s) { if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPGIMPLESEQS) return 0; return map_s->count; } /*end generated map counter for CTYPE_GIMPLE_SEQ*/ static inline unsigned /* Map size for CTYPE_GIMPLE_SEQ*/ melt_size_mapgimpleseqs (struct meltmapgimpleseqs_st* map_s) { if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPGIMPLESEQS) return 0; return melt_primtab[map_s->lenix]; } /*end generated map size for CTYPE_GIMPLE_SEQ*/ static inline gimple_seq/* Map nth attr for CTYPE_GIMPLE_SEQ*/ melt_nthattr_mapgimpleseqs (struct meltmapgimpleseqs_st* map_s, int ix) { gimple_seq at = 0; if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPGIMPLESEQS) return 0; at = map_s->entab[ix].e_at; if ((void*) at == (void*) HTAB_DELETED_ENTRY) return 0; return at; } /*end generated map nth attr for CTYPE_GIMPLE_SEQ*/ static inline melt_ptr_t /* Map nth value for CTYPE_GIMPLE_SEQ*/ melt_nthval_mapgimpleseqs (struct meltmapgimpleseqs_st* map_s, int ix) { gimple_seq at = 0; if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPGIMPLESEQS) return 0; at = map_s->entab[ix].e_at; if ((void*) at == (void*) HTAB_DELETED_ENTRY) return 0; return map_s->entab[ix].e_va; } /*end generated map nth value for CTYPE_GIMPLE_SEQ*/ /* map auxiliary data access for CTYPE_GIMPLE_SEQ */ static inline melt_ptr_t melt_auxdata_mapgimpleseqs (melt_ptr_t map_p) { if (melt_magic_discr (map_p) == MELTOBMAG_MAPGIMPLESEQS) return ((struct meltmapgimpleseqs_st*)map_p)->meltmap_aux; return NULL; } /* map auxiliary data put for CTYPE_GIMPLE_SEQ */ static inline melt_ptr_t melt_auxput_mapgimpleseqs (melt_ptr_t map_p, melt_ptr_t val_p) { if (melt_magic_discr (map_p) == MELTOBMAG_MAPGIMPLESEQS) { ((struct meltmapgimpleseqs_st*)map_p)->meltmap_aux = val_p; meltgc_touch_dest (map_p, val_p); } return NULL; } /***end of map support for GTY ctype CTYPE_GIMPLE_SEQ **/ /*gtyctype #6 CTYPE_LOOP*/ /***map support for GTY ctype CTYPE_LOOP **/ static inline melt_ptr_t /*New map for CTYPE_LOOP*/ meltgc_new_maploops (meltobject_ptr_t discr, unsigned len) { /*generated map creation */ if (melt_magic_discr ((melt_ptr_t) discr) != MELTOBMAG_OBJECT) return NULL ; if (discr->meltobj_magic != MELTOBMAG_MAPLOOPS) /* not map magic */ return NULL ; return (melt_ptr_t) meltgc_raw_new_mappointers (discr, len) ; } /*end generated new map for CTYPE_LOOP */ static inline melt_ptr_t /* Map getter for CTYPE_LOOP*/ melt_get_maploops (melt_ptr_t map_p, loop_p attr) { if (!map_p || !attr || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPLOOPS) return NULL; return melt_raw_get_mappointers ((void*)map_p, (void*)attr); } /*end generated map getter for CTYPE_LOOP*/ static inline void /* Map putter for CTYPE_LOOP*/ melt_put_maploops (melt_ptr_t map_p, loop_p attr, melt_ptr_t valu_p) { if (!map_p || !attr || !valu_p || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPLOOPS) return; meltgc_raw_put_mappointers ((void*)map_p, (void*)attr, valu_p); } /*end generated map putter for CTYPE_LOOP*/ static inline void /* Map remover for CTYPE_LOOP*/ melt_remove_maploops (melt_ptr_t map_p, loop_p attr) { if (!map_p || !attr || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPLOOPS) return; meltgc_raw_remove_mappointers ((void*)map_p, (void*)attr); } /*end generated map remover for CTYPE_LOOP*/ static inline unsigned /* Map counter for CTYPE_LOOP*/ melt_count_maploops (struct meltmaploops_st* map_s) { if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPLOOPS) return 0; return map_s->count; } /*end generated map counter for CTYPE_LOOP*/ static inline unsigned /* Map size for CTYPE_LOOP*/ melt_size_maploops (struct meltmaploops_st* map_s) { if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPLOOPS) return 0; return melt_primtab[map_s->lenix]; } /*end generated map size for CTYPE_LOOP*/ static inline loop_p/* Map nth attr for CTYPE_LOOP*/ melt_nthattr_maploops (struct meltmaploops_st* map_s, int ix) { loop_p at = 0; if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPLOOPS) return 0; at = map_s->entab[ix].e_at; if ((void*) at == (void*) HTAB_DELETED_ENTRY) return 0; return at; } /*end generated map nth attr for CTYPE_LOOP*/ static inline melt_ptr_t /* Map nth value for CTYPE_LOOP*/ melt_nthval_maploops (struct meltmaploops_st* map_s, int ix) { loop_p at = 0; if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPLOOPS) return 0; at = map_s->entab[ix].e_at; if ((void*) at == (void*) HTAB_DELETED_ENTRY) return 0; return map_s->entab[ix].e_va; } /*end generated map nth value for CTYPE_LOOP*/ /* map auxiliary data access for CTYPE_LOOP */ static inline melt_ptr_t melt_auxdata_maploops (melt_ptr_t map_p) { if (melt_magic_discr (map_p) == MELTOBMAG_MAPLOOPS) return ((struct meltmaploops_st*)map_p)->meltmap_aux; return NULL; } /* map auxiliary data put for CTYPE_LOOP */ static inline melt_ptr_t melt_auxput_maploops (melt_ptr_t map_p, melt_ptr_t val_p) { if (melt_magic_discr (map_p) == MELTOBMAG_MAPLOOPS) { ((struct meltmaploops_st*)map_p)->meltmap_aux = val_p; meltgc_touch_dest (map_p, val_p); } return NULL; } /***end of map support for GTY ctype CTYPE_LOOP **/ /*gtyctype #7 CTYPE_RTVEC*/ /***map support for GTY ctype CTYPE_RTVEC **/ static inline melt_ptr_t /*New map for CTYPE_RTVEC*/ meltgc_new_maprtvecs (meltobject_ptr_t discr, unsigned len) { /*generated map creation */ if (melt_magic_discr ((melt_ptr_t) discr) != MELTOBMAG_OBJECT) return NULL ; if (discr->meltobj_magic != MELTOBMAG_MAPRTVECS) /* not map magic */ return NULL ; return (melt_ptr_t) meltgc_raw_new_mappointers (discr, len) ; } /*end generated new map for CTYPE_RTVEC */ static inline melt_ptr_t /* Map getter for CTYPE_RTVEC*/ melt_get_maprtvecs (melt_ptr_t map_p, rtvec attr) { if (!map_p || !attr || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPRTVECS) return NULL; return melt_raw_get_mappointers ((void*)map_p, (void*)attr); } /*end generated map getter for CTYPE_RTVEC*/ static inline void /* Map putter for CTYPE_RTVEC*/ melt_put_maprtvecs (melt_ptr_t map_p, rtvec attr, melt_ptr_t valu_p) { if (!map_p || !attr || !valu_p || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPRTVECS) return; meltgc_raw_put_mappointers ((void*)map_p, (void*)attr, valu_p); } /*end generated map putter for CTYPE_RTVEC*/ static inline void /* Map remover for CTYPE_RTVEC*/ melt_remove_maprtvecs (melt_ptr_t map_p, rtvec attr) { if (!map_p || !attr || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPRTVECS) return; meltgc_raw_remove_mappointers ((void*)map_p, (void*)attr); } /*end generated map remover for CTYPE_RTVEC*/ static inline unsigned /* Map counter for CTYPE_RTVEC*/ melt_count_maprtvecs (struct meltmaprtvecs_st* map_s) { if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPRTVECS) return 0; return map_s->count; } /*end generated map counter for CTYPE_RTVEC*/ static inline unsigned /* Map size for CTYPE_RTVEC*/ melt_size_maprtvecs (struct meltmaprtvecs_st* map_s) { if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPRTVECS) return 0; return melt_primtab[map_s->lenix]; } /*end generated map size for CTYPE_RTVEC*/ static inline rtvec/* Map nth attr for CTYPE_RTVEC*/ melt_nthattr_maprtvecs (struct meltmaprtvecs_st* map_s, int ix) { rtvec at = 0; if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPRTVECS) return 0; at = map_s->entab[ix].e_at; if ((void*) at == (void*) HTAB_DELETED_ENTRY) return 0; return at; } /*end generated map nth attr for CTYPE_RTVEC*/ static inline melt_ptr_t /* Map nth value for CTYPE_RTVEC*/ melt_nthval_maprtvecs (struct meltmaprtvecs_st* map_s, int ix) { rtvec at = 0; if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPRTVECS) return 0; at = map_s->entab[ix].e_at; if ((void*) at == (void*) HTAB_DELETED_ENTRY) return 0; return map_s->entab[ix].e_va; } /*end generated map nth value for CTYPE_RTVEC*/ /* map auxiliary data access for CTYPE_RTVEC */ static inline melt_ptr_t melt_auxdata_maprtvecs (melt_ptr_t map_p) { if (melt_magic_discr (map_p) == MELTOBMAG_MAPRTVECS) return ((struct meltmaprtvecs_st*)map_p)->meltmap_aux; return NULL; } /* map auxiliary data put for CTYPE_RTVEC */ static inline melt_ptr_t melt_auxput_maprtvecs (melt_ptr_t map_p, melt_ptr_t val_p) { if (melt_magic_discr (map_p) == MELTOBMAG_MAPRTVECS) { ((struct meltmaprtvecs_st*)map_p)->meltmap_aux = val_p; meltgc_touch_dest (map_p, val_p); } return NULL; } /***end of map support for GTY ctype CTYPE_RTVEC **/ /*gtyctype #8 CTYPE_RTX*/ /***map support for GTY ctype CTYPE_RTX **/ static inline melt_ptr_t /*New map for CTYPE_RTX*/ meltgc_new_maprtxs (meltobject_ptr_t discr, unsigned len) { /*generated map creation */ if (melt_magic_discr ((melt_ptr_t) discr) != MELTOBMAG_OBJECT) return NULL ; if (discr->meltobj_magic != MELTOBMAG_MAPRTXS) /* not map magic */ return NULL ; return (melt_ptr_t) meltgc_raw_new_mappointers (discr, len) ; } /*end generated new map for CTYPE_RTX */ static inline melt_ptr_t /* Map getter for CTYPE_RTX*/ melt_get_maprtxs (melt_ptr_t map_p, rtx attr) { if (!map_p || !attr || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPRTXS) return NULL; return melt_raw_get_mappointers ((void*)map_p, (void*)attr); } /*end generated map getter for CTYPE_RTX*/ static inline void /* Map putter for CTYPE_RTX*/ melt_put_maprtxs (melt_ptr_t map_p, rtx attr, melt_ptr_t valu_p) { if (!map_p || !attr || !valu_p || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPRTXS) return; meltgc_raw_put_mappointers ((void*)map_p, (void*)attr, valu_p); } /*end generated map putter for CTYPE_RTX*/ static inline void /* Map remover for CTYPE_RTX*/ melt_remove_maprtxs (melt_ptr_t map_p, rtx attr) { if (!map_p || !attr || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPRTXS) return; meltgc_raw_remove_mappointers ((void*)map_p, (void*)attr); } /*end generated map remover for CTYPE_RTX*/ static inline unsigned /* Map counter for CTYPE_RTX*/ melt_count_maprtxs (struct meltmaprtxs_st* map_s) { if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPRTXS) return 0; return map_s->count; } /*end generated map counter for CTYPE_RTX*/ static inline unsigned /* Map size for CTYPE_RTX*/ melt_size_maprtxs (struct meltmaprtxs_st* map_s) { if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPRTXS) return 0; return melt_primtab[map_s->lenix]; } /*end generated map size for CTYPE_RTX*/ static inline rtx/* Map nth attr for CTYPE_RTX*/ melt_nthattr_maprtxs (struct meltmaprtxs_st* map_s, int ix) { rtx at = 0; if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPRTXS) return 0; at = map_s->entab[ix].e_at; if ((void*) at == (void*) HTAB_DELETED_ENTRY) return 0; return at; } /*end generated map nth attr for CTYPE_RTX*/ static inline melt_ptr_t /* Map nth value for CTYPE_RTX*/ melt_nthval_maprtxs (struct meltmaprtxs_st* map_s, int ix) { rtx at = 0; if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPRTXS) return 0; at = map_s->entab[ix].e_at; if ((void*) at == (void*) HTAB_DELETED_ENTRY) return 0; return map_s->entab[ix].e_va; } /*end generated map nth value for CTYPE_RTX*/ /* map auxiliary data access for CTYPE_RTX */ static inline melt_ptr_t melt_auxdata_maprtxs (melt_ptr_t map_p) { if (melt_magic_discr (map_p) == MELTOBMAG_MAPRTXS) return ((struct meltmaprtxs_st*)map_p)->meltmap_aux; return NULL; } /* map auxiliary data put for CTYPE_RTX */ static inline melt_ptr_t melt_auxput_maprtxs (melt_ptr_t map_p, melt_ptr_t val_p) { if (melt_magic_discr (map_p) == MELTOBMAG_MAPRTXS) { ((struct meltmaprtxs_st*)map_p)->meltmap_aux = val_p; meltgc_touch_dest (map_p, val_p); } return NULL; } /***end of map support for GTY ctype CTYPE_RTX **/ /*gtyctype #9 CTYPE_TREE*/ /***map support for GTY ctype CTYPE_TREE **/ static inline melt_ptr_t /*New map for CTYPE_TREE*/ meltgc_new_maptrees (meltobject_ptr_t discr, unsigned len) { /*generated map creation */ if (melt_magic_discr ((melt_ptr_t) discr) != MELTOBMAG_OBJECT) return NULL ; if (discr->meltobj_magic != MELTOBMAG_MAPTREES) /* not map magic */ return NULL ; return (melt_ptr_t) meltgc_raw_new_mappointers (discr, len) ; } /*end generated new map for CTYPE_TREE */ static inline melt_ptr_t /* Map getter for CTYPE_TREE*/ melt_get_maptrees (melt_ptr_t map_p, tree attr) { if (!map_p || !attr || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPTREES) return NULL; return melt_raw_get_mappointers ((void*)map_p, (void*)attr); } /*end generated map getter for CTYPE_TREE*/ static inline void /* Map putter for CTYPE_TREE*/ melt_put_maptrees (melt_ptr_t map_p, tree attr, melt_ptr_t valu_p) { if (!map_p || !attr || !valu_p || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPTREES) return; meltgc_raw_put_mappointers ((void*)map_p, (void*)attr, valu_p); } /*end generated map putter for CTYPE_TREE*/ static inline void /* Map remover for CTYPE_TREE*/ melt_remove_maptrees (melt_ptr_t map_p, tree attr) { if (!map_p || !attr || melt_magic_discr ((melt_ptr_t) map_p) != MELTOBMAG_MAPTREES) return; meltgc_raw_remove_mappointers ((void*)map_p, (void*)attr); } /*end generated map remover for CTYPE_TREE*/ static inline unsigned /* Map counter for CTYPE_TREE*/ melt_count_maptrees (struct meltmaptrees_st* map_s) { if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPTREES) return 0; return map_s->count; } /*end generated map counter for CTYPE_TREE*/ static inline unsigned /* Map size for CTYPE_TREE*/ melt_size_maptrees (struct meltmaptrees_st* map_s) { if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPTREES) return 0; return melt_primtab[map_s->lenix]; } /*end generated map size for CTYPE_TREE*/ static inline tree/* Map nth attr for CTYPE_TREE*/ melt_nthattr_maptrees (struct meltmaptrees_st* map_s, int ix) { tree at = 0; if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPTREES) return 0; at = map_s->entab[ix].e_at; if ((void*) at == (void*) HTAB_DELETED_ENTRY) return 0; return at; } /*end generated map nth attr for CTYPE_TREE*/ static inline melt_ptr_t /* Map nth value for CTYPE_TREE*/ melt_nthval_maptrees (struct meltmaptrees_st* map_s, int ix) { tree at = 0; if (!map_s || melt_magic_discr ((melt_ptr_t) map_s) != MELTOBMAG_MAPTREES) return 0; at = map_s->entab[ix].e_at; if ((void*) at == (void*) HTAB_DELETED_ENTRY) return 0; return map_s->entab[ix].e_va; } /*end generated map nth value for CTYPE_TREE*/ /* map auxiliary data access for CTYPE_TREE */ static inline melt_ptr_t melt_auxdata_maptrees (melt_ptr_t map_p) { if (melt_magic_discr (map_p) == MELTOBMAG_MAPTREES) return ((struct meltmaptrees_st*)map_p)->meltmap_aux; return NULL; } /* map auxiliary data put for CTYPE_TREE */ static inline melt_ptr_t melt_auxput_maptrees (melt_ptr_t map_p, melt_ptr_t val_p) { if (melt_magic_discr (map_p) == MELTOBMAG_MAPTREES) { ((struct meltmaptrees_st*)map_p)->meltmap_aux = val_p; meltgc_touch_dest (map_p, val_p); } return NULL; } /***end of map support for GTY ctype CTYPE_TREE **/ /** end of code generated by generate_runtypesupport_mapfun **/ /** start of code generated by generate_runtypesupport_predef_fields **/ #define MELT_HAS_PREDEF_CLASS_ALARM_HANDLER /* predefined class CLASS_ALARM_HANDLER index 1 */ enum { MELTFIELD_ALARMH_PERIOD = 1 /*in CLASS_ALARM_HANDLER*/, MELTFIELD_ALARMH_CLOS = 2 /*in CLASS_ALARM_HANDLER*/, MELTFIELD_ALARMH_DATA = 3 /*in CLASS_ALARM_HANDLER*/, MELTLENGTH_CLASS_ALARM_HANDLER = 4 } ; #define MELT_HAS_PREDEF_CLASS_CHILD_PROCESS_HANDLER /* predefined class CLASS_CHILD_PROCESS_HANDLER index 2 */ enum { MELTFIELD_CHILPROH_PID = 1 /*in CLASS_CHILD_PROCESS_HANDLER*/, MELTFIELD_CHILPROH_CLOS = 2 /*in CLASS_CHILD_PROCESS_HANDLER*/, MELTFIELD_CHILPROH_DATA = 3 /*in CLASS_CHILD_PROCESS_HANDLER*/, MELTLENGTH_CLASS_CHILD_PROCESS_HANDLER = 4 } ; #define MELT_HAS_PREDEF_CLASS_CITERATOR /* predefined class CLASS_CITERATOR index 3 */ enum { MELTFIELD_CITER_START_FORMALS = 2 /*in CLASS_CITERATOR*/, MELTFIELD_CITER_STATE = 3 /*in CLASS_CITERATOR*/, MELTFIELD_CITER_BODY_FORMALS = 4 /*in CLASS_CITERATOR*/, MELTFIELD_CITER_EXPBEFORE = 5 /*in CLASS_CITERATOR*/, MELTFIELD_CITER_EXPAFTER = 6 /*in CLASS_CITERATOR*/, MELTLENGTH_CLASS_CITERATOR = 7 } ; #define MELT_HAS_PREDEF_CLASS_CLASS /* predefined class CLASS_CLASS index 4 */ enum { MELTFIELD_CLASS_ANCESTORS = 5 /*in CLASS_CLASS*/, MELTFIELD_CLASS_FIELDS = 6 /*in CLASS_CLASS*/, MELTFIELD_CLASS_DATA = 7 /*in CLASS_CLASS*/, MELTLENGTH_CLASS_CLASS = 8 } ; #define MELT_HAS_PREDEF_CLASS_CMATCHER /* predefined class CLASS_CMATCHER index 5 */ enum { MELTFIELD_CMATCH_STATE = 5 /*in CLASS_CMATCHER*/, MELTFIELD_CMATCH_EXPTEST = 6 /*in CLASS_CMATCHER*/, MELTFIELD_CMATCH_EXPFILL = 7 /*in CLASS_CMATCHER*/, MELTFIELD_CMATCH_EXPOPER = 8 /*in CLASS_CMATCHER*/, MELTLENGTH_CLASS_CMATCHER = 9 } ; #define MELT_HAS_PREDEF_CLASS_CTYPE /* predefined class CLASS_CTYPE index 6 */ enum { MELTFIELD_CTYPE_CNAME = 4 /*in CLASS_CTYPE*/, MELTFIELD_CTYPE_PARCHAR = 5 /*in CLASS_CTYPE*/, MELTFIELD_CTYPE_PARSTRING = 6 /*in CLASS_CTYPE*/, MELTFIELD_CTYPE_ARGFIELD = 7 /*in CLASS_CTYPE*/, MELTFIELD_CTYPE_RESFIELD = 8 /*in CLASS_CTYPE*/, MELTFIELD_CTYPE_MARKER = 9 /*in CLASS_CTYPE*/, MELTFIELD_CTYPE_ALTKEYWORD = 10 /*in CLASS_CTYPE*/, MELTFIELD_CTYPE_AUTOBOXDISCR = 11 /*in CLASS_CTYPE*/, MELTFIELD_CTYPE_AUTOCONSTBOXDISCR = 12 /*in CLASS_CTYPE*/, MELTLENGTH_CLASS_CTYPE = 13 } ; #define MELT_HAS_PREDEF_CLASS_CTYPE_GTY /* predefined class CLASS_CTYPE_GTY index 7 */ enum { MELTFIELD_CTYPG_BOXEDMAGIC = 13 /*in CLASS_CTYPE_GTY*/, MELTFIELD_CTYPG_MAPMAGIC = 14 /*in CLASS_CTYPE_GTY*/, MELTFIELD_CTYPG_BOXEDSTRUCT = 15 /*in CLASS_CTYPE_GTY*/, MELTFIELD_CTYPG_BOXEDUNIMEMB = 16 /*in CLASS_CTYPE_GTY*/, MELTFIELD_CTYPG_ENTRYSTRUCT = 17 /*in CLASS_CTYPE_GTY*/, MELTFIELD_CTYPG_MAPSTRUCT = 18 /*in CLASS_CTYPE_GTY*/, MELTFIELD_CTYPG_MAPDISCR = 19 /*in CLASS_CTYPE_GTY*/, MELTFIELD_CTYPG_MAPUNIMEMB = 20 /*in CLASS_CTYPE_GTY*/, MELTFIELD_CTYPG_BOXFUN = 21 /*in CLASS_CTYPE_GTY*/, MELTFIELD_CTYPG_UNBOXFUN = 22 /*in CLASS_CTYPE_GTY*/, MELTFIELD_CTYPG_UPDATEBOXFUN = 23 /*in CLASS_CTYPE_GTY*/, MELTFIELD_CTYPG_NEWMAPFUN = 24 /*in CLASS_CTYPE_GTY*/, MELTFIELD_CTYPG_MAPGETFUN = 25 /*in CLASS_CTYPE_GTY*/, MELTFIELD_CTYPG_MAPPUTFUN = 26 /*in CLASS_CTYPE_GTY*/, MELTFIELD_CTYPG_MAPREMOVEFUN = 27 /*in CLASS_CTYPE_GTY*/, MELTFIELD_CTYPG_MAPCOUNTFUN = 28 /*in CLASS_CTYPE_GTY*/, MELTFIELD_CTYPG_MAPSIZEFUN = 29 /*in CLASS_CTYPE_GTY*/, MELTFIELD_CTYPG_MAPNATTFUN = 30 /*in CLASS_CTYPE_GTY*/, MELTFIELD_CTYPG_MAPNVALFUN = 31 /*in CLASS_CTYPE_GTY*/, MELTFIELD_CTYPG_MAPAUXDATAFUN = 32 /*in CLASS_CTYPE_GTY*/, MELTFIELD_CTYPG_MAPAUXPUTFUN = 33 /*in CLASS_CTYPE_GTY*/, MELTLENGTH_CLASS_CTYPE_GTY = 34 } ; #define MELT_HAS_PREDEF_CLASS_CTYPE_PLAIN /* predefined class CLASS_CTYPE_PLAIN index 8 */ enum { MELTFIELD_CTYPP_BOXING = 13 /*in CLASS_CTYPE_PLAIN*/, MELTFIELD_CTYPP_UNBOXING = 14 /*in CLASS_CTYPE_PLAIN*/, MELTLENGTH_CLASS_CTYPE_PLAIN = 15 } ; #define MELT_HAS_PREDEF_CLASS_DISCRIMINANT /* predefined class CLASS_DISCRIMINANT index 9 */ enum { MELTFIELD_DISC_METHODICT = 2 /*in CLASS_DISCRIMINANT*/, MELTFIELD_DISC_SENDER = 3 /*in CLASS_DISCRIMINANT*/, MELTFIELD_DISC_SUPER = 4 /*in CLASS_DISCRIMINANT*/, MELTLENGTH_CLASS_DISCRIMINANT = 5 } ; #define MELT_HAS_PREDEF_CLASS_ENVIRONMENT /* predefined class CLASS_ENVIRONMENT index 10 */ enum { MELTFIELD_ENV_BIND = 0 /*in CLASS_ENVIRONMENT*/, MELTFIELD_ENV_PREV = 1 /*in CLASS_ENVIRONMENT*/, MELTFIELD_ENV_PROC = 2 /*in CLASS_ENVIRONMENT*/, MELTLENGTH_CLASS_ENVIRONMENT = 3 } ; #define MELT_HAS_PREDEF_CLASS_FIELD /* predefined class CLASS_FIELD index 11 */ enum { MELTFIELD_FLD_OWNCLASS = 2 /*in CLASS_FIELD*/, MELTFIELD_FLD_DATA = 3 /*in CLASS_FIELD*/, MELTLENGTH_CLASS_FIELD = 4 } ; #define MELT_HAS_PREDEF_CLASS_FORMAL_BINDING /* predefined class CLASS_FORMAL_BINDING index 12 */ enum { MELTFIELD_FBIND_TYPE = 1 /*in CLASS_FORMAL_BINDING*/, MELTLENGTH_CLASS_FORMAL_BINDING = 2 } ; #define MELT_HAS_PREDEF_CLASS_FUNMATCHER /* predefined class CLASS_FUNMATCHER index 13 */ enum { MELTFIELD_FMATCH_MATCHF = 5 /*in CLASS_FUNMATCHER*/, MELTFIELD_FMATCH_APPLYF = 6 /*in CLASS_FUNMATCHER*/, MELTFIELD_FMATCH_DATA = 7 /*in CLASS_FUNMATCHER*/, MELTLENGTH_CLASS_FUNMATCHER = 8 } ; #define MELT_HAS_PREDEF_CLASS_GCC_GIMPLE_PASS /* predefined class CLASS_GCC_GIMPLE_PASS index 14 */ enum { MELTLENGTH_CLASS_GCC_GIMPLE_PASS = 10 } ; #define MELT_HAS_PREDEF_CLASS_GCC_PASS /* predefined class CLASS_GCC_PASS index 15 */ enum { MELTFIELD_GCCPASS_GATE = 2 /*in CLASS_GCC_PASS*/, MELTFIELD_GCCPASS_EXEC = 3 /*in CLASS_GCC_PASS*/, MELTFIELD_GCCPASS_DATA = 4 /*in CLASS_GCC_PASS*/, MELTFIELD_GCCPASS_PROPERTIES_REQUIRED = 5 /*in CLASS_GCC_PASS*/, MELTFIELD_GCCPASS_PROPERTIES_PROVIDED = 6 /*in CLASS_GCC_PASS*/, MELTFIELD_GCCPASS_PROPERTIES_DESTROYED = 7 /*in CLASS_GCC_PASS*/, MELTFIELD_GCCPASS_TODO_FLAGS_START = 8 /*in CLASS_GCC_PASS*/, MELTFIELD_GCCPASS_TODO_FLAGS_FINISH = 9 /*in CLASS_GCC_PASS*/, MELTLENGTH_CLASS_GCC_PASS = 10 } ; #define MELT_HAS_PREDEF_CLASS_GCC_PRAGMA /* predefined class CLASS_GCC_PRAGMA index 16 */ enum { MELTFIELD_GCCPRAGMA_HANDLER = 2 /*in CLASS_GCC_PRAGMA*/, MELTFIELD_GCCPRAGMA_DATA = 3 /*in CLASS_GCC_PRAGMA*/, MELTLENGTH_CLASS_GCC_PRAGMA = 4 } ; #define MELT_HAS_PREDEF_CLASS_GCC_RTL_PASS /* predefined class CLASS_GCC_RTL_PASS index 17 */ enum { MELTLENGTH_CLASS_GCC_RTL_PASS = 10 } ; #define MELT_HAS_PREDEF_CLASS_GCC_SIMPLE_IPA_PASS /* predefined class CLASS_GCC_SIMPLE_IPA_PASS index 18 */ enum { MELTLENGTH_CLASS_GCC_SIMPLE_IPA_PASS = 10 } ; #define MELT_HAS_PREDEF_CLASS_GCC_TRANSFORM_IPA_PASS /* predefined class CLASS_GCC_TRANSFORM_IPA_PASS index 19 */ enum { MELTFIELD_GCCTRIPAPASS_STMT_FIXUP = 10 /*in CLASS_GCC_TRANSFORM_IPA_PASS*/, MELTFIELD_GCCTRIPAPASS_FUNCTION_TRANSFORM = 11 /*in CLASS_GCC_TRANSFORM_IPA_PASS*/, MELTFIELD_GCCTRIPAPASS_VARIABLE_TRANSFORM = 12 /*in CLASS_GCC_TRANSFORM_IPA_PASS*/, MELTLENGTH_CLASS_GCC_TRANSFORM_IPA_PASS = 13 } ; #define MELT_HAS_PREDEF_CLASS_HOOK_DESCRIPTOR /* predefined class CLASS_HOOK_DESCRIPTOR index 20 */ enum { MELTFIELD_HOOKDESC_IN_FORMALS = 2 /*in CLASS_HOOK_DESCRIPTOR*/, MELTFIELD_HOOKDESC_OUT_FORMALS = 3 /*in CLASS_HOOK_DESCRIPTOR*/, MELTFIELD_HOOKDESC_CTYPE = 4 /*in CLASS_HOOK_DESCRIPTOR*/, MELTFIELD_HOOKDESC_HOOK = 5 /*in CLASS_HOOK_DESCRIPTOR*/, MELTLENGTH_CLASS_HOOK_DESCRIPTOR = 6 } ; #define MELT_HAS_PREDEF_CLASS_INPUT_CHANNEL_HANDLER /* predefined class CLASS_INPUT_CHANNEL_HANDLER index 21 */ enum { MELTFIELD_INCH_SBUF = 1 /*in CLASS_INPUT_CHANNEL_HANDLER*/, MELTFIELD_INCH_CLOS = 2 /*in CLASS_INPUT_CHANNEL_HANDLER*/, MELTFIELD_INCH_DATA = 3 /*in CLASS_INPUT_CHANNEL_HANDLER*/, MELTLENGTH_CLASS_INPUT_CHANNEL_HANDLER = 4 } ; #define MELT_HAS_PREDEF_CLASS_KEYWORD /* predefined class CLASS_KEYWORD index 22 */ enum { MELTLENGTH_CLASS_KEYWORD = 3 } ; #define MELT_HAS_PREDEF_CLASS_LOCATED /* predefined class CLASS_LOCATED index 23 */ enum { MELTFIELD_LOCA_LOCATION = 1 /*in CLASS_LOCATED*/, MELTLENGTH_CLASS_LOCATED = 2 } ; #define MELT_HAS_PREDEF_CLASS_MELT_MODE /* predefined class CLASS_MELT_MODE index 24 */ enum { MELTFIELD_MELTMODE_HELP = 2 /*in CLASS_MELT_MODE*/, MELTFIELD_MELTMODE_FUN = 3 /*in CLASS_MELT_MODE*/, MELTFIELD_MELTMODE_DATA = 4 /*in CLASS_MELT_MODE*/, MELTLENGTH_CLASS_MELT_MODE = 5 } ; #define MELT_HAS_PREDEF_CLASS_NAMED /* predefined class CLASS_NAMED index 25 */ enum { MELTFIELD_NAMED_NAME = 1 /*in CLASS_NAMED*/, MELTLENGTH_CLASS_NAMED = 2 } ; #define MELT_HAS_PREDEF_CLASS_PRIMITIVE /* predefined class CLASS_PRIMITIVE index 26 */ enum { MELTFIELD_PRIM_FORMALS = 2 /*in CLASS_PRIMITIVE*/, MELTFIELD_PRIM_TYPE = 3 /*in CLASS_PRIMITIVE*/, MELTFIELD_PRIM_EXPANSION = 4 /*in CLASS_PRIMITIVE*/, MELTLENGTH_CLASS_PRIMITIVE = 5 } ; #define MELT_HAS_PREDEF_CLASS_PROPED /* predefined class CLASS_PROPED index 27 */ enum { MELTFIELD_PROP_TABLE = 0 /*in CLASS_PROPED*/, MELTLENGTH_CLASS_PROPED = 1 } ; #define MELT_HAS_PREDEF_CLASS_REFERENCE /* predefined class CLASS_REFERENCE index 28 */ enum { MELTFIELD_REFERENCED_VALUE = 0 /*in CLASS_REFERENCE*/, MELTLENGTH_CLASS_REFERENCE = 1 } ; #define MELT_HAS_PREDEF_CLASS_ROOT /* predefined class CLASS_ROOT index 29 */ enum { MELTLENGTH_CLASS_ROOT = 0 } ; #define MELT_HAS_PREDEF_CLASS_SELECTOR /* predefined class CLASS_SELECTOR index 30 */ enum { MELTFIELD_SEL_SIGNATURE = 2 /*in CLASS_SELECTOR*/, MELTFIELD_SEL_DATA = 3 /*in CLASS_SELECTOR*/, MELTLENGTH_CLASS_SELECTOR = 4 } ; #define MELT_HAS_PREDEF_CLASS_SEXPR /* predefined class CLASS_SEXPR index 31 */ enum { MELTFIELD_SEXP_CONTENTS = 2 /*in CLASS_SEXPR*/, MELTLENGTH_CLASS_SEXPR = 3 } ; #define MELT_HAS_PREDEF_CLASS_SEXPR_MACROSTRING /* predefined class CLASS_SEXPR_MACROSTRING index 32 */ enum { MELTLENGTH_CLASS_SEXPR_MACROSTRING = 3 } ; #define MELT_HAS_PREDEF_CLASS_SYMBOL /* predefined class CLASS_SYMBOL index 33 */ enum { MELTFIELD_SYMB_DATA = 2 /*in CLASS_SYMBOL*/, MELTLENGTH_CLASS_SYMBOL = 3 } ; #define MELT_HAS_PREDEF_CLASS_SYSTEM_DATA /* predefined class CLASS_SYSTEM_DATA index 34 */ enum { MELTFIELD_SYSDATA_MODE_DICT = 2 /*in CLASS_SYSTEM_DATA*/, MELTFIELD_SYSDATA_SYMBOLDICT = 3 /*in CLASS_SYSTEM_DATA*/, MELTFIELD_SYSDATA_KEYWDICT = 4 /*in CLASS_SYSTEM_DATA*/, MELTFIELD_SYSDATA_PASS_DICT = 5 /*in CLASS_SYSTEM_DATA*/, MELTFIELD_SYSDATA_DEBUGMSG = 6 /*in CLASS_SYSTEM_DATA*/, MELTFIELD_SYSDATA_STDOUT = 7 /*in CLASS_SYSTEM_DATA*/, MELTFIELD_SYSDATA_STDERR = 8 /*in CLASS_SYSTEM_DATA*/, MELTFIELD_SYSDATA_DUMPFILE = 9 /*in CLASS_SYSTEM_DATA*/, MELTFIELD_SYSDATA_MELTPRAGMAS = 10 /*in CLASS_SYSTEM_DATA*/, MELTFIELD_SYSDATA_SRC_LOC_FILE_DICT = 11 /*in CLASS_SYSTEM_DATA*/, MELTFIELD_SYSDATA___SPARE1 = 12 /*in CLASS_SYSTEM_DATA*/, MELTFIELD_SYSDATA___SPARE2 = 13 /*in CLASS_SYSTEM_DATA*/, MELTFIELD_SYSDATA___SPARE3 = 14 /*in CLASS_SYSTEM_DATA*/, MELTFIELD_SYSDATA___SPARE4 = 15 /*in CLASS_SYSTEM_DATA*/, MELTLENGTH_CLASS_SYSTEM_DATA = 16 } ; /** end of code generated by generate_runtypesupport_predef_fields **/ /* declarations generated by generate_runtypesupport_predefined_hooks for 150 predefined */ /*predefined hook declaration HOOK_ALL_IPA_PASSES_END #107*/ MELT_EXTERN void melthookproc_HOOK_ALL_IPA_PASSES_END(); /*predefined hook declaration HOOK_ALL_IPA_PASSES_START #108*/ MELT_EXTERN void melthookproc_HOOK_ALL_IPA_PASSES_START(); /*predefined hook declaration HOOK_ALL_PASSES_END #109*/ MELT_EXTERN void melthookproc_HOOK_ALL_PASSES_END(); /*predefined hook declaration HOOK_ALL_PASSES_START #110*/ MELT_EXTERN void melthookproc_HOOK_ALL_PASSES_START(); /*predefined hook declaration HOOK_EARLY_GIMPLE_PASSES_END #111*/ MELT_EXTERN void melthookproc_HOOK_EARLY_GIMPLE_PASSES_END(); /*predefined hook declaration HOOK_EARLY_GIMPLE_PASSES_START #112*/ MELT_EXTERN void melthookproc_HOOK_EARLY_GIMPLE_PASSES_START(); /*predefined hook declaration HOOK_EXIT_FINALIZER #113*/ MELT_EXTERN void melthookproc_HOOK_EXIT_FINALIZER(); /*predefined hook declaration HOOK_FINISH_DECL #114*/ MELT_EXTERN void melthookproc_HOOK_FINISH_DECL(tree meltin_TFNDECL_p0); /*predefined hook declaration HOOK_FINISH_TYPE #115*/ MELT_EXTERN void melthookproc_HOOK_FINISH_TYPE(tree meltin_TFNDECL_p0); /*predefined hook declaration HOOK_FINISH_UNIT #116*/ MELT_EXTERN void melthookproc_HOOK_FINISH_UNIT(); /*predefined hook declaration HOOK_GIMPLE_EXECUTE #117*/ MELT_EXTERN long melthookproc_HOOK_GIMPLE_EXECUTE(); /*predefined hook declaration HOOK_GIMPLE_GATE #118*/ MELT_EXTERN long melthookproc_HOOK_GIMPLE_GATE(); /*predefined hook declaration HOOK_HANDLE_SIGALRM #119*/ MELT_EXTERN void melthookproc_HOOK_HANDLE_SIGALRM(); /*predefined hook declaration HOOK_HANDLE_SIGCHLD #120*/ MELT_EXTERN void melthookproc_HOOK_HANDLE_SIGCHLD(); /*predefined hook declaration HOOK_HANDLE_SIGIO #121*/ MELT_EXTERN void melthookproc_HOOK_HANDLE_SIGIO(); /*predefined hook declaration HOOK_INTERN_KEYWORD #122*/ MELT_EXTERN melt_ptr_t melthookproc_HOOK_INTERN_KEYWORD(melt_ptr_t meltin_KEYWV_p0); /*predefined hook declaration HOOK_INTERN_SYMBOL #123*/ MELT_EXTERN melt_ptr_t melthookproc_HOOK_INTERN_SYMBOL(melt_ptr_t meltin_SYMBV_p0); /*predefined hook declaration HOOK_LOW_DEBUG_VALUE_AT #124*/ MELT_EXTERN void melthookproc_HOOK_LOW_DEBUG_VALUE_AT(melt_ptr_t meltin_VAL_p0, const char* meltin_FILENAME_p1, long meltin_LINENO_p2, const char* meltin_MSG_p3, long meltin_COUNT_p4); /*predefined hook declaration HOOK_LOW_STDERR_VALUE_AT #125*/ MELT_EXTERN void melthookproc_HOOK_LOW_STDERR_VALUE_AT(melt_ptr_t meltin_VAL_p0, const char* meltin_FILENAME_p1, long meltin_LINENO_p2, const char* meltin_MSG_p3, long meltin_COUNT_p4); /*predefined hook declaration HOOK_MACRO_INSTALLER #126*/ MELT_EXTERN void melthookproc_HOOK_MACRO_INSTALLER(melt_ptr_t meltin_MBIND_p0, melt_ptr_t meltin_MEXPCLOS_p1); /*predefined hook declaration HOOK_MELT_MAKE_LOCATION #127*/ MELT_EXTERN melt_ptr_t melthookproc_HOOK_MELT_MAKE_LOCATION(const char* meltin_FILENAME_p0, long meltin_LINENO_p1); /*predefined hook declaration HOOK_MELT_ATTRIBUTE_DEFINER #128*/ MELT_EXTERN void melthookproc_HOOK_MELT_ATTRIBUTE_DEFINER(tree meltin_DECL_p0, tree meltin_NAME_p1, melt_ptr_t meltin_ATTRSEQ_p2, const char* meltin_FILELOC_p3, long meltin_LINENO_p4); /*predefined hook declaration HOOK_NAMED_KEYWORD #129*/ MELT_EXTERN melt_ptr_t melthookproc_HOOK_NAMED_KEYWORD(const char* meltin_NAM_p0, long meltin_CREATE_p1); /*predefined hook declaration HOOK_NAMED_SYMBOL #130*/ MELT_EXTERN melt_ptr_t melthookproc_HOOK_NAMED_SYMBOL(const char* meltin_NAM_p0, long meltin_CREATE_p1); /*predefined hook declaration HOOK_OVERRIDE_GATE #131*/ MELT_EXTERN void melthookproc_HOOK_OVERRIDE_GATE(long meltin_BEFOREGATE_p0, long* meltout_AFTERGATE_o0); /*predefined hook declaration HOOK_PASS_EXECUTION #132*/ MELT_EXTERN void melthookproc_HOOK_PASS_EXECUTION(const char* meltin_PASSNAME_p0, long meltin_PASSNUM_p1, long meltin_TYPENUM_p2); /*predefined hook declaration HOOK_POLL_INPUTS #133*/ MELT_EXTERN void melthookproc_HOOK_POLL_INPUTS(long meltin_DELAYMS_p0); /*predefined hook declaration HOOK_PRE_GENERICIZE #134*/ MELT_EXTERN void melthookproc_HOOK_PRE_GENERICIZE(tree meltin_TFNDECL_p0); /*predefined hook declaration HOOK_RTL_EXECUTE #135*/ MELT_EXTERN long melthookproc_HOOK_RTL_EXECUTE(); /*predefined hook declaration HOOK_RTL_GATE #136*/ MELT_EXTERN long melthookproc_HOOK_RTL_GATE(); /*predefined hook declaration HOOK_SIMPLE_IPA_EXECUTE #137*/ MELT_EXTERN long melthookproc_HOOK_SIMPLE_IPA_EXECUTE(); /*predefined hook declaration HOOK_SORT_COMPARE #138*/ MELT_EXTERN long melthookproc_HOOK_SORT_COMPARE(melt_ptr_t meltin_LEFT_p0, melt_ptr_t meltin_RIGHT_p1, melt_ptr_t meltin_CMP_p2); /*predefined hook declaration HOOK_START_UNIT #139*/ MELT_EXTERN void melthookproc_HOOK_START_UNIT(); /*predefined hook declaration HOOK_FRESH_ENVIRONMENT_REFERENCE_MAKER #140*/ MELT_EXTERN melt_ptr_t melthookproc_HOOK_FRESH_ENVIRONMENT_REFERENCE_MAKER(melt_ptr_t meltin_PREVENV_p0, const char* meltin_MODULNAME_p1); /*predefined hook declaration HOOK_SYMBOL_IMPORTER #141*/ MELT_EXTERN melt_ptr_t melthookproc_HOOK_SYMBOL_IMPORTER(const char* meltin_SYMNAMESTR_p0, const char* meltin_MODULENAMESTR_p1, melt_ptr_t meltin_PARENV_p2); /*predefined hook declaration HOOK_VALUE_EXPORTER #142*/ MELT_EXTERN void melthookproc_HOOK_VALUE_EXPORTER(melt_ptr_t meltin_SYM_p0, melt_ptr_t meltin_VAL_p1, melt_ptr_t meltin_CONTENV_p2); /*predefined hook declaration HOOK_MACRO_EXPORTER #143*/ MELT_EXTERN void melthookproc_HOOK_MACRO_EXPORTER(melt_ptr_t meltin_SYM_p0, melt_ptr_t meltin_VAL_p1, melt_ptr_t meltin_CONTENV_p2); /*predefined hook declaration HOOK_PATMACRO_EXPORTER #144*/ MELT_EXTERN void melthookproc_HOOK_PATMACRO_EXPORTER(melt_ptr_t meltin_SYM_p0, melt_ptr_t meltin_MACVAL_p1, melt_ptr_t meltin_PATVAL_p2, melt_ptr_t meltin_CONTENV_p3); /* end of declarations generated by generate_runtypesupport_predefined_hooks for 150 predefined */ /*** End of declaration file meltbuild-sources/generated/meltrunsup.h generated on 2014 Jan 09 * by GCC MELT 4.9.0 20140108 (experimental) [melt-branch revision 206465] MELT_1.1-pre . ***/