/* GCC MELT GENERATED FILE warmelt-modes+02.c - DO NOT EDIT */ /* secondary MELT generated C file of rank #2 */ #include "melt-run.h" /* used hash from melt-run.h when compiling this file: */ MELT_EXTERN const char meltrun_used_md5_melt_f2[] = MELT_RUN_HASHMD5 /* from melt-run.h */ ; /**** warmelt-modes+02.c declarations ****/ /*************************************************** *** Copyright (C) 2011, 2012 Free Software Foundation, Inc. Contributed by Basile Starynkevitch This file is part of GCC. 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 . *** ****************************************************/ /* ordinary MELT module */ #define MELT_HAS_INITIAL_ENVIRONMENT 1 /*usual */ struct melt_callframe_st; /*defined in melt-runtime.h */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_1_warmelt_modes_INSTALL_MELT_MODE (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_2_warmelt_modes_RUNFILE_DOCMD (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_3_warmelt_modes_RUNDEBUG_DOCMD (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_4_warmelt_modes_EVAL_DOCMD (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_5_warmelt_modes_EVALFILE_DOCMD (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_6_warmelt_modes_REPL_PROCESSOR (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_7_warmelt_modes_REPL_DOCMD (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_8_warmelt_modes_LAMBDA___1__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_9_warmelt_modes_LAMBDA___2__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_10_warmelt_modes_LAMBDA___3__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_11_warmelt_modes_LAMBDA___4__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_12_warmelt_modes_LAMBDA___5__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_13_warmelt_modes_INCREMENT_MKDOC_COUNTER (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_14_warmelt_modes_MAKEDOC_SCANINPUT (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_15_warmelt_modes_LAMBDA___6__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_16_warmelt_modes_LAMBDA___7__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_17_warmelt_modes_LAMBDA___8__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_18_warmelt_modes_LAMBDA___9__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_19_warmelt_modes_MAKEDOC_OUTDEFLOC (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_20_warmelt_modes_MAKEDOC_OUTFORMALS (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_21_warmelt_modes_MAKEDOC_OUTDOC (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_22_warmelt_modes_MAKEDOC_OUTCLASSDEF (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_23_warmelt_modes_MAKEDOC_GENMACRO (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_24_warmelt_modes_LAMBDA___10__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_25_warmelt_modes_MAKEDOC_GENPATMACRO (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_26_warmelt_modes_LAMBDA___11__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_27_warmelt_modes_MAKEDOC_GENCLASS (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_28_warmelt_modes_LAMBDA___12__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_29_warmelt_modes_LAMBDA___13__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_30_warmelt_modes_LAMBDA___14__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_31_warmelt_modes_LAMBDA___15__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_32_warmelt_modes_MAKEDOC_OUTPRIMITIVEDEF (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_33_warmelt_modes_MAKEDOC_GENPRIMITIVE (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_34_warmelt_modes_LAMBDA___16__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_35_warmelt_modes_MAKEDOC_OUTFUNCTIONDEF (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_36_warmelt_modes_MAKEDOC_GENFUNCTION (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_37_warmelt_modes_LAMBDA___17__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_38_warmelt_modes_MAKEDOC_GENCITERATOR (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_39_warmelt_modes_LAMBDA___18__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_40_warmelt_modes_MAKEDOC_GENCMATCHER (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_41_warmelt_modes_LAMBDA___19__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_42_warmelt_modes_MAKEDOC_GENOUTPUT (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_43_warmelt_modes_MAKEDOC_DOCMD (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_44_warmelt_modes_LAMBDA___20__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_45_warmelt_modes_SHOWVAR_DOCMD (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_46_warmelt_modes_HELP_DOCMD (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_47_warmelt_modes_NOP_DOCMD (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_48_warmelt_modes_GENERATE_RUNTYPESUPPORT_ENUM_OBJMAGIC (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_49_warmelt_modes_GENERATE_RUNTYPESUPPORT_GTY (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_50_warmelt_modes_GENERATE_RUNTYPESUPPORT_FORWCOPY_FUN (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_51_warmelt_modes_GENERATE_RUNTYPESUPPORT_CLONING_FUN (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_52_warmelt_modes_GENERATE_RUNTYPESUPPORT_SCANNING (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_53_warmelt_modes_GENERATE_RUNTYPESUPPORT_PARAM (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_54_warmelt_modes_GENERATE_RUNTYPESUPPORT_COD2CTYPE (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_55_warmelt_modes_GENERATE_RUNTYPESUPPORT_MAG2STR (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_56_warmelt_modes_GENERATE_RUNTYPESUPPORT_BOXINGFUN (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_57_warmelt_modes_GENERATE_RUNTYPESUPPORT_MAPFUN (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_58_warmelt_modes_GENERATE_RUNTYPESUPPORT_PREDEF_FIELDS (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_59_warmelt_modes_RUNTYPESUPPORT_DOCMD (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_60_warmelt_modes_TRANSLATE_TO_FLAVORED_MODULE (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_61_warmelt_modes_TRANSLATETOMODULE_DOCMD (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_62_warmelt_modes_TRANSLATEDEBUG_DOCMD (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_63_warmelt_modes_TRANSLATEQUICKLY_DOCMD (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_64_warmelt_modes_TRANSLATEOPTIMIZED_DOCMD (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_65_warmelt_modes_TRANSLATEFILE_DOCMD (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_66_warmelt_modes_TRANSLATEINIT_DOCMD (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_67_warmelt_modes_LAMBDA___21__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_68_warmelt_modes_TRANSLATEINIT_FLAVORED (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_69_warmelt_modes_LAMBDA___22__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_70_warmelt_modes_TRANSLATEINITMODULE_DOCMD (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_71_warmelt_modes_TRANSLATEINITMODULEQUICKLYBUILT_DOCMD (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_72_warmelt_modes_TRANSLATEINITMODULEDEBUGNOLINE_DOCMD (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_73_warmelt_modes_TRANSLATEINITMODULEOPTIMIZED_DOCMD (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_74_warmelt_modes_REGISTER_INPUT_CHANNEL_HANDLER (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_75_warmelt_modes_HANDLE_ALARM_SIGNAL (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_76_warmelt_modes_LAMBDA___23__ (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_77_warmelt_modes_REGISTER_ALARM_TIMER (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_78_warmelt_modes_UNREGISTER_ALARM_TIMER (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_79_warmelt_modes_CHILD_PROCESS_SIGCHLD_HANDLER (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_80_warmelt_modes_REGISTER_CHILD_PROCESS_HANDLER (meltclosure_ptr_t 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_); melt_ptr_t MELT_MODULE_VISIBILITY meltrout_81_warmelt_modes_UNREGISTER_CHILD_PROCESS_HANDLER (meltclosure_ptr_t 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_); MELT_EXTERN void *melt_start_this_module (void *); /* define different names when debugging or not */ #if MELT_HAVE_DEBUG MELT_EXTERN const char meltmodule_warmelt_modes__melt_have_debug_enabled[]; #define melt_have_debug_string meltmodule_warmelt_modes__melt_have_debug_enabled #else /*!MELT_HAVE_DEBUG */ MELT_EXTERN const char meltmodule_warmelt_modes__melt_have_debug_disabled[]; #define melt_have_debug_string meltmodule_warmelt_modes__melt_have_debug_disabled #endif /*!MELT_HAVE_DEBUG */ struct frame_melt_start_this_module_st; void MELT_MODULE_VISIBILITY meltmod__warmelt_modes__initialmeltchunk_0 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_modes__initialmeltchunk_1 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_modes__initialmeltchunk_2 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_modes__initialmeltchunk_3 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_modes__initialmeltchunk_4 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_modes__initialmeltchunk_5 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_modes__initialmeltchunk_6 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_modes__initialmeltchunk_7 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_modes__initialmeltchunk_8 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_modes__initialmeltchunk_9 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_modes__initialmeltchunk_10 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_modes__initialmeltchunk_11 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_modes__forward_or_mark_module_start_frame (struct melt_callframe_st *fp, int marking); #define meltmarking_melt_start_this_module meltmod__warmelt_modes__forward_or_mark_module_start_frame /**** warmelt-modes+02.c implementations ****/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_50_warmelt_modes_GENERATE_RUNTYPESUPPORT_FORWCOPY_FUN (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_50_warmelt_modes_GENERATE_RUNTYPESUPPORT_FORWCOPY_FUN_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_50_warmelt_modes_GENERATE_RUNTYPESUPPORT_FORWCOPY_FUN_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 62 melt_ptr_t mcfr_varptr[62]; #define MELTFRAM_NBVARNUM 15 long mcfr_varnum[15]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_50_warmelt_modes_GENERATE_RUNTYPESUPPORT_FORWCOPY_FUN is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_50_warmelt_modes_GENERATE_RUNTYPESUPPORT_FORWCOPY_FUN_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 62; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_50_warmelt_modes_GENERATE_RUNTYPESUPPORT_FORWCOPY_FUN nbval 62*/ meltfram__.mcfr_nbvar = 62 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("GENERATE_RUNTYPESUPPORT_FORWCOPY_FUN", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:2108:/ getarg"); /*_.CTYGTYTUP__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.VALDESCTUP__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.VALDESCTUP__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.OUTNAME__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.OUTNAME__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.OUTBUF__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2112:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:2112:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2112:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2112; /*^apply.arg */ argtab[3].meltbp_cstring = "generate_runtypesupport_forwcopy_fun start outname="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OUTNAME__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2112:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2112:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2112:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2113:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L3*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.VALDESCTUP__V3*/ meltfptr[2])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-modes.melt:2113:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2113:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check valdesctup"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2113) ? (2113) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2113:/ clear"); /*clear *//*_#IS_MULTIPLE__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2114:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L4*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.CTYGTYTUP__V2*/ meltfptr[1])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-modes.melt:2114:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2114:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ctygtytup"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2114) ? (2114) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2114:/ clear"); /*clear *//*_#IS_MULTIPLE__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2115:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_STRBUF__L5*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4])) == MELTOBMAG_STRBUF);; MELT_LOCATION ("warmelt-modes.melt:2115:/ cond"); /*cond */ if ( /*_#IS_STRBUF__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2115:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check outbuf"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2115) ? (2115) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2115:/ clear"); /*clear *//*_#IS_STRBUF__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:2116:/ locexp"); if (65000 > 0) meltgc_strbuf_reserve ((melt_ptr_t) /*_.OUTBUF__V5*/ meltfptr[4], (unsigned) 65000);; } ; { MELT_LOCATION ("warmelt-modes.melt:2118:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2119:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2120:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/** generated by generate_runtypesupport_forwcopy_fun **/")); } ; { MELT_LOCATION ("warmelt-modes.melt:2121:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2122:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) (( /*!konst_1 */ meltfrout-> tabval[1])))); } ; { MELT_LOCATION ("warmelt-modes.melt:2140:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2141:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/* value descriptor forward copy for melt_forwarded_copy */")); } ; { MELT_LOCATION ("warmelt-modes.melt:2144:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.VALDESCTUP__V3*/ meltfptr[2]); for ( /*_#VIX__L6*/ meltfnum[0] = 0; ( /*_#VIX__L6*/ meltfnum[0] >= 0) && ( /*_#VIX__L6*/ meltfnum[0] < meltcit1__EACHTUP_ln); /*_#VIX__L6*/ meltfnum[0]++) { /*_.CURVALDESC__V16*/ meltfptr[14] = melt_multiple_nth ((melt_ptr_t) ( /*_.VALDESCTUP__V3*/ meltfptr[2]), /*_#VIX__L6*/ meltfnum[0]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2148:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L7*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:2148:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2148:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2148; /*^apply.arg */ argtab[3].meltbp_cstring = "runtypesupport_forwcopy curvaldesc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURVALDESC__V16*/ meltfptr[14]; /*_.MELT_DEBUG_FUN__V19*/ meltfptr[18] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V18*/ meltfptr[17] = /*_.MELT_DEBUG_FUN__V19*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2148:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V19*/ meltfptr[18] = 0; } ; } else { /*^cond.else */ /*_.IF___V18*/ meltfptr[17] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2148:/ quasiblock"); /*_.PROGN___V20*/ meltfptr[18] = /*_.IF___V18*/ meltfptr[17];; /*^compute */ /*_.IFCPP___V17*/ meltfptr[16] = /*_.PROGN___V20*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2148:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.PROGN___V20*/ meltfptr[18] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V17*/ meltfptr[16] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2149:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L9*/ meltfnum[7] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_VALUE_DESCRIPTOR */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-modes.melt:2149:/ cond"); /*cond */ if ( /*_#IS_A__L9*/ meltfnum[7]) /*then */ { /*^cond.then */ /*_.IFELSE___V22*/ meltfptr[18] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2149:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curvaldesc"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2149) ? (2149) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V22*/ meltfptr[18] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V21*/ meltfptr[17] = /*_.IFELSE___V22*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2149:/ clear"); /*clear *//*_#IS_A__L9*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IFELSE___V22*/ meltfptr[18] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V21*/ meltfptr[17] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:2150:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2151:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/*valdesc #")); } ; /*_#I__L10*/ meltfnum[1] = ((1) + ( /*_#VIX__L6*/ meltfnum[0]));; { MELT_LOCATION ("warmelt-modes.melt:2152:/ locexp"); meltgc_add_strbuf_dec ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ( /*_#I__L10*/ meltfnum[1])); } ; { MELT_LOCATION ("warmelt-modes.melt:2153:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" ")); } ; MELT_LOCATION ("warmelt-modes.melt:2154:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V23*/ meltfptr[18] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V23*/ meltfptr[18] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2154:/ locexp"); meltgc_add_strbuf_ccomment ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.NAMED_NAME__V23*/ meltfptr[18]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2155:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("*/")); } ; { MELT_LOCATION ("warmelt-modes.melt:2156:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2157:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("case ")); } ; MELT_LOCATION ("warmelt-modes.melt:2158:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_VALUE_DESCRIPTOR */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "VALDESC_OBJMAGIC"); /*_.VALDESC_OBJMAGIC__V24*/ meltfptr[23] = slot; }; ; } else { /*^cond.else */ /*_.VALDESC_OBJMAGIC__V24*/ meltfptr[23] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2158:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.VALDESC_OBJMAGIC__V24*/ meltfptr[23]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2159:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (": {")); } ; { MELT_LOCATION ("warmelt-modes.melt:2160:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2161:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("struct ")); } ; MELT_LOCATION ("warmelt-modes.melt:2162:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_VALUE_DESCRIPTOR */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "VALDESC_STRUCT"); /*_.VALDESC_STRUCT__V25*/ meltfptr[24] = slot; }; ; } else { /*^cond.else */ /*_.VALDESC_STRUCT__V25*/ meltfptr[24] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2162:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.VALDESC_STRUCT__V25*/ meltfptr[24]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2163:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("*src = (struct ")); } ; MELT_LOCATION ("warmelt-modes.melt:2164:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_VALUE_DESCRIPTOR */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "VALDESC_STRUCT"); /*_.VALDESC_STRUCT__V26*/ meltfptr[25] = slot; }; ; } else { /*^cond.else */ /*_.VALDESC_STRUCT__V26*/ meltfptr[25] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2164:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.VALDESC_STRUCT__V26*/ meltfptr[25]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2165:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("*) p;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2166:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2167:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("struct ")); } ; MELT_LOCATION ("warmelt-modes.melt:2168:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_VALUE_DESCRIPTOR */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "VALDESC_STRUCT"); /*_.VALDESC_STRUCT__V27*/ meltfptr[26] = slot; }; ; } else { /*^cond.else */ /*_.VALDESC_STRUCT__V27*/ meltfptr[26] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2168:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.VALDESC_STRUCT__V27*/ meltfptr[26]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2169:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("*dst = NULL;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2170:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; MELT_LOCATION ("warmelt-modes.melt:2171:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_VALUE_DESCRIPTOR */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 8, "VALDESC_COPYCHUNK"); /*_.VALDESC_COPYCHUNK__V28*/ meltfptr[27] = slot; }; ; } else { /*^cond.else */ /*_.VALDESC_COPYCHUNK__V28*/ meltfptr[27] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2171:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.VALDESC_COPYCHUNK__V28*/ meltfptr[27]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2172:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2173:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("n = (melt_ptr_t) dst;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2174:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2175:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("break; }")); } ; { MELT_LOCATION ("warmelt-modes.melt:2176:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; if ( /*_#VIX__L6*/ meltfnum[0] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-modes.melt:2145:/ clear"); /*clear *//*_.CURVALDESC__V16*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_#VIX__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFCPP___V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.IFCPP___V21*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_#I__L10*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V23*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.VALDESC_OBJMAGIC__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.VALDESC_STRUCT__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.VALDESC_STRUCT__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.VALDESC_STRUCT__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.VALDESC_COPYCHUNK__V28*/ meltfptr[27] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; { MELT_LOCATION ("warmelt-modes.melt:2179:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2180:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2181:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/* gty ctype forward copy for melt_forwarded_copy */")); } ; { MELT_LOCATION ("warmelt-modes.melt:2182:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit2__EACHTUP */ long meltcit2__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.CTYGTYTUP__V2*/ meltfptr[1]); for ( /*_#TIX__L11*/ meltfnum[7] = 0; ( /*_#TIX__L11*/ meltfnum[7] >= 0) && ( /*_#TIX__L11*/ meltfnum[7] < meltcit2__EACHTUP_ln); /*_#TIX__L11*/ meltfnum[7]++) { /*_.CURCTYP__V29*/ meltfptr[28] = melt_multiple_nth ((melt_ptr_t) ( /*_.CTYGTYTUP__V2*/ meltfptr[1]), /*_#TIX__L11*/ meltfnum[7]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2186:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L12*/ meltfnum[11] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:2186:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L12*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[12] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2186:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[12]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2186; /*^apply.arg */ argtab[3].meltbp_cstring = "runtypesupport_forwcopy curctyp="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURCTYP__V29*/ meltfptr[28]; /*_.MELT_DEBUG_FUN__V32*/ meltfptr[31] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V31*/ meltfptr[30] = /*_.MELT_DEBUG_FUN__V32*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2186:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L13*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V32*/ meltfptr[31] = 0; } ; } else { /*^cond.else */ /*_.IF___V31*/ meltfptr[30] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2186:/ quasiblock"); /*_.PROGN___V33*/ meltfptr[31] = /*_.IF___V31*/ meltfptr[30];; /*^compute */ /*_.IFCPP___V30*/ meltfptr[29] = /*_.PROGN___V33*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2186:/ clear"); /*clear *//*_#MELT_NEED_DBG__L12*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IF___V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.PROGN___V33*/ meltfptr[31] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V30*/ meltfptr[29] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2187:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L14*/ meltfnum[12] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4])));; MELT_LOCATION ("warmelt-modes.melt:2187:/ cond"); /*cond */ if ( /*_#IS_A__L14*/ meltfnum[12]) /*then */ { /*^cond.then */ /*_.IFELSE___V35*/ meltfptr[31] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2187:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curctygty"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2187) ? (2187) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V35*/ meltfptr[31] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V34*/ meltfptr[30] = /*_.IFELSE___V35*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2187:/ clear"); /*clear *//*_#IS_A__L14*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.IFELSE___V35*/ meltfptr[31] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V34*/ meltfptr[30] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:2188:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/*forwcopy gtyctype #")); } ; /*_#I__L15*/ meltfnum[11] = ((1) + ( /*_#TIX__L11*/ meltfnum[7]));; { MELT_LOCATION ("warmelt-modes.melt:2189:/ locexp"); meltgc_add_strbuf_dec ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ( /*_#I__L15*/ meltfnum[11])); } ; { MELT_LOCATION ("warmelt-modes.melt:2190:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" ")); } ; MELT_LOCATION ("warmelt-modes.melt:2191:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V36*/ meltfptr[31] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V36*/ meltfptr[31] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2191:/ locexp"); meltgc_add_strbuf_ccomment ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.NAMED_NAME__V36*/ meltfptr[31]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2192:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("*/")); } ; { MELT_LOCATION ("warmelt-modes.melt:2193:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2195:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("case ")); } ; MELT_LOCATION ("warmelt-modes.melt:2196:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 13, "CTYPG_BOXEDMAGIC"); /*_.CTYPG_BOXEDMAGIC__V37*/ meltfptr[36] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_BOXEDMAGIC__V37*/ meltfptr[36] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2196:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_BOXEDMAGIC__V37*/ meltfptr[36]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2197:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (": {")); } ; { MELT_LOCATION ("warmelt-modes.melt:2198:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2199:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/* macro ggc_alloc_")); } ; MELT_LOCATION ("warmelt-modes.melt:2200:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 15, "CTYPG_BOXEDSTRUCT"); /*_.CTYPG_BOXEDSTRUCT__V38*/ meltfptr[37] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_BOXEDSTRUCT__V38*/ meltfptr[37] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2200:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_BOXEDSTRUCT__V38*/ meltfptr[37]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2201:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" should be generated by gengtype not by runtypesupport_forwcopy */")); } ; { MELT_LOCATION ("warmelt-modes.melt:2202:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2203:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("#ifndef ggc_alloc_")); } ; MELT_LOCATION ("warmelt-modes.melt:2204:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 15, "CTYPG_BOXEDSTRUCT"); /*_.CTYPG_BOXEDSTRUCT__V39*/ meltfptr[38] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_BOXEDSTRUCT__V39*/ meltfptr[38] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2204:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_BOXEDSTRUCT__V39*/ meltfptr[38]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2205:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2206:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("#define ggc_alloc_")); } ; MELT_LOCATION ("warmelt-modes.melt:2207:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 15, "CTYPG_BOXEDSTRUCT"); /*_.CTYPG_BOXEDSTRUCT__V40*/ meltfptr[39] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_BOXEDSTRUCT__V40*/ meltfptr[39] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2207:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_BOXEDSTRUCT__V40*/ meltfptr[39]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2208:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("() ((struct ")); } ; MELT_LOCATION ("warmelt-modes.melt:2209:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 15, "CTYPG_BOXEDSTRUCT"); /*_.CTYPG_BOXEDSTRUCT__V41*/ meltfptr[40] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_BOXEDSTRUCT__V41*/ meltfptr[40] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2209:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_BOXEDSTRUCT__V41*/ meltfptr[40]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2210:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("*)(ggc_internal_alloc_stat (sizeof (struct ")); } ; MELT_LOCATION ("warmelt-modes.melt:2211:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 15, "CTYPG_BOXEDSTRUCT"); /*_.CTYPG_BOXEDSTRUCT__V42*/ meltfptr[41] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_BOXEDSTRUCT__V42*/ meltfptr[41] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2211:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_BOXEDSTRUCT__V42*/ meltfptr[41]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2212:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (") MEM_STAT_INFO)))")); } ; { MELT_LOCATION ("warmelt-modes.melt:2213:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2214:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("#endif")); } ; { MELT_LOCATION ("warmelt-modes.melt:2215:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2216:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("struct ")); } ; MELT_LOCATION ("warmelt-modes.melt:2217:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 15, "CTYPG_BOXEDSTRUCT"); /*_.CTYPG_BOXEDSTRUCT__V43*/ meltfptr[42] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_BOXEDSTRUCT__V43*/ meltfptr[42] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2217:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_BOXEDSTRUCT__V43*/ meltfptr[42]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2218:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" *src = (struct ")); } ; MELT_LOCATION ("warmelt-modes.melt:2219:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 15, "CTYPG_BOXEDSTRUCT"); /*_.CTYPG_BOXEDSTRUCT__V44*/ meltfptr[43] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_BOXEDSTRUCT__V44*/ meltfptr[43] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2219:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_BOXEDSTRUCT__V44*/ meltfptr[43]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2220:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("*) p;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2221:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2222:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("struct ")); } ; MELT_LOCATION ("warmelt-modes.melt:2223:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 15, "CTYPG_BOXEDSTRUCT"); /*_.CTYPG_BOXEDSTRUCT__V45*/ meltfptr[44] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_BOXEDSTRUCT__V45*/ meltfptr[44] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2223:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_BOXEDSTRUCT__V45*/ meltfptr[44]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2224:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" *dst = ggc_alloc_")); } ; MELT_LOCATION ("warmelt-modes.melt:2225:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 15, "CTYPG_BOXEDSTRUCT"); /*_.CTYPG_BOXEDSTRUCT__V46*/ meltfptr[45] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_BOXEDSTRUCT__V46*/ meltfptr[45] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2225:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_BOXEDSTRUCT__V46*/ meltfptr[45]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2226:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" ();")); } ; { MELT_LOCATION ("warmelt-modes.melt:2227:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2228:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" *dst = *src;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2229:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2230:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" n = (melt_ptr_t) dst;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2231:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2232:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("break; }")); } ; { MELT_LOCATION ("warmelt-modes.melt:2233:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2235:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("case ")); } ; MELT_LOCATION ("warmelt-modes.melt:2236:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 14, "CTYPG_MAPMAGIC"); /*_.CTYPG_MAPMAGIC__V47*/ meltfptr[46] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_MAPMAGIC__V47*/ meltfptr[46] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2236:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_MAPMAGIC__V47*/ meltfptr[46]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2237:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (": {")); } ; { MELT_LOCATION ("warmelt-modes.melt:2239:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2240:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/* ggc_alloc_")); } ; MELT_LOCATION ("warmelt-modes.melt:2241:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 18, "CTYPG_MAPSTRUCT"); /*_.CTYPG_MAPSTRUCT__V48*/ meltfptr[47] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_MAPSTRUCT__V48*/ meltfptr[47] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2241:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_MAPSTRUCT__V48*/ meltfptr[47]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2242:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" should be generated by gengtype not by runtypesupport_forwcopy */")); } ; { MELT_LOCATION ("warmelt-modes.melt:2243:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2244:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("#ifndef ggc_alloc_")); } ; MELT_LOCATION ("warmelt-modes.melt:2245:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 18, "CTYPG_MAPSTRUCT"); /*_.CTYPG_MAPSTRUCT__V49*/ meltfptr[48] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_MAPSTRUCT__V49*/ meltfptr[48] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2245:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_MAPSTRUCT__V49*/ meltfptr[48]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2246:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2247:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("#define ggc_alloc_")); } ; MELT_LOCATION ("warmelt-modes.melt:2248:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 18, "CTYPG_MAPSTRUCT"); /*_.CTYPG_MAPSTRUCT__V50*/ meltfptr[49] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_MAPSTRUCT__V50*/ meltfptr[49] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2248:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_MAPSTRUCT__V50*/ meltfptr[49]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2249:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("() ((struct ")); } ; MELT_LOCATION ("warmelt-modes.melt:2250:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 18, "CTYPG_MAPSTRUCT"); /*_.CTYPG_MAPSTRUCT__V51*/ meltfptr[50] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_MAPSTRUCT__V51*/ meltfptr[50] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2250:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_MAPSTRUCT__V51*/ meltfptr[50]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2251:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("*) (ggc_internal_alloc_stat (sizeof (struct ")); } ; MELT_LOCATION ("warmelt-modes.melt:2252:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 18, "CTYPG_MAPSTRUCT"); /*_.CTYPG_MAPSTRUCT__V52*/ meltfptr[51] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_MAPSTRUCT__V52*/ meltfptr[51] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2252:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_MAPSTRUCT__V52*/ meltfptr[51]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2253:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (") MEM_STAT_INFO))) ")); } ; { MELT_LOCATION ("warmelt-modes.melt:2254:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2255:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("#endif")); } ; { MELT_LOCATION ("warmelt-modes.melt:2257:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2258:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/* ggc_alloc_vec_")); } ; MELT_LOCATION ("warmelt-modes.melt:2259:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 17, "CTYPG_ENTRYSTRUCT"); /*_.CTYPG_ENTRYSTRUCT__V53*/ meltfptr[52] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_ENTRYSTRUCT__V53*/ meltfptr[52] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2259:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_ENTRYSTRUCT__V53*/ meltfptr[52]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2260:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" should be generated by gengtype not by runtypesupport_forwcopy */")); } ; { MELT_LOCATION ("warmelt-modes.melt:2261:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2262:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("#ifndef ggc_alloc_vec_")); } ; MELT_LOCATION ("warmelt-modes.melt:2263:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 17, "CTYPG_ENTRYSTRUCT"); /*_.CTYPG_ENTRYSTRUCT__V54*/ meltfptr[53] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_ENTRYSTRUCT__V54*/ meltfptr[53] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2263:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_ENTRYSTRUCT__V54*/ meltfptr[53]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2264:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2265:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("#define ggc_alloc_vec_")); } ; MELT_LOCATION ("warmelt-modes.melt:2266:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 17, "CTYPG_ENTRYSTRUCT"); /*_.CTYPG_ENTRYSTRUCT__V55*/ meltfptr[54] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_ENTRYSTRUCT__V55*/ meltfptr[54] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2266:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_ENTRYSTRUCT__V55*/ meltfptr[54]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2267:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("(n) ((struct ")); } ; MELT_LOCATION ("warmelt-modes.melt:2268:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 17, "CTYPG_ENTRYSTRUCT"); /*_.CTYPG_ENTRYSTRUCT__V56*/ meltfptr[55] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_ENTRYSTRUCT__V56*/ meltfptr[55] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2268:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_ENTRYSTRUCT__V56*/ meltfptr[55]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2269:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("*) (ggc_internal_vec_alloc_stat (sizeof (struct ")); } ; MELT_LOCATION ("warmelt-modes.melt:2270:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 17, "CTYPG_ENTRYSTRUCT"); /*_.CTYPG_ENTRYSTRUCT__V57*/ meltfptr[56] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_ENTRYSTRUCT__V57*/ meltfptr[56] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2270:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_ENTRYSTRUCT__V57*/ meltfptr[56]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2271:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("), n MEM_STAT_INFO))) ")); } ; { MELT_LOCATION ("warmelt-modes.melt:2272:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2273:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("#endif")); } ; { MELT_LOCATION ("warmelt-modes.melt:2275:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2276:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("struct ")); } ; MELT_LOCATION ("warmelt-modes.melt:2277:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 18, "CTYPG_MAPSTRUCT"); /*_.CTYPG_MAPSTRUCT__V58*/ meltfptr[57] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_MAPSTRUCT__V58*/ meltfptr[57] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2277:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_MAPSTRUCT__V58*/ meltfptr[57]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2278:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" *src = (struct ")); } ; MELT_LOCATION ("warmelt-modes.melt:2279:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 18, "CTYPG_MAPSTRUCT"); /*_.CTYPG_MAPSTRUCT__V59*/ meltfptr[58] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_MAPSTRUCT__V59*/ meltfptr[58] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2279:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_MAPSTRUCT__V59*/ meltfptr[58]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2280:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("*) p;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2281:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2282:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("int siz = melt_primtab[src->lenix];")); } ; { MELT_LOCATION ("warmelt-modes.melt:2283:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2284:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("struct ")); } ; MELT_LOCATION ("warmelt-modes.melt:2285:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 18, "CTYPG_MAPSTRUCT"); /*_.CTYPG_MAPSTRUCT__V60*/ meltfptr[59] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_MAPSTRUCT__V60*/ meltfptr[59] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2285:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_MAPSTRUCT__V60*/ meltfptr[59]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2286:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" *dst = ggc_alloc_")); } ; MELT_LOCATION ("warmelt-modes.melt:2287:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 18, "CTYPG_MAPSTRUCT"); /*_.CTYPG_MAPSTRUCT__V61*/ meltfptr[60] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_MAPSTRUCT__V61*/ meltfptr[60] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2287:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_MAPSTRUCT__V61*/ meltfptr[60]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2288:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" ();")); } ; { MELT_LOCATION ("warmelt-modes.melt:2289:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2290:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("dst->discr = src->discr;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2291:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2292:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("dst->count = src->count;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2293:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2294:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("dst->lenix = src->lenix;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2295:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2296:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("dst->meltmap_aux = src->meltmap_aux;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2297:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2298:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("if (siz > 0 && src->entab) {")); } ; { MELT_LOCATION ("warmelt-modes.melt:2299:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (3), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2300:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("dst->entab = ggc_alloc_vec_")); } ; MELT_LOCATION ("warmelt-modes.melt:2301:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V29*/ meltfptr[28]) /*=obj*/ ; melt_object_get_field (slot, obj, 17, "CTYPG_ENTRYSTRUCT"); /*_.CTYPG_ENTRYSTRUCT__V62*/ meltfptr[61] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_ENTRYSTRUCT__V62*/ meltfptr[61] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2301:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_ENTRYSTRUCT__V62*/ meltfptr[61]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2302:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" (siz);")); } ; { MELT_LOCATION ("warmelt-modes.melt:2303:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (3), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2304:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("memcpy (dst->entab, src->entab, siz * sizeof (dst->entab[0]));")); } ; { MELT_LOCATION ("warmelt-modes.melt:2305:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2306:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("} else dst->entab = NULL;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2307:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2308:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" n = (melt_ptr_t) dst;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2309:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2310:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("break; }")); } ; { MELT_LOCATION ("warmelt-modes.melt:2311:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; if ( /*_#TIX__L11*/ meltfnum[7] < 0) break; } /* end foreach_in_multiple meltcit2__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-modes.melt:2183:/ clear"); /*clear *//*_.CURCTYP__V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_#TIX__L11*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.IFCPP___V34*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_#I__L15*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V36*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.CTYPG_BOXEDMAGIC__V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.CTYPG_BOXEDSTRUCT__V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.CTYPG_BOXEDSTRUCT__V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.CTYPG_BOXEDSTRUCT__V40*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.CTYPG_BOXEDSTRUCT__V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.CTYPG_BOXEDSTRUCT__V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.CTYPG_BOXEDSTRUCT__V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.CTYPG_BOXEDSTRUCT__V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.CTYPG_BOXEDSTRUCT__V45*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.CTYPG_BOXEDSTRUCT__V46*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPMAGIC__V47*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPSTRUCT__V48*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPSTRUCT__V49*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPSTRUCT__V50*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPSTRUCT__V51*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPSTRUCT__V52*/ meltfptr[51] = 0; /*^clear */ /*clear *//*_.CTYPG_ENTRYSTRUCT__V53*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.CTYPG_ENTRYSTRUCT__V54*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.CTYPG_ENTRYSTRUCT__V55*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.CTYPG_ENTRYSTRUCT__V56*/ meltfptr[55] = 0; /*^clear */ /*clear *//*_.CTYPG_ENTRYSTRUCT__V57*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPSTRUCT__V58*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPSTRUCT__V59*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPSTRUCT__V60*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPSTRUCT__V61*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.CTYPG_ENTRYSTRUCT__V62*/ meltfptr[61] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; { MELT_LOCATION ("warmelt-modes.melt:2315:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) (( /*!konst_5 */ meltfrout-> tabval[5])))); } ; { MELT_LOCATION ("warmelt-modes.melt:2365:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2366:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/** end of code generated by generate_runtypesupport_forwcopy_fun **/")); } ; { MELT_LOCATION ("warmelt-modes.melt:2367:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2368:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; MELT_CHECK_SIGNAL (); ; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2108:/ clear"); /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[12] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("GENERATE_RUNTYPESUPPORT_FORWCOPY_FUN", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_50_warmelt_modes_GENERATE_RUNTYPESUPPORT_FORWCOPY_FUN_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*noretval */ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_50_warmelt_modes_GENERATE_RUNTYPESUPPORT_FORWCOPY_FUN */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_51_warmelt_modes_GENERATE_RUNTYPESUPPORT_CLONING_FUN (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_51_warmelt_modes_GENERATE_RUNTYPESUPPORT_CLONING_FUN_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_51_warmelt_modes_GENERATE_RUNTYPESUPPORT_CLONING_FUN_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 59 melt_ptr_t mcfr_varptr[59]; #define MELTFRAM_NBVARNUM 19 long mcfr_varnum[19]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_51_warmelt_modes_GENERATE_RUNTYPESUPPORT_CLONING_FUN is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_51_warmelt_modes_GENERATE_RUNTYPESUPPORT_CLONING_FUN_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 59; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_51_warmelt_modes_GENERATE_RUNTYPESUPPORT_CLONING_FUN nbval 59*/ meltfram__.mcfr_nbvar = 59 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("GENERATE_RUNTYPESUPPORT_CLONING_FUN", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:2376:/ getarg"); /*_.CTYGTYTUP__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.VALDESCTUP__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.VALDESCTUP__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.OUTNAME__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.OUTNAME__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.OUTBUF__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2380:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:2380:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2380:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2380; /*^apply.arg */ argtab[3].meltbp_cstring = "generate_runtypesupport_cloning_fun start outname="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OUTNAME__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2380:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2380:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2380:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2381:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L3*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.VALDESCTUP__V3*/ meltfptr[2])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-modes.melt:2381:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2381:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check valdesctup"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2381) ? (2381) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2381:/ clear"); /*clear *//*_#IS_MULTIPLE__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2382:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L4*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.CTYGTYTUP__V2*/ meltfptr[1])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-modes.melt:2382:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2382:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ctygtytup"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2382) ? (2382) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2382:/ clear"); /*clear *//*_#IS_MULTIPLE__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2383:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_STRBUF__L5*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4])) == MELTOBMAG_STRBUF);; MELT_LOCATION ("warmelt-modes.melt:2383:/ cond"); /*cond */ if ( /*_#IS_STRBUF__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2383:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check outbuf"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2383) ? (2383) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2383:/ clear"); /*clear *//*_#IS_STRBUF__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:2384:/ locexp"); if (65000 > 0) meltgc_strbuf_reserve ((melt_ptr_t) /*_.OUTBUF__V5*/ meltfptr[4], (unsigned) 65000);; } ; { MELT_LOCATION ("warmelt-modes.melt:2386:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2387:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2388:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/** generated by generate_runtypesupport_cloning_fun **/")); } ; { MELT_LOCATION ("warmelt-modes.melt:2389:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2391:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = " /* generated cloning routine head */\ \nmelt_ptr_t\nmeltgc_clone_with_discriminant (melt_ptr_t srcval_p,\ melt_ptr_t newdiscr_p)\n{\n unsigned srcmagic = 0;\ \n unsigned newmagic = 0;\n MELT_ENTERFRAME (5, NULL);\ \n#define resv meltfram__.mcfr_varptr[0]\ \n#define srcvalv meltfram__.mcfr_varptr[1]\ \n#define newdiscrv meltfram__.mcfr_varptr[2]\ \n#define srcdiscrv meltfram__.mcfr_varptr[3]\ \n#define compv meltfram__.mcfr_varptr[4]\ \n srcvalv = srcval_p;\n newdiscrv = newdiscr_p;\ \n resv = srcvalv;\n if (!srcvalv) \ \n goto end;\n srcdiscrv = ((melt_ptr_t)srcvalv)->u_discr;\ \n if (!newdiscrv)\n newdiscrv = srcdiscrv;\ \n if (melt_magic_discr((melt_ptr_t)newdiscrv) != MELTOBMAG_OBJECT\ \ \n || ((meltobject_ptr_t)newdiscrv)->obj_len < MELTLENGTH_CLASS_DISCRIMI\ NANT)\n goto end;\n if (!melt_is_instance_of((melt_ptr_t)newdiscrv\ , \n\t\t\t MELT_PREDEF (CLASS_DISCRIMINANT)))\ \n goto end;\n srcmagic = melt_magic_discr ((melt_ptr_t)srcvalv\ );\n newmagic = ((meltobject_ptr_t)newdiscrv)->meltobj_magic;\ \n if (srcmagic != newmagic) \n goto end;\ \n switch (srcmagic) { /* end cloning heeade\ r */\n"; /*_.ADD2OUT__V16*/ meltfptr[14] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout->tabval[1])), (melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2424:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; MELT_LOCATION ("warmelt-modes.melt:2427:/ quasiblock"); /*_#NBCTYGTYTUP__L6*/ meltfnum[0] = (melt_multiple_length ((melt_ptr_t) ( /*_.CTYGTYTUP__V2*/ meltfptr[1])));; { MELT_LOCATION ("warmelt-modes.melt:2429:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2430:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = "/*** cloning "; /*^apply.arg */ argtab[1].meltbp_long = /*_#NBCTYGTYTUP__L6*/ meltfnum[0]; /*^apply.arg */ argtab[2].meltbp_cstring = " GTY-ed ctypes ***/"; /*_.ADD2OUT__V17*/ meltfptr[16] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout->tabval[1])), (melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2431:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.CTYGTYTUP__V2*/ meltfptr[1]); for ( /*_#TIX__L7*/ meltfnum[1] = 0; ( /*_#TIX__L7*/ meltfnum[1] >= 0) && ( /*_#TIX__L7*/ meltfnum[1] < meltcit1__EACHTUP_ln); /*_#TIX__L7*/ meltfnum[1]++) { /*_.CURCTYP__V18*/ meltfptr[17] = melt_multiple_nth ((melt_ptr_t) ( /*_.CTYGTYTUP__V2*/ meltfptr[1]), /*_#TIX__L7*/ meltfnum[1]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2436:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L8*/ meltfnum[7] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:2436:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2436:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2436; /*^apply.arg */ argtab[3].meltbp_cstring = "runtypesupport_cloning curctyp="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURCTYP__V18*/ meltfptr[17]; /*^apply.arg */ argtab[5].meltbp_cstring = " tix="; /*^apply.arg */ argtab[6].meltbp_long = /*_#TIX__L7*/ meltfnum[1]; /*_.MELT_DEBUG_FUN__V21*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V20*/ meltfptr[19] = /*_.MELT_DEBUG_FUN__V21*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2436:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V21*/ meltfptr[20] = 0; } ; } else { /*^cond.else */ /*_.IF___V20*/ meltfptr[19] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2436:/ quasiblock"); /*_.PROGN___V22*/ meltfptr[20] = /*_.IF___V20*/ meltfptr[19];; /*^compute */ /*_.IFCPP___V19*/ meltfptr[18] = /*_.PROGN___V22*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2436:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IF___V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.PROGN___V22*/ meltfptr[20] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V19*/ meltfptr[18] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2437:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L10*/ meltfnum[8] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-modes.melt:2437:/ cond"); /*cond */ if ( /*_#IS_A__L10*/ meltfnum[8]) /*then */ { /*^cond.then */ /*_.IFELSE___V24*/ meltfptr[20] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2437:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curctygty"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2437) ? (2437) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V24*/ meltfptr[20] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V23*/ meltfptr[19] = /*_.IFELSE___V24*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2437:/ clear"); /*clear *//*_#IS_A__L10*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IFELSE___V24*/ meltfptr[20] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V23*/ meltfptr[19] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-modes.melt:2438:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.CTYPNAME__V26*/ meltfptr[25] = slot; }; ; } else { /*^cond.else */ /*_.CTYPNAME__V26*/ meltfptr[25] = NULL;; } ; /*^compute */ /*_#TIXSUCC__L11*/ meltfnum[7] = ((1) + ( /*_#TIX__L7*/ meltfnum[1]));; MELT_LOCATION ("warmelt-modes.melt:2440:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "CTYPE_CNAME"); /*_.TYCNAME__V27*/ meltfptr[26] = slot; }; ; } else { /*^cond.else */ /*_.TYCNAME__V27*/ meltfptr[26] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2441:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 14, "CTYPG_MAPMAGIC"); /*_.MAPMAGIC__V28*/ meltfptr[27] = slot; }; ; } else { /*^cond.else */ /*_.MAPMAGIC__V28*/ meltfptr[27] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2442:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 13, "CTYPG_BOXEDMAGIC"); /*_.BOXMAGIC__V29*/ meltfptr[28] = slot; }; ; } else { /*^cond.else */ /*_.BOXMAGIC__V29*/ meltfptr[28] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2443:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 15, "CTYPG_BOXEDSTRUCT"); /*_.BOXSTRUCT__V30*/ meltfptr[29] = slot; }; ; } else { /*^cond.else */ /*_.BOXSTRUCT__V30*/ meltfptr[29] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2444:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 18, "CTYPG_MAPSTRUCT"); /*_.MAPSTRUCT__V31*/ meltfptr[30] = slot; }; ; } else { /*^cond.else */ /*_.MAPSTRUCT__V31*/ meltfptr[30] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2445:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V18*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V18*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 17, "CTYPG_ENTRYSTRUCT"); /*_.ENTRYSTRUCT__V32*/ meltfptr[31] = slot; }; ; } else { /*^cond.else */ /*_.ENTRYSTRUCT__V32*/ meltfptr[31] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2447:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2448:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = "/*cloning gtyctype #"; /*^apply.arg */ argtab[1].meltbp_long = /*_#TIXSUCC__L11*/ meltfnum[7]; /*^apply.arg */ argtab[2].meltbp_cstring = " "; /*^apply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.CTYPNAME__V26*/ meltfptr[25]; /*^apply.arg */ argtab[4].meltbp_cstring = " */"; /*_.ADD2OUT__V33*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout->tabval[1])), (melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2449:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2450:/ apply"); /*apply */ { union meltparam_un argtab[15]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = "case "; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.BOXMAGIC__V29*/ meltfptr[28]; /*^apply.arg */ argtab[2].meltbp_cstring = " : { /* cloning boxed value "; /*^apply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.CTYPNAME__V26*/ meltfptr[25]; /*^apply.arg */ argtab[4].meltbp_cstring = " */\n\t struct "; /*^apply.arg */ argtab[5].meltbp_aptr = (melt_ptr_t *) & /*_.BOXSTRUCT__V30*/ meltfptr[29]; /*^apply.arg */ argtab[6].meltbp_cstring = " *src = (struct "; /*^apply.arg */ argtab[7].meltbp_aptr = (melt_ptr_t *) & /*_.BOXSTRUCT__V30*/ meltfptr[29]; /*^apply.arg */ argtab[8].meltbp_cstring = " *) srcvalv;\n\t struct "; /*^apply.arg */ argtab[9].meltbp_aptr = (melt_ptr_t *) & /*_.BOXSTRUCT__V30*/ meltfptr[29]; /*^apply.arg */ argtab[10].meltbp_cstring = " *dst = (struct "; /*^apply.arg */ argtab[11].meltbp_aptr = (melt_ptr_t *) & /*_.BOXSTRUCT__V30*/ meltfptr[29]; /*^apply.arg */ argtab[12].meltbp_cstring = " *) meltgc_allocate (sizeof(struct "; /*^apply.arg */ argtab[13].meltbp_aptr = (melt_ptr_t *) & /*_.BOXSTRUCT__V30*/ meltfptr[29]; /*^apply.arg */ argtab[14].meltbp_cstring = "), 0);"; /*_.ADD2OUT__V34*/ meltfptr[33] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout->tabval[1])), (melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2454:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2455:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = "\n *dst = *src;\n\t dst->discr = (meltobject_ptr_t) newdiscrv\ ; \n\t resv = (melt_ptr_t) dst;\ \n }\n\t break;"; /*_.ADD2OUT__V35*/ meltfptr[34] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout->tabval[1])), (melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2462:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2463:/ cond"); /*cond */ if ( /*_.MAPSTRUCT__V31*/ meltfptr[30]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*_.ENTRYSTRUCT__V32*/ meltfptr[31]) /*then */ { /*^cond.then */ /*_.IF___V37*/ meltfptr[36] = /*_.MAPMAGIC__V28*/ meltfptr[27];; } else { MELT_LOCATION ("warmelt-modes.melt:2463:/ cond.else"); /*_.IF___V37*/ meltfptr[36] = NULL;; } ; /*^compute */ /*_.IF___V36*/ meltfptr[35] = /*_.IF___V37*/ meltfptr[36];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2463:/ clear"); /*clear *//*_.IF___V37*/ meltfptr[36] = 0; } ; } else { /*^cond.else */ /*_.IF___V36*/ meltfptr[35] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2463:/ cond"); /*cond */ if ( /*_.IF___V36*/ meltfptr[35]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:2464:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2466:/ apply"); /*apply */ { union meltparam_un argtab[17]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = "case "; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.MAPMAGIC__V28*/ meltfptr[27]; /*^apply.arg */ argtab[2].meltbp_cstring = " : { /* cloning map value "; /*^apply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.CTYPNAME__V26*/ meltfptr[25]; /*^apply.arg */ argtab[4].meltbp_cstring = " */\n\t struct "; /*^apply.arg */ argtab[5].meltbp_aptr = (melt_ptr_t *) & /*_.MAPSTRUCT__V31*/ meltfptr[30]; /*^apply.arg */ argtab[6].meltbp_cstring = " *src = (struct "; /*^apply.arg */ argtab[7].meltbp_aptr = (melt_ptr_t *) & /*_.MAPSTRUCT__V31*/ meltfptr[30]; /*^apply.arg */ argtab[8].meltbp_cstring = " *) srcvalv;\n\t unsigned oldlen = melt_primtab[src->lenix];\ \n\t unsigned newlen = 4*src->count/3 + 5;\ \n\t struct "; /*^apply.arg */ argtab[9].meltbp_aptr = (melt_ptr_t *) & /*_.MAPSTRUCT__V31*/ meltfptr[30]; /*^apply.arg */ argtab[10].meltbp_cstring = " *dst = \n (struct "; /*^apply.arg */ argtab[11].meltbp_aptr = (melt_ptr_t *) & /*_.MAPSTRUCT__V31*/ meltfptr[30]; /*^apply.arg */ argtab[12].meltbp_cstring = " *) meltgc_raw_new_mappointers((meltobject_ptr_t)newdiscrv, newlen\ );\n\t unsigned ix = 0;\n\t dst->meltmap_aux = src->meltmap_aux;\ \ \n\t if (src->entab)\n for (ix=0; ixentab[ix].e_va;\ \n\t \ "; /*^apply.arg */ argtab[13].meltbp_aptr = (melt_ptr_t *) & /*_.TYCNAME__V27*/ meltfptr[26]; /*^apply.arg */ argtab[14].meltbp_cstring = " curat = src->entab[ix].e_at;\n\t if (curva != NULL && curat\ != ("; /*^apply.arg */ argtab[15].meltbp_aptr = (melt_ptr_t *) & /*_.TYCNAME__V27*/ meltfptr[26]; /*^apply.arg */ argtab[16].meltbp_cstring = ") HTAB_DELETED_ENTRY)\n\t meltgc_raw_put_mappointers((void\ *)dst, (const void*)curat, curva);\ \n\t }\n\t resv = (melt_ptr_t) dst;\ \n };\n break; "; /*_.ADD2OUT__V40*/ meltfptr[39] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout->tabval[1])), (melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; /*_.LET___V39*/ meltfptr[38] = /*_.ADD2OUT__V40*/ meltfptr[39];; MELT_LOCATION ("warmelt-modes.melt:2464:/ clear"); /*clear *//*_.ADD2OUT__V40*/ meltfptr[39] = 0; /*_.IF___V38*/ meltfptr[36] = /*_.LET___V39*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2463:/ clear"); /*clear *//*_.LET___V39*/ meltfptr[38] = 0; } ; } else { /*^cond.else */ /*_.IF___V38*/ meltfptr[36] = NULL;; } ; /*^compute */ /*_.LET___V25*/ meltfptr[20] = /*_.IF___V38*/ meltfptr[36];; MELT_LOCATION ("warmelt-modes.melt:2438:/ clear"); /*clear *//*_.CTYPNAME__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_#TIXSUCC__L11*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.TYCNAME__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.MAPMAGIC__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.BOXMAGIC__V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.BOXSTRUCT__V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.MAPSTRUCT__V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.ENTRYSTRUCT__V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.ADD2OUT__V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.ADD2OUT__V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.ADD2OUT__V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.IF___V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.IF___V38*/ meltfptr[36] = 0; if ( /*_#TIX__L7*/ meltfnum[1] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-modes.melt:2433:/ clear"); /*clear *//*_.CURCTYP__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_#TIX__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFCPP___V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.IFCPP___V23*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.LET___V25*/ meltfptr[20] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; MELT_LOCATION ("warmelt-modes.melt:2427:/ clear"); /*clear *//*_#NBCTYGTYTUP__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.ADD2OUT__V17*/ meltfptr[16] = 0; MELT_LOCATION ("warmelt-modes.melt:2491:/ quasiblock"); /*_#NBVALDESC__L12*/ meltfnum[8] = (melt_multiple_length ((melt_ptr_t) ( /*_.VALDESCTUP__V3*/ meltfptr[2])));; { MELT_LOCATION ("warmelt-modes.melt:2493:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2494:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2495:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = "/******* cloning the "; /*^apply.arg */ argtab[1].meltbp_long = /*_#NBVALDESC__L12*/ meltfnum[8]; /*^apply.arg */ argtab[2].meltbp_cstring = " value descriptors *******/"; /*_.ADD2OUT__V41*/ meltfptr[39] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout->tabval[1])), (melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit2__EACHTUP */ long meltcit2__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.VALDESCTUP__V3*/ meltfptr[2]); for ( /*_#VALDIX__L13*/ meltfnum[7] = 0; ( /*_#VALDIX__L13*/ meltfnum[7] >= 0) && ( /*_#VALDIX__L13*/ meltfnum[7] < meltcit2__EACHTUP_ln); /*_#VALDIX__L13*/ meltfnum[7]++) { /*_.CURVALDESC__V42*/ meltfptr[38] = melt_multiple_nth ((melt_ptr_t) ( /*_.VALDESCTUP__V3*/ meltfptr[2]), /*_#VALDIX__L13*/ meltfnum[7]); { MELT_LOCATION ("warmelt-modes.melt:2499:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; MELT_LOCATION ("warmelt-modes.melt:2500:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURVALDESC__V42*/ meltfptr[38]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURVALDESC__V42*/ meltfptr[38]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMVALDESC__V44*/ meltfptr[26] = slot; }; ; } else { /*^cond.else */ /*_.NAMVALDESC__V44*/ meltfptr[26] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2501:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURVALDESC__V42*/ meltfptr[38]), (melt_ptr_t) (( /*!CLASS_VALUE_DESCRIPTOR */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURVALDESC__V42*/ meltfptr[38]) /*=obj*/ ; melt_object_get_field (slot, obj, 10, "VALDESC_CLONECHUNK"); /*_.CLONEVALCHK__V45*/ meltfptr[27] = slot; }; ; } else { /*^cond.else */ /*_.CLONEVALCHK__V45*/ meltfptr[27] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2502:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURVALDESC__V42*/ meltfptr[38]), (melt_ptr_t) (( /*!CLASS_VALUE_DESCRIPTOR */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURVALDESC__V42*/ meltfptr[38]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "VALDESC_STRUCT"); /*_.VALSTRUCT__V46*/ meltfptr[28] = slot; }; ; } else { /*^cond.else */ /*_.VALSTRUCT__V46*/ meltfptr[28] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2503:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURVALDESC__V42*/ meltfptr[38]), (melt_ptr_t) (( /*!CLASS_VALUE_DESCRIPTOR */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURVALDESC__V42*/ meltfptr[38]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "VALDESC_OBJMAGIC"); /*_.VALOBJMAGIC__V47*/ meltfptr[29] = slot; }; ; } else { /*^cond.else */ /*_.VALOBJMAGIC__V47*/ meltfptr[29] = NULL;; } ; /*^compute */ /*_#VALDIXSUCC__L14*/ meltfnum[0] = ((1) + ( /*_#VALDIX__L13*/ meltfnum[7]));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2506:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = "/** cloning value descriptor #"; /*^apply.arg */ argtab[1].meltbp_long = /*_#VALDIXSUCC__L14*/ meltfnum[0]; /*^apply.arg */ argtab[2].meltbp_cstring = " "; /*^apply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.NAMVALDESC__V44*/ meltfptr[26]; /*^apply.arg */ argtab[4].meltbp_cstring = " **/"; /*_.ADD2OUT__V48*/ meltfptr[30] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout->tabval[1])), (melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2507:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; MELT_CHECK_SIGNAL (); ; /*_#__L15*/ meltfnum[14] = (( /*_.CLONEVALCHK__V45*/ meltfptr[27]) == (( /*!konst_6_TRUE */ meltfrout->tabval[6])));; MELT_LOCATION ("warmelt-modes.melt:2509:/ cond"); /*cond */ if ( /*_#__L15*/ meltfnum[14]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2510:/ apply"); /*apply */ { union meltparam_un argtab[15]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = " /*default cloning for "; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NAMVALDESC__V44*/ meltfptr[26]; /*^apply.arg */ argtab[2].meltbp_cstring = "*/\n\t\t case "; /*^apply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.VALOBJMAGIC__V47*/ meltfptr[29]; /*^apply.arg */ argtab[4].meltbp_cstring = ": {\n\t\t struct "; /*^apply.arg */ argtab[5].meltbp_aptr = (melt_ptr_t *) & /*_.VALSTRUCT__V46*/ meltfptr[28]; /*^apply.arg */ argtab[6].meltbp_cstring = " *src = (struct "; /*^apply.arg */ argtab[7].meltbp_aptr = (melt_ptr_t *) & /*_.VALSTRUCT__V46*/ meltfptr[28]; /*^apply.arg */ argtab[8].meltbp_cstring = "*) srcvalv;\n\t\t struct "; /*^apply.arg */ argtab[9].meltbp_aptr = (melt_ptr_t *) & /*_.VALSTRUCT__V46*/ meltfptr[28]; /*^apply.arg */ argtab[10].meltbp_cstring = " *dst = \n (struct "; /*^apply.arg */ argtab[11].meltbp_aptr = (melt_ptr_t *) & /*_.VALSTRUCT__V46*/ meltfptr[28]; /*^apply.arg */ argtab[12].meltbp_cstring = "*) meltgc_allocate (sizeof(struct "; /*^apply.arg */ argtab[13].meltbp_aptr = (melt_ptr_t *) & /*_.VALSTRUCT__V46*/ meltfptr[28]; /*^apply.arg */ argtab[14].meltbp_cstring = "), 0);\n\t\t *dst = *src;\n\t\t dst->discr = (meltobject_ptr_t\ )newdiscrv;\n\t\t resv = (melt_ptr_t) dst;\ \n\t\t }\n\t\t \ break; "; /*_.ADD2OUT__V50*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout->tabval[1])), (melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IFELSE___V49*/ meltfptr[31] = /*_.ADD2OUT__V50*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2509:/ clear"); /*clear *//*_.ADD2OUT__V50*/ meltfptr[32] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L16*/ meltfnum[15] = (melt_magic_discr ((melt_ptr_t) ( /*_.CLONEVALCHK__V45*/ meltfptr[27])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:2522:/ cond"); /*cond */ if ( /*_#IS_STRING__L16*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2523:/ apply"); /*apply */ { union meltparam_un argtab[15]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = " /*explicit cloning for "; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NAMVALDESC__V44*/ meltfptr[26]; /*^apply.arg */ argtab[2].meltbp_cstring = "*/\n\t\t case "; /*^apply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.VALOBJMAGIC__V47*/ meltfptr[29]; /*^apply.arg */ argtab[4].meltbp_cstring = ": {\n\t\t struct "; /*^apply.arg */ argtab[5].meltbp_aptr = (melt_ptr_t *) & /*_.VALSTRUCT__V46*/ meltfptr[28]; /*^apply.arg */ argtab[6].meltbp_cstring = " *src = (struct "; /*^apply.arg */ argtab[7].meltbp_aptr = (melt_ptr_t *) & /*_.VALSTRUCT__V46*/ meltfptr[28]; /*^apply.arg */ argtab[8].meltbp_cstring = "*) srcvalv;\n\t\t struct "; /*^apply.arg */ argtab[9].meltbp_aptr = (melt_ptr_t *) & /*_.VALSTRUCT__V46*/ meltfptr[28]; /*^apply.arg */ argtab[10].meltbp_cstring = " *dst = NULL;\n\t\t /* clone chunk for "; /*^apply.arg */ argtab[11].meltbp_aptr = (melt_ptr_t *) & /*_.NAMVALDESC__V44*/ meltfptr[26]; /*^apply.arg */ argtab[12].meltbp_cstring = ":*/\n\t\t "; /*^apply.arg */ argtab[13].meltbp_aptr = (melt_ptr_t *) & /*_.CLONEVALCHK__V45*/ meltfptr[27]; /*^apply.arg */ argtab[14].meltbp_cstring = ";\n\t\t if (dst) \n\t\t resv = (melt_ptr_t) dst;\ \n\t\t };\n\t\t break;"; /*_.ADD2OUT__V52*/ meltfptr[34] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout->tabval[1])), (melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IFELSE___V51*/ meltfptr[33] = /*_.ADD2OUT__V52*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2522:/ clear"); /*clear *//*_.ADD2OUT__V52*/ meltfptr[34] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#NULL__L17*/ meltfnum[16] = (( /*_.CLONEVALCHK__V45*/ meltfptr[27]) == NULL);; MELT_LOCATION ("warmelt-modes.melt:2536:/ cond"); /*cond */ if ( /*_#NULL__L17*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2537:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = " /*no cloning for "; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.NAMVALDESC__V44*/ meltfptr[26]; /*^apply.arg */ argtab[2].meltbp_cstring = "*/\n\t\t case "; /*^apply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.VALOBJMAGIC__V47*/ meltfptr[29]; /*^apply.arg */ argtab[4].meltbp_cstring = ": break;"; /*_.ADD2OUT__V54*/ meltfptr[36] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout-> tabval[1])), (melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IFELSE___V53*/ meltfptr[35] = /*_.ADD2OUT__V54*/ meltfptr[36];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2536:/ clear"); /*clear *//*_.ADD2OUT__V54*/ meltfptr[36] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2542:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L18*/ meltfnum[17] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:2542:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L18*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L19*/ meltfnum[18] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2542:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L19*/ meltfnum[18]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2542; /*^apply.arg */ argtab[3].meltbp_cstring = "invalid cloning in curvaldesc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURVALDESC__V42*/ meltfptr[38]; /*^apply.arg */ argtab[5].meltbp_cstring = " valdix="; /*^apply.arg */ argtab[6].meltbp_long = /*_#VALDIX__L13*/ meltfnum[7]; /*_.MELT_DEBUG_FUN__V57*/ meltfptr[34] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V56*/ meltfptr[32] = /*_.MELT_DEBUG_FUN__V57*/ meltfptr[34];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2542:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L19*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V57*/ meltfptr[34] = 0; } ; } else { /*^cond.else */ /*_.IF___V56*/ meltfptr[32] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2542:/ quasiblock"); /*_.PROGN___V58*/ meltfptr[36] = /*_.IF___V56*/ meltfptr[32];; /*^compute */ /*_.IFCPP___V55*/ meltfptr[16] = /*_.PROGN___V58*/ meltfptr[36];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2542:/ clear"); /*clear *//*_#MELT_NEED_DBG__L18*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.IF___V56*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.PROGN___V58*/ meltfptr[36] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V55*/ meltfptr[16] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:2543:/ locexp"); error ("MELT ERROR MSG [#%ld]::: %s - %s", melt_dbgcounter, ("invalid cloning for "), melt_string_str ((melt_ptr_t) ( /*_.NAMVALDESC__V44*/ meltfptr[26]))); } ; MELT_LOCATION ("warmelt-modes.melt:2541:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2536:/ clear"); /*clear *//*_.IFCPP___V55*/ meltfptr[16] = 0; } ; } ; /*_.IFELSE___V51*/ meltfptr[33] = /*_.IFELSE___V53*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2522:/ clear"); /*clear *//*_#NULL__L17*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.IFELSE___V53*/ meltfptr[35] = 0; } ; } ; /*_.IFELSE___V49*/ meltfptr[31] = /*_.IFELSE___V51*/ meltfptr[33];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2509:/ clear"); /*clear *//*_#IS_STRING__L16*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.IFELSE___V51*/ meltfptr[33] = 0; } ; } ; /*_.LET___V43*/ meltfptr[25] = /*_.IFELSE___V49*/ meltfptr[31];; MELT_LOCATION ("warmelt-modes.melt:2500:/ clear"); /*clear *//*_.NAMVALDESC__V44*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.CLONEVALCHK__V45*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.VALSTRUCT__V46*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.VALOBJMAGIC__V47*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_#VALDIXSUCC__L14*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.ADD2OUT__V48*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_#__L15*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.IFELSE___V49*/ meltfptr[31] = 0; if ( /*_#VALDIX__L13*/ meltfnum[7] < 0) break; } /* end foreach_in_multiple meltcit2__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-modes.melt:2496:/ clear"); /*clear *//*_.CURVALDESC__V42*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_#VALDIX__L13*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.LET___V43*/ meltfptr[25] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; { MELT_LOCATION ("warmelt-modes.melt:2548:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; MELT_LOCATION ("warmelt-modes.melt:2491:/ clear"); /*clear *//*_#NBVALDESC__L12*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.ADD2OUT__V41*/ meltfptr[39] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2552:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = "\n/* generated cloning routine trailer */\ \n default: ;\n } /*end switch srcmagic for cloning */\ \n end:\n MELT_EXITFRAME();\n return (melt_ptr_t) resv;\ \n} /* end of generated meltgc_clone_with_discriminant */\ \n#undef resv\n#undef srcvalv\n#undef newdiscrv\ \n#undef discrv\n#undef compv\n"; /*_.ADD2OUT__V59*/ meltfptr[34] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout->tabval[1])), (melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2566:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; MELT_CHECK_SIGNAL (); ; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2376:/ clear"); /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.ADD2OUT__V16*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.ADD2OUT__V59*/ meltfptr[34] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("GENERATE_RUNTYPESUPPORT_CLONING_FUN", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_51_warmelt_modes_GENERATE_RUNTYPESUPPORT_CLONING_FUN_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*noretval */ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_51_warmelt_modes_GENERATE_RUNTYPESUPPORT_CLONING_FUN */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_52_warmelt_modes_GENERATE_RUNTYPESUPPORT_SCANNING (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_52_warmelt_modes_GENERATE_RUNTYPESUPPORT_SCANNING_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_52_warmelt_modes_GENERATE_RUNTYPESUPPORT_SCANNING_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 42 melt_ptr_t mcfr_varptr[42]; #define MELTFRAM_NBVARNUM 14 long mcfr_varnum[14]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_52_warmelt_modes_GENERATE_RUNTYPESUPPORT_SCANNING is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_52_warmelt_modes_GENERATE_RUNTYPESUPPORT_SCANNING_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 42; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_52_warmelt_modes_GENERATE_RUNTYPESUPPORT_SCANNING nbval 42*/ meltfram__.mcfr_nbvar = 42 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("GENERATE_RUNTYPESUPPORT_SCANNING", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:2572:/ getarg"); /*_.CTYGTYTUP__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.VALDESCTUP__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.VALDESCTUP__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.OUTNAME__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.OUTNAME__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.OUTBUF__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2573:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:2573:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2573:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2573; /*^apply.arg */ argtab[3].meltbp_cstring = "generate_runtypesupport_scanning start outname="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OUTNAME__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2573:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2573:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2573:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2575:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L3*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.CTYGTYTUP__V2*/ meltfptr[1])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-modes.melt:2575:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2575:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ctygtytup"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2575) ? (2575) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2575:/ clear"); /*clear *//*_#IS_MULTIPLE__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2576:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L4*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.VALDESCTUP__V3*/ meltfptr[2])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-modes.melt:2576:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2576:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check valdesctup"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2576) ? (2576) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2576:/ clear"); /*clear *//*_#IS_MULTIPLE__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2577:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_STRBUF__L5*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4])) == MELTOBMAG_STRBUF);; MELT_LOCATION ("warmelt-modes.melt:2577:/ cond"); /*cond */ if ( /*_#IS_STRBUF__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2577:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check outbuf"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2577) ? (2577) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2577:/ clear"); /*clear *//*_#IS_STRBUF__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:2578:/ locexp"); if (65000 > 0) meltgc_strbuf_reserve ((melt_ptr_t) /*_.OUTBUF__V5*/ meltfptr[4], (unsigned) 65000);; } ; { MELT_LOCATION ("warmelt-modes.melt:2579:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2580:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2581:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/** start of code generated by generate_runtypesupport_scanning **/")); } ; { MELT_LOCATION ("warmelt-modes.melt:2583:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2585:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) (( /*!konst_1 */ meltfrout-> tabval[1])))); } ; { MELT_LOCATION ("warmelt-modes.melt:2606:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.VALDESCTUP__V3*/ meltfptr[2]); for ( /*_#VIX__L6*/ meltfnum[0] = 0; ( /*_#VIX__L6*/ meltfnum[0] >= 0) && ( /*_#VIX__L6*/ meltfnum[0] < meltcit1__EACHTUP_ln); /*_#VIX__L6*/ meltfnum[0]++) { /*_.CURVALDESC__V16*/ meltfptr[14] = melt_multiple_nth ((melt_ptr_t) ( /*_.VALDESCTUP__V3*/ meltfptr[2]), /*_#VIX__L6*/ meltfnum[0]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2610:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L7*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:2610:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2610:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2610; /*^apply.arg */ argtab[3].meltbp_cstring = "generate_runtypesupport_scanning curvaldesc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURVALDESC__V16*/ meltfptr[14]; /*_.MELT_DEBUG_FUN__V19*/ meltfptr[18] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V18*/ meltfptr[17] = /*_.MELT_DEBUG_FUN__V19*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2610:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V19*/ meltfptr[18] = 0; } ; } else { /*^cond.else */ /*_.IF___V18*/ meltfptr[17] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2610:/ quasiblock"); /*_.PROGN___V20*/ meltfptr[18] = /*_.IF___V18*/ meltfptr[17];; /*^compute */ /*_.IFCPP___V17*/ meltfptr[16] = /*_.PROGN___V20*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2610:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.PROGN___V20*/ meltfptr[18] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V17*/ meltfptr[16] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2611:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L9*/ meltfnum[7] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_VALUE_DESCRIPTOR */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-modes.melt:2611:/ cond"); /*cond */ if ( /*_#IS_A__L9*/ meltfnum[7]) /*then */ { /*^cond.then */ /*_.IFELSE___V22*/ meltfptr[18] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2611:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curvaldesc"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2611) ? (2611) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V22*/ meltfptr[18] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V21*/ meltfptr[17] = /*_.IFELSE___V22*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2611:/ clear"); /*clear *//*_#IS_A__L9*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IFELSE___V22*/ meltfptr[18] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V21*/ meltfptr[17] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:2612:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2613:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/*valdesc #")); } ; /*_#I__L10*/ meltfnum[1] = ((1) + ( /*_#VIX__L6*/ meltfnum[0]));; { MELT_LOCATION ("warmelt-modes.melt:2614:/ locexp"); meltgc_add_strbuf_dec ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ( /*_#I__L10*/ meltfnum[1])); } ; { MELT_LOCATION ("warmelt-modes.melt:2615:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" ")); } ; MELT_LOCATION ("warmelt-modes.melt:2616:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V23*/ meltfptr[18] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V23*/ meltfptr[18] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2616:/ locexp"); meltgc_add_strbuf_ccomment ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.NAMED_NAME__V23*/ meltfptr[18]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2617:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("*/")); } ; { MELT_LOCATION ("warmelt-modes.melt:2618:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2619:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("case ")); } ; MELT_LOCATION ("warmelt-modes.melt:2620:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_VALUE_DESCRIPTOR */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "VALDESC_OBJMAGIC"); /*_.VALDESC_OBJMAGIC__V24*/ meltfptr[23] = slot; }; ; } else { /*^cond.else */ /*_.VALDESC_OBJMAGIC__V24*/ meltfptr[23] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2620:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.VALDESC_OBJMAGIC__V24*/ meltfptr[23]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2621:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (": {")); } ; MELT_LOCATION ("warmelt-modes.melt:2622:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_VALUE_DESCRIPTOR */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 9, "VALDESC_FORWCHUNK"); /*_.FWCHK__V25*/ meltfptr[24] = slot; }; ; } else { /*^cond.else */ /*_.FWCHK__V25*/ meltfptr[24] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2624:/ cond"); /*cond */ if ( /*_.FWCHK__V25*/ meltfptr[24]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:2626:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2627:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("struct ")); } ; MELT_LOCATION ("warmelt-modes.melt:2628:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_VALUE_DESCRIPTOR */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "VALDESC_STRUCT"); /*_.VALDESC_STRUCT__V26*/ meltfptr[25] = slot; }; ; } else { /*^cond.else */ /*_.VALDESC_STRUCT__V26*/ meltfptr[25] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2628:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.VALDESC_STRUCT__V26*/ meltfptr[25]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2629:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("*src = (struct ")); } ; MELT_LOCATION ("warmelt-modes.melt:2630:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_VALUE_DESCRIPTOR */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURVALDESC__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 3, "VALDESC_STRUCT"); /*_.VALDESC_STRUCT__V27*/ meltfptr[26] = slot; }; ; } else { /*^cond.else */ /*_.VALDESC_STRUCT__V27*/ meltfptr[26] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2630:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.VALDESC_STRUCT__V27*/ meltfptr[26]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2631:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("*) p;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2632:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2633:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.FWCHK__V25*/ meltfptr[24]))); } ; MELT_LOCATION ("warmelt-modes.melt:2625:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2624:/ clear"); /*clear *//*_.VALDESC_STRUCT__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.VALDESC_STRUCT__V27*/ meltfptr[26] = 0; } ; } /*noelse */ ; MELT_LOCATION ("warmelt-modes.melt:2622:/ clear"); /*clear *//*_.FWCHK__V25*/ meltfptr[24] = 0; { MELT_LOCATION ("warmelt-modes.melt:2635:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2636:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("break; }")); } ; { MELT_LOCATION ("warmelt-modes.melt:2637:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; if ( /*_#VIX__L6*/ meltfnum[0] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-modes.melt:2607:/ clear"); /*clear *//*_.CURVALDESC__V16*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_#VIX__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFCPP___V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.IFCPP___V21*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_#I__L10*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V23*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.VALDESC_OBJMAGIC__V24*/ meltfptr[23] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; { MELT_LOCATION ("warmelt-modes.melt:2641:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2642:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/* GTY-ed ctypes scan forward for melt_scanning */")); } ; { MELT_LOCATION ("warmelt-modes.melt:2645:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit2__EACHTUP */ long meltcit2__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.CTYGTYTUP__V2*/ meltfptr[1]); for ( /*_#TIX__L11*/ meltfnum[7] = 0; ( /*_#TIX__L11*/ meltfnum[7] >= 0) && ( /*_#TIX__L11*/ meltfnum[7] < meltcit2__EACHTUP_ln); /*_#TIX__L11*/ meltfnum[7]++) { /*_.CURCTYP__V28*/ meltfptr[25] = melt_multiple_nth ((melt_ptr_t) ( /*_.CTYGTYTUP__V2*/ meltfptr[1]), /*_#TIX__L11*/ meltfnum[7]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2649:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L12*/ meltfnum[11] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:2649:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L12*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[12] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2649:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[12]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2649; /*^apply.arg */ argtab[3].meltbp_cstring = "generate_runtypesupport_scanning curctyp="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURCTYP__V28*/ meltfptr[25]; /*_.MELT_DEBUG_FUN__V31*/ meltfptr[30] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V30*/ meltfptr[24] = /*_.MELT_DEBUG_FUN__V31*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2649:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L13*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V31*/ meltfptr[30] = 0; } ; } else { /*^cond.else */ /*_.IF___V30*/ meltfptr[24] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2649:/ quasiblock"); /*_.PROGN___V32*/ meltfptr[30] = /*_.IF___V30*/ meltfptr[24];; /*^compute */ /*_.IFCPP___V29*/ meltfptr[26] = /*_.PROGN___V32*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2649:/ clear"); /*clear *//*_#MELT_NEED_DBG__L12*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IF___V30*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.PROGN___V32*/ meltfptr[30] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V29*/ meltfptr[26] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:2650:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/*gtyctype #")); } ; /*_#I__L14*/ meltfnum[12] = ((1) + ( /*_#TIX__L11*/ meltfnum[7]));; { MELT_LOCATION ("warmelt-modes.melt:2651:/ locexp"); meltgc_add_strbuf_dec ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ( /*_#I__L14*/ meltfnum[12])); } ; { MELT_LOCATION ("warmelt-modes.melt:2652:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" ")); } ; MELT_LOCATION ("warmelt-modes.melt:2653:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V28*/ meltfptr[25]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V28*/ meltfptr[25]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V33*/ meltfptr[24] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V33*/ meltfptr[24] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2653:/ locexp"); meltgc_add_strbuf_ccomment ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.NAMED_NAME__V33*/ meltfptr[24]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2654:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("*/")); } ; { MELT_LOCATION ("warmelt-modes.melt:2655:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2657:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("case ")); } ; MELT_LOCATION ("warmelt-modes.melt:2658:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V28*/ meltfptr[25]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V28*/ meltfptr[25]) /*=obj*/ ; melt_object_get_field (slot, obj, 13, "CTYPG_BOXEDMAGIC"); /*_.CTYPG_BOXEDMAGIC__V34*/ meltfptr[30] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_BOXEDMAGIC__V34*/ meltfptr[30] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2658:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_BOXEDMAGIC__V34*/ meltfptr[30]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2659:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (":")); } ; { MELT_LOCATION ("warmelt-modes.melt:2660:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2661:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("break;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2662:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2664:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("case ")); } ; MELT_LOCATION ("warmelt-modes.melt:2665:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V28*/ meltfptr[25]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V28*/ meltfptr[25]) /*=obj*/ ; melt_object_get_field (slot, obj, 14, "CTYPG_MAPMAGIC"); /*_.CTYPG_MAPMAGIC__V35*/ meltfptr[34] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_MAPMAGIC__V35*/ meltfptr[34] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2665:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_MAPMAGIC__V35*/ meltfptr[34]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2666:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (": {")); } ; { MELT_LOCATION ("warmelt-modes.melt:2667:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (3), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2668:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("struct ")); } ; MELT_LOCATION ("warmelt-modes.melt:2669:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V28*/ meltfptr[25]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V28*/ meltfptr[25]) /*=obj*/ ; melt_object_get_field (slot, obj, 18, "CTYPG_MAPSTRUCT"); /*_.CTYPG_MAPSTRUCT__V36*/ meltfptr[35] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_MAPSTRUCT__V36*/ meltfptr[35] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2669:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_MAPSTRUCT__V36*/ meltfptr[35]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2670:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" *src = (struct ")); } ; MELT_LOCATION ("warmelt-modes.melt:2671:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V28*/ meltfptr[25]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V28*/ meltfptr[25]) /*=obj*/ ; melt_object_get_field (slot, obj, 18, "CTYPG_MAPSTRUCT"); /*_.CTYPG_MAPSTRUCT__V37*/ meltfptr[36] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_MAPSTRUCT__V37*/ meltfptr[36] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2671:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_MAPSTRUCT__V37*/ meltfptr[36]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2672:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("*) p;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2673:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2674:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("int siz=0, ix=0;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2675:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2676:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("MELT_FORWARDED(src->meltmap_aux);")); } ; { MELT_LOCATION ("warmelt-modes.melt:2677:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2678:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("if (!src->entab) break;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2679:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2680:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("siz = melt_primtab[src->lenix];")); } ; { MELT_LOCATION ("warmelt-modes.melt:2681:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2682:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("gcc_assert (siz>0);")); } ; { MELT_LOCATION ("warmelt-modes.melt:2683:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2684:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("if (melt_is_young (src->entab)) {")); } ; { MELT_LOCATION ("warmelt-modes.melt:2685:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (4), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2686:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("struct ")); } ; MELT_LOCATION ("warmelt-modes.melt:2687:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V28*/ meltfptr[25]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V28*/ meltfptr[25]) /*=obj*/ ; melt_object_get_field (slot, obj, 17, "CTYPG_ENTRYSTRUCT"); /*_.CTYPG_ENTRYSTRUCT__V38*/ meltfptr[37] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_ENTRYSTRUCT__V38*/ meltfptr[37] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2687:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_ENTRYSTRUCT__V38*/ meltfptr[37]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2688:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("* newtab = ggc_alloc_vec_")); } ; MELT_LOCATION ("warmelt-modes.melt:2689:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V28*/ meltfptr[25]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V28*/ meltfptr[25]) /*=obj*/ ; melt_object_get_field (slot, obj, 17, "CTYPG_ENTRYSTRUCT"); /*_.CTYPG_ENTRYSTRUCT__V39*/ meltfptr[38] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_ENTRYSTRUCT__V39*/ meltfptr[38] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2689:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_ENTRYSTRUCT__V39*/ meltfptr[38]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2690:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" (siz);")); } ; { MELT_LOCATION ("warmelt-modes.melt:2691:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (4), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2692:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("memcpy (newtab, src->entab, siz * sizeof (struct ")); } ; MELT_LOCATION ("warmelt-modes.melt:2693:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V28*/ meltfptr[25]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V28*/ meltfptr[25]) /*=obj*/ ; melt_object_get_field (slot, obj, 17, "CTYPG_ENTRYSTRUCT"); /*_.CTYPG_ENTRYSTRUCT__V40*/ meltfptr[39] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_ENTRYSTRUCT__V40*/ meltfptr[39] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2693:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_ENTRYSTRUCT__V40*/ meltfptr[39]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2694:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("));")); } ; { MELT_LOCATION ("warmelt-modes.melt:2695:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (4), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2696:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("src->entab = newtab;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2697:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (4), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2698:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("} /*end if young entab */")); } ; { MELT_LOCATION ("warmelt-modes.melt:2699:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2700:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("for (ix = 0; ix < siz; ix++) {")); } ; { MELT_LOCATION ("warmelt-modes.melt:2701:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (4), 0); } ; MELT_LOCATION ("warmelt-modes.melt:2702:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V28*/ meltfptr[25]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout->tabval[5]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V28*/ meltfptr[25]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "CTYPE_CNAME"); /*_.CTYPE_CNAME__V41*/ meltfptr[40] = slot; }; ; } else { /*^cond.else */ /*_.CTYPE_CNAME__V41*/ meltfptr[40] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2702:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPE_CNAME__V41*/ meltfptr[40]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2703:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" at = src->entab[ix].e_at;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2704:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (4), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2705:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("if (!at || (void*) at == (void*) HTAB_DELETED_ENTRY) {")); } ; { MELT_LOCATION ("warmelt-modes.melt:2706:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (6), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2707:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("src->entab[ix].e_va = NULL;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2708:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (6), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2709:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("continue;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2710:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (4), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2711:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("} /*end if empty at */")); } ; { MELT_LOCATION ("warmelt-modes.melt:2712:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (4), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2713:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("MELT_FORWARDED (src->entab[ix].e_va);")); } ; { MELT_LOCATION ("warmelt-modes.melt:2714:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2715:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("} /*end for ix*/")); } ; { MELT_LOCATION ("warmelt-modes.melt:2716:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2717:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("}; /* end case ")); } ; MELT_LOCATION ("warmelt-modes.melt:2718:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V28*/ meltfptr[25]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V28*/ meltfptr[25]) /*=obj*/ ; melt_object_get_field (slot, obj, 14, "CTYPG_MAPMAGIC"); /*_.CTYPG_MAPMAGIC__V42*/ meltfptr[41] = slot; }; ; } else { /*^cond.else */ /*_.CTYPG_MAPMAGIC__V42*/ meltfptr[41] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2718:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPG_MAPMAGIC__V42*/ meltfptr[41]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2719:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" */")); } ; { MELT_LOCATION ("warmelt-modes.melt:2720:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2721:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("break;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2722:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; if ( /*_#TIX__L11*/ meltfnum[7] < 0) break; } /* end foreach_in_multiple meltcit2__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-modes.melt:2646:/ clear"); /*clear *//*_.CURCTYP__V28*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_#TIX__L11*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V29*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_#I__L14*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V33*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.CTYPG_BOXEDMAGIC__V34*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPMAGIC__V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPSTRUCT__V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPSTRUCT__V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.CTYPG_ENTRYSTRUCT__V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.CTYPG_ENTRYSTRUCT__V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.CTYPG_ENTRYSTRUCT__V40*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.CTYPE_CNAME__V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPMAGIC__V42*/ meltfptr[41] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; { MELT_LOCATION ("warmelt-modes.melt:2725:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) (( /*!konst_6 */ meltfrout-> tabval[6])))); } ; { MELT_LOCATION ("warmelt-modes.melt:2733:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2734:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/**end of code generated by generate_runtypesupport_scanning **/")); } ; { MELT_LOCATION ("warmelt-modes.melt:2736:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; MELT_CHECK_SIGNAL (); ; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2572:/ clear"); /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[12] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("GENERATE_RUNTYPESUPPORT_SCANNING", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_52_warmelt_modes_GENERATE_RUNTYPESUPPORT_SCANNING_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*noretval */ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_52_warmelt_modes_GENERATE_RUNTYPESUPPORT_SCANNING */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_53_warmelt_modes_GENERATE_RUNTYPESUPPORT_PARAM (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_53_warmelt_modes_GENERATE_RUNTYPESUPPORT_PARAM_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_53_warmelt_modes_GENERATE_RUNTYPESUPPORT_PARAM_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 39 melt_ptr_t mcfr_varptr[39]; #define MELTFRAM_NBVARNUM 30 long mcfr_varnum[30]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_53_warmelt_modes_GENERATE_RUNTYPESUPPORT_PARAM is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_53_warmelt_modes_GENERATE_RUNTYPESUPPORT_PARAM_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 39; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_53_warmelt_modes_GENERATE_RUNTYPESUPPORT_PARAM nbval 39*/ meltfram__.mcfr_nbvar = 39 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("GENERATE_RUNTYPESUPPORT_PARAM", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:2744:/ getarg"); /*_.CTYTUP__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.VALDESCTUP__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.VALDESCTUP__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.OUTNAME__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.OUTNAME__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.OUTBUF__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2745:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:2745:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2745:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2745; /*^apply.arg */ argtab[3].meltbp_cstring = "generate_runtypesupport_param start outname="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OUTNAME__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2745:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2745:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2745:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2746:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L3*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.CTYTUP__V2*/ meltfptr[1])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-modes.melt:2746:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2746:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ctytup"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2746) ? (2746) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2746:/ clear"); /*clear *//*_#IS_MULTIPLE__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2747:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L4*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.VALDESCTUP__V3*/ meltfptr[2])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-modes.melt:2747:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2747:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check valdesctup"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2747) ? (2747) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2747:/ clear"); /*clear *//*_#IS_MULTIPLE__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2748:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_STRBUF__L5*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4])) == MELTOBMAG_STRBUF);; MELT_LOCATION ("warmelt-modes.melt:2748:/ cond"); /*cond */ if ( /*_#IS_STRBUF__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2748:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check outbuf"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2748) ? (2748) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2748:/ clear"); /*clear *//*_#IS_STRBUF__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:2749:/ locexp"); if (65000 > 0) meltgc_strbuf_reserve ((melt_ptr_t) /*_.OUTBUF__V5*/ meltfptr[4], (unsigned) 65000);; } ; MELT_LOCATION ("warmelt-modes.melt:2750:/ quasiblock"); /*_#NUMDELTA__L6*/ meltfnum[0] = 1;; /*^compute */ /*_#LASTNUM__L7*/ meltfnum[1] = 0;; { MELT_LOCATION ("warmelt-modes.melt:2756:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2757:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2758:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/** start of code generated by generate_runtypesupport_param **/")); } ; { MELT_LOCATION ("warmelt-modes.melt:2760:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2761:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/* support for MELT parameter passing*/")); } ; { MELT_LOCATION ("warmelt-modes.melt:2764:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2766:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("enum /* generated enumeration for MELT parameters */ {")); } ; { MELT_LOCATION ("warmelt-modes.melt:2767:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2768:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("MELTBPAR__NONE=0,")); } ; { MELT_LOCATION ("warmelt-modes.melt:2769:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.CTYTUP__V2*/ meltfptr[1]); for ( /*_#TIX__L8*/ meltfnum[7] = 0; ( /*_#TIX__L8*/ meltfnum[7] >= 0) && ( /*_#TIX__L8*/ meltfnum[7] < meltcit1__EACHTUP_ln); /*_#TIX__L8*/ meltfnum[7]++) { /*_.CURCTYP__V16*/ meltfptr[14] = melt_multiple_nth ((melt_ptr_t) ( /*_.CTYTUP__V2*/ meltfptr[1]), /*_#TIX__L8*/ meltfnum[7]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2773:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L9*/ meltfnum[8] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:2773:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L9*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2773:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2773; /*^apply.arg */ argtab[3].meltbp_cstring = "runtypesupport_param curctyp="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURCTYP__V16*/ meltfptr[14]; /*_.MELT_DEBUG_FUN__V19*/ meltfptr[18] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V18*/ meltfptr[17] = /*_.MELT_DEBUG_FUN__V19*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2773:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V19*/ meltfptr[18] = 0; } ; } else { /*^cond.else */ /*_.IF___V18*/ meltfptr[17] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2773:/ quasiblock"); /*_.PROGN___V20*/ meltfptr[18] = /*_.IF___V18*/ meltfptr[17];; /*^compute */ /*_.IFCPP___V17*/ meltfptr[16] = /*_.PROGN___V20*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2773:/ clear"); /*clear *//*_#MELT_NEED_DBG__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IF___V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.PROGN___V20*/ meltfptr[18] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V17*/ meltfptr[16] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:2774:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/*gtyctype #")); } ; /*_#I__L11*/ meltfnum[9] = ((1) + ( /*_#TIX__L8*/ meltfnum[7]));; { MELT_LOCATION ("warmelt-modes.melt:2775:/ locexp"); meltgc_add_strbuf_dec ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ( /*_#I__L11*/ meltfnum[9])); } ; { MELT_LOCATION ("warmelt-modes.melt:2776:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" ")); } ; MELT_LOCATION ("warmelt-modes.melt:2777:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V21*/ meltfptr[17] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V21*/ meltfptr[17] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2777:/ locexp"); meltgc_add_strbuf_ccomment ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.NAMED_NAME__V21*/ meltfptr[17]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2778:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("*/")); } ; { MELT_LOCATION ("warmelt-modes.melt:2779:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; MELT_LOCATION ("warmelt-modes.melt:2780:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 5, "CTYPE_PARCHAR"); /*_.CTYPCHAR__V22*/ meltfptr[18] = slot; }; ; } else { /*^cond.else */ /*_.CTYPCHAR__V22*/ meltfptr[18] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2781:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "CTYPE_PARSTRING"); /*_.CTYPSTR__V23*/ meltfptr[22] = slot; }; ; } else { /*^cond.else */ /*_.CTYPSTR__V23*/ meltfptr[22] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2785:/ cond"); /*cond */ if ( /*_.CTYPCHAR__V22*/ meltfptr[18]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:2786:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPCHAR__V22*/ meltfptr[18]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2787:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" /*=")); } ; /*_#I__L12*/ meltfnum[8] = (( /*_#NUMDELTA__L6*/ meltfnum[0]) + ( /*_#TIX__L8*/ meltfnum[7]));; { MELT_LOCATION ("warmelt-modes.melt:2788:/ locexp"); meltgc_add_strbuf_dec ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ( /*_#I__L12*/ meltfnum[8])); } ; /*_#I__L13*/ meltfnum[12] = (( /*_#NUMDELTA__L6*/ meltfnum[0]) + ( /*_#TIX__L8*/ meltfnum[7]));; MELT_LOCATION ("warmelt-modes.melt:2789:/ compute"); /*_#LASTNUM__L7*/ meltfnum[1] = /*_#SETQ___L14*/ meltfnum[13] = /*_#I__L13*/ meltfnum[12];; { MELT_LOCATION ("warmelt-modes.melt:2790:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("*/,")); } ; MELT_LOCATION ("warmelt-modes.melt:2785:/ quasiblock"); /*epilog */ /*^clear */ /*clear *//*_#I__L12*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_#I__L13*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_#SETQ___L14*/ meltfnum[13] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:2793:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" /*-- non parameter --*/")); } ; MELT_LOCATION ("warmelt-modes.melt:2792:/ quasiblock"); /*epilog */ } ; } ; { MELT_LOCATION ("warmelt-modes.melt:2794:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2797:/ cond"); /*cond */ if ( /*_.CTYPSTR__V23*/ meltfptr[22]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:2798:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("#define ")); } ; { MELT_LOCATION ("warmelt-modes.melt:2799:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPSTR__V23*/ meltfptr[22]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2800:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" \"\\x")); } ; /*_#I__L16*/ meltfnum[12] = (( /*_#NUMDELTA__L6*/ meltfnum[0]) + ( /*_#TIX__L8*/ meltfnum[7]));; { MELT_LOCATION ("warmelt-modes.melt:2801:/ locexp"); meltgc_add_strbuf_hex ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ( /*_#I__L16*/ meltfnum[12])); } ; { MELT_LOCATION ("warmelt-modes.melt:2802:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("\"")); } ; /*_#I__L17*/ meltfnum[13] = (( /*_#NUMDELTA__L6*/ meltfnum[0]) + ( /*_#TIX__L8*/ meltfnum[7]));; MELT_LOCATION ("warmelt-modes.melt:2803:/ compute"); /*_#LASTNUM__L7*/ meltfnum[1] = /*_#SETQ___L18*/ meltfnum[17] = /*_#I__L17*/ meltfnum[13];; MELT_LOCATION ("warmelt-modes.melt:2797:/ quasiblock"); /*_#PROGN___L19*/ meltfnum[18] = /*_#SETQ___L18*/ meltfnum[17];; /*^compute */ /*_#IFELSE___L15*/ meltfnum[8] = /*_#PROGN___L19*/ meltfnum[18];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2797:/ clear"); /*clear *//*_#I__L16*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_#I__L17*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_#SETQ___L18*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_#PROGN___L19*/ meltfnum[18] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:2805:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" /*-- non paramstr --*/")); } ; MELT_LOCATION ("warmelt-modes.melt:2804:/ quasiblock"); /*epilog */ } ; } ; { MELT_LOCATION ("warmelt-modes.melt:2806:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2807:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; MELT_LOCATION ("warmelt-modes.melt:2780:/ clear"); /*clear *//*_.CTYPCHAR__V22*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.CTYPSTR__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_#IFELSE___L15*/ meltfnum[8] = 0; MELT_LOCATION ("warmelt-modes.melt:2812:/ quasiblock"); /*_#ARGDESCRMAX__L20*/ meltfnum[12] = 0;; { MELT_LOCATION ("warmelt-modes.melt:2813:/ locexp"); /*SETARGDESCRMAX__1 */ /*_#ARGDESCRMAX__L20*/ meltfnum[12] = MELT_ARGDESCR_MAX;; } ; MELT_CHECK_SIGNAL (); ; /*_#I__L21*/ meltfnum[13] = (( /*_#ARGDESCRMAX__L20*/ meltfnum[12]) - (10));; /*^compute */ /*_#I__L22*/ meltfnum[17] = (( /*_#LASTNUM__L7*/ meltfnum[1]) > ( /*_#I__L21*/ meltfnum[13]));; MELT_LOCATION ("warmelt-modes.melt:2817:/ cond"); /*cond */ if ( /*_#I__L22*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:2818:/ locexp"); error ("MELT ERROR MSG [#%ld]::: %s", melt_dbgcounter, ("too many ctypes for generated enum with MELTBPAR* w.r.t. MELT_ARGDESCR_MAX")); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2820:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#I__L23*/ meltfnum[18] = (( /*_#ARGDESCRMAX__L20*/ meltfnum[12]) - (2));; /*^compute */ /*_#I__L24*/ meltfnum[8] = (( /*_#LASTNUM__L7*/ meltfnum[1]) < ( /*_#I__L23*/ meltfnum[18]));; MELT_LOCATION ("warmelt-modes.melt:2820:/ cond"); /*cond */ if ( /*_#I__L24*/ meltfnum[8]) /*then */ { /*^cond.then */ /*_.IFELSE___V27*/ meltfptr[26] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2820:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("exhausted number of ctypes w.r.t MELT_ARGDESCR_MAX"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2820) ? (2820) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V27*/ meltfptr[26] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V26*/ meltfptr[25] = /*_.IFELSE___V27*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2820:/ clear"); /*clear *//*_#I__L23*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_#I__L24*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IFELSE___V27*/ meltfptr[26] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V26*/ meltfptr[25] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-modes.melt:2817:/ quasiblock"); /*_.PROGN___V28*/ meltfptr[26] = /*_.IFCPP___V26*/ meltfptr[25];; /*^compute */ /*_.IFELSE___V25*/ meltfptr[22] = /*_.PROGN___V28*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2817:/ clear"); /*clear *//*_.IFCPP___V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.PROGN___V28*/ meltfptr[26] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#I__L25*/ meltfnum[18] = (( /*_#ARGDESCRMAX__L20*/ meltfnum[12]) - (20));; /*^compute */ /*_#I__L26*/ meltfnum[8] = (( /*_#LASTNUM__L7*/ meltfnum[1]) > ( /*_#I__L25*/ meltfnum[18]));; MELT_LOCATION ("warmelt-modes.melt:2822:/ cond"); /*cond */ if ( /*_#I__L26*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:2823:/ locexp"); warning (0, "MELT WARNING MSG [#%ld]::: %s", melt_dbgcounter, ("the number of ctypes is dangerously near MELT_ARGDESCR_MAX")); } ; /*clear *//*_.IFELSE___V29*/ meltfptr[25] = 0; /*epilog */ } ; } else { MELT_LOCATION ("warmelt-modes.melt:2822:/ cond.else"); /*_.IFELSE___V29*/ meltfptr[25] = NULL;; } ; /*^compute */ /*_.IFELSE___V25*/ meltfptr[22] = /*_.IFELSE___V29*/ meltfptr[25];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2817:/ clear"); /*clear *//*_#I__L25*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_#I__L26*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IFELSE___V29*/ meltfptr[25] = 0; } ; } ; /*_.LET___V24*/ meltfptr[18] = /*_.IFELSE___V25*/ meltfptr[22];; MELT_LOCATION ("warmelt-modes.melt:2812:/ clear"); /*clear *//*_#ARGDESCRMAX__L20*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_#I__L21*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_#I__L22*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.IFELSE___V25*/ meltfptr[22] = 0; if ( /*_#TIX__L8*/ meltfnum[7] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-modes.melt:2770:/ clear"); /*clear *//*_.CURCTYP__V16*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_#TIX__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_#I__L11*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V21*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.LET___V24*/ meltfptr[18] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; { MELT_LOCATION ("warmelt-modes.melt:2828:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" MELTBPAR__LAST}; /*end enum for MELT parameters*/")); } ; { MELT_LOCATION ("warmelt-modes.melt:2829:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2830:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2832:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("union meltparam_un /* generated union for MELT parameters */ {")); } ; { MELT_LOCATION ("warmelt-modes.melt:2833:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2834:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("void* meltbp_any;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2835:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit2__EACHTUP */ long meltcit2__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.CTYTUP__V2*/ meltfptr[1]); for ( /*_#TIX__L27*/ meltfnum[18] = 0; ( /*_#TIX__L27*/ meltfnum[18] >= 0) && ( /*_#TIX__L27*/ meltfnum[18] < meltcit2__EACHTUP_ln); /*_#TIX__L27*/ meltfnum[18]++) { /*_.CURCTYP__V30*/ meltfptr[26] = melt_multiple_nth ((melt_ptr_t) ( /*_.CTYTUP__V2*/ meltfptr[1]), /*_#TIX__L27*/ meltfnum[18]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2839:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L28*/ meltfnum[8] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:2839:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L28*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L29*/ meltfnum[12] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2839:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L29*/ meltfnum[12]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2839; /*^apply.arg */ argtab[3].meltbp_cstring = "runtypesupport_param curctyp="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURCTYP__V30*/ meltfptr[26]; /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V32*/ meltfptr[22] = /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2839:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L29*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = 0; } ; } else { /*^cond.else */ /*_.IF___V32*/ meltfptr[22] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2839:/ quasiblock"); /*_.PROGN___V34*/ meltfptr[32] = /*_.IF___V32*/ meltfptr[22];; /*^compute */ /*_.IFCPP___V31*/ meltfptr[25] = /*_.PROGN___V34*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2839:/ clear"); /*clear *//*_#MELT_NEED_DBG__L28*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IF___V32*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.PROGN___V34*/ meltfptr[32] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V31*/ meltfptr[25] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:2840:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2841:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/*ctype #")); } ; /*_#I__L30*/ meltfnum[13] = ((1) + ( /*_#TIX__L27*/ meltfnum[18]));; { MELT_LOCATION ("warmelt-modes.melt:2842:/ locexp"); meltgc_add_strbuf_dec ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ( /*_#I__L30*/ meltfnum[13])); } ; { MELT_LOCATION ("warmelt-modes.melt:2843:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" ")); } ; MELT_LOCATION ("warmelt-modes.melt:2844:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V30*/ meltfptr[26]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V30*/ meltfptr[26]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V35*/ meltfptr[22] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V35*/ meltfptr[22] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2844:/ locexp"); meltgc_add_strbuf_ccomment ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.NAMED_NAME__V35*/ meltfptr[22]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2845:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("*/")); } ; { MELT_LOCATION ("warmelt-modes.melt:2846:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; MELT_LOCATION ("warmelt-modes.melt:2847:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V30*/ meltfptr[26]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V30*/ meltfptr[26]) /*=obj*/ ; melt_object_get_field (slot, obj, 7, "CTYPE_ARGFIELD"); /*_.ARGTYP__V36*/ meltfptr[32] = slot; }; ; } else { /*^cond.else */ /*_.ARGTYP__V36*/ meltfptr[32] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2848:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V30*/ meltfptr[26]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V30*/ meltfptr[26]) /*=obj*/ ; melt_object_get_field (slot, obj, 8, "CTYPE_RESFIELD"); /*_.RESTYP__V37*/ meltfptr[36] = slot; }; ; } else { /*^cond.else */ /*_.RESTYP__V37*/ meltfptr[36] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2851:/ cond"); /*cond */ if ( /*_.ARGTYP__V36*/ meltfptr[32]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:2852:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V30*/ meltfptr[26]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V30*/ meltfptr[26]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "CTYPE_CNAME"); /*_.CTYPE_CNAME__V38*/ meltfptr[37] = slot; }; ; } else { /*^cond.else */ /*_.CTYPE_CNAME__V38*/ meltfptr[37] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2852:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPE_CNAME__V38*/ meltfptr[37]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2853:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" ")); } ; { MELT_LOCATION ("warmelt-modes.melt:2854:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.ARGTYP__V36*/ meltfptr[32]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2855:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("; /*argument param.*/")); } ; MELT_LOCATION ("warmelt-modes.melt:2851:/ quasiblock"); /*epilog */ /*^clear */ /*clear *//*_.CTYPE_CNAME__V38*/ meltfptr[37] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:2858:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/* no argument */")); } ; MELT_LOCATION ("warmelt-modes.melt:2857:/ quasiblock"); /*epilog */ } ; } ; { MELT_LOCATION ("warmelt-modes.melt:2860:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2863:/ cond"); /*cond */ if ( /*_.RESTYP__V37*/ meltfptr[36]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:2864:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; MELT_LOCATION ("warmelt-modes.melt:2865:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V30*/ meltfptr[26]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V30*/ meltfptr[26]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "CTYPE_CNAME"); /*_.CTYPE_CNAME__V39*/ meltfptr[37] = slot; }; ; } else { /*^cond.else */ /*_.CTYPE_CNAME__V39*/ meltfptr[37] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2865:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CTYPE_CNAME__V39*/ meltfptr[37]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2866:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (" *")); } ; { MELT_LOCATION ("warmelt-modes.melt:2867:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.RESTYP__V37*/ meltfptr[36]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2868:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("; /*result param.*/")); } ; MELT_LOCATION ("warmelt-modes.melt:2863:/ quasiblock"); /*epilog */ /*^clear */ /*clear *//*_.CTYPE_CNAME__V39*/ meltfptr[37] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:2871:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2872:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/*no result*/")); } ; MELT_LOCATION ("warmelt-modes.melt:2870:/ quasiblock"); /*epilog */ } ; } ; MELT_LOCATION ("warmelt-modes.melt:2847:/ clear"); /*clear *//*_.ARGTYP__V36*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.RESTYP__V37*/ meltfptr[36] = 0; if ( /*_#TIX__L27*/ meltfnum[18] < 0) break; } /* end foreach_in_multiple meltcit2__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-modes.melt:2836:/ clear"); /*clear *//*_.CURCTYP__V30*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_#TIX__L27*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_.IFCPP___V31*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_#I__L30*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V35*/ meltfptr[22] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; { MELT_LOCATION ("warmelt-modes.melt:2875:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2876:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("}; /* end generated union for MELT parameters */")); } ; { MELT_LOCATION ("warmelt-modes.melt:2877:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2878:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/** end of code generated by generate_runtypesupport_param **/")); } ; { MELT_LOCATION ("warmelt-modes.melt:2880:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2881:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; MELT_LOCATION ("warmelt-modes.melt:2750:/ clear"); /*clear *//*_#NUMDELTA__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#LASTNUM__L7*/ meltfnum[1] = 0; MELT_CHECK_SIGNAL (); ; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2744:/ clear"); /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[12] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("GENERATE_RUNTYPESUPPORT_PARAM", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_53_warmelt_modes_GENERATE_RUNTYPESUPPORT_PARAM_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*noretval */ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_53_warmelt_modes_GENERATE_RUNTYPESUPPORT_PARAM */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_54_warmelt_modes_GENERATE_RUNTYPESUPPORT_COD2CTYPE (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_54_warmelt_modes_GENERATE_RUNTYPESUPPORT_COD2CTYPE_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_54_warmelt_modes_GENERATE_RUNTYPESUPPORT_COD2CTYPE_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 27 melt_ptr_t mcfr_varptr[27]; #define MELTFRAM_NBVARNUM 11 long mcfr_varnum[11]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_54_warmelt_modes_GENERATE_RUNTYPESUPPORT_COD2CTYPE is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_54_warmelt_modes_GENERATE_RUNTYPESUPPORT_COD2CTYPE_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 27; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_54_warmelt_modes_GENERATE_RUNTYPESUPPORT_COD2CTYPE nbval 27*/ meltfram__.mcfr_nbvar = 27 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("GENERATE_RUNTYPESUPPORT_COD2CTYPE", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:2886:/ getarg"); /*_.CTYTUP__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.VALDESCTUP__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.VALDESCTUP__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.OUTNAME__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.OUTNAME__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.OUTBUF__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2887:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:2887:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2887:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2887; /*^apply.arg */ argtab[3].meltbp_cstring = "generate_runtypesupport_param start outname="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OUTNAME__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2887:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2887:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2887:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2888:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L3*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.CTYTUP__V2*/ meltfptr[1])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-modes.melt:2888:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2888:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ctytup"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2888) ? (2888) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2888:/ clear"); /*clear *//*_#IS_MULTIPLE__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2889:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L4*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.VALDESCTUP__V3*/ meltfptr[2])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-modes.melt:2889:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2889:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check valdesctup"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2889) ? (2889) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2889:/ clear"); /*clear *//*_#IS_MULTIPLE__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2890:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_STRBUF__L5*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4])) == MELTOBMAG_STRBUF);; MELT_LOCATION ("warmelt-modes.melt:2890:/ cond"); /*cond */ if ( /*_#IS_STRBUF__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2890:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check outbuf"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2890) ? (2890) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2890:/ clear"); /*clear *//*_#IS_STRBUF__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:2891:/ locexp"); if (65000 > 0) meltgc_strbuf_reserve ((melt_ptr_t) /*_.OUTBUF__V5*/ meltfptr[4], (unsigned) 65000);; } ; MELT_LOCATION ("warmelt-modes.melt:2892:/ quasiblock"); /*_#NUMDELTA__L6*/ meltfnum[0] = 1;; /*^compute */ /*_#LASTNUM__L7*/ meltfnum[1] = 0;; { MELT_LOCATION ("warmelt-modes.melt:2898:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2899:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2900:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2901:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("/* start of code generated by generate_runtypesupport_cod2ctype */")); } ; { MELT_LOCATION ("warmelt-modes.melt:2902:/ locexp"); meltgc_out_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0);; } ; { MELT_LOCATION ("warmelt-modes.melt:2903:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("melt_ptr_t melt_code_to_ctype (int code) {")); } ; { MELT_LOCATION ("warmelt-modes.melt:2904:/ locexp"); meltgc_out_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0);; } ; { MELT_LOCATION ("warmelt-modes.melt:2905:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("switch (code) {")); } ; { MELT_LOCATION ("warmelt-modes.melt:2906:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.CTYTUP__V2*/ meltfptr[1]); for ( /*_#TIX__L8*/ meltfnum[7] = 0; ( /*_#TIX__L8*/ meltfnum[7] >= 0) && ( /*_#TIX__L8*/ meltfnum[7] < meltcit1__EACHTUP_ln); /*_#TIX__L8*/ meltfnum[7]++) { /*_.CURCTYP__V16*/ meltfptr[14] = melt_multiple_nth ((melt_ptr_t) ( /*_.CTYTUP__V2*/ meltfptr[1]), /*_#TIX__L8*/ meltfnum[7]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2910:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L9*/ meltfnum[8] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:2910:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L9*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2910:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2910; /*^apply.arg */ argtab[3].meltbp_cstring = "runtypesupport_cod2ctype curctyp="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURCTYP__V16*/ meltfptr[14]; /*_.MELT_DEBUG_FUN__V19*/ meltfptr[18] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V18*/ meltfptr[17] = /*_.MELT_DEBUG_FUN__V19*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2910:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V19*/ meltfptr[18] = 0; } ; } else { /*^cond.else */ /*_.IF___V18*/ meltfptr[17] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2910:/ quasiblock"); /*_.PROGN___V20*/ meltfptr[18] = /*_.IF___V18*/ meltfptr[17];; /*^compute */ /*_.IFCPP___V17*/ meltfptr[16] = /*_.PROGN___V20*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2910:/ clear"); /*clear *//*_#MELT_NEED_DBG__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IF___V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.PROGN___V20*/ meltfptr[18] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V17*/ meltfptr[16] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-modes.melt:2911:/ quasiblock"); /*_#TIXNEXT__L11*/ meltfnum[9] = (( /*_#TIX__L8*/ meltfnum[7]) + (1));; MELT_LOCATION ("warmelt-modes.melt:2912:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_CTYPE */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 5, "CTYPE_PARCHAR"); /*_.CTYPCHAR__V22*/ meltfptr[18] = slot; }; ; } else { /*^cond.else */ /*_.CTYPCHAR__V22*/ meltfptr[18] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2913:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.CTYPNAME__V23*/ meltfptr[22] = slot; }; ; } else { /*^cond.else */ /*_.CTYPNAME__V23*/ meltfptr[22] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2915:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2916:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = "/* #"; /*^apply.arg */ argtab[1].meltbp_long = /*_#TIXNEXT__L11*/ meltfnum[9]; /*^apply.arg */ argtab[2].meltbp_cstring = ": "; /*^apply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.CTYPNAME__V23*/ meltfptr[22]; /*^apply.arg */ argtab[4].meltbp_cstring = " */"; /*_.ADD2OUT__V24*/ meltfptr[23] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout->tabval[3])), (melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2917:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2918:/ cond"); /*cond */ if ( /*_.CTYPCHAR__V22*/ meltfptr[18]) /*then */ { /*^cond.then */ /*_.IF___V25*/ meltfptr[24] = /*_.CTYPNAME__V23*/ meltfptr[22];; } else { MELT_LOCATION ("warmelt-modes.melt:2918:/ cond.else"); /*_.IF___V25*/ meltfptr[24] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2918:/ cond"); /*cond */ if ( /*_.IF___V25*/ meltfptr[24]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2919:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = " case "; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.CTYPCHAR__V22*/ meltfptr[18]; /*^apply.arg */ argtab[2].meltbp_cstring = ": return MELT_PREDEF("; /*^apply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.CTYPNAME__V23*/ meltfptr[22]; /*^apply.arg */ argtab[4].meltbp_cstring = ");"; /*_.ADD2OUT__V27*/ meltfptr[26] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout->tabval[3])), (melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V26*/ meltfptr[25] = /*_.ADD2OUT__V27*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2918:/ clear"); /*clear *//*_.ADD2OUT__V27*/ meltfptr[26] = 0; } ; } else { /*^cond.else */ /*_.IF___V26*/ meltfptr[25] = NULL;; } ; /*^compute */ /*_.LET___V21*/ meltfptr[17] = /*_.IF___V26*/ meltfptr[25];; MELT_LOCATION ("warmelt-modes.melt:2911:/ clear"); /*clear *//*_#TIXNEXT__L11*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.CTYPCHAR__V22*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.CTYPNAME__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.ADD2OUT__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.IF___V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.IF___V26*/ meltfptr[25] = 0; if ( /*_#TIX__L8*/ meltfnum[7] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-modes.melt:2907:/ clear"); /*clear *//*_.CURCTYP__V16*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_#TIX__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.LET___V21*/ meltfptr[17] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; { MELT_LOCATION ("warmelt-modes.melt:2922:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2923:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("default: break;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2924:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2925:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("} /*end switch code*/")); } ; { MELT_LOCATION ("warmelt-modes.melt:2926:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2927:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("return NULL;")); } ; { MELT_LOCATION ("warmelt-modes.melt:2928:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2929:/ locexp"); meltgc_add_out ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), ("} /* end of generated melt_code_to_ctype */")); } ; { MELT_LOCATION ("warmelt-modes.melt:2930:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2931:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V5*/ meltfptr[4]), (0), 0); } ; MELT_LOCATION ("warmelt-modes.melt:2892:/ clear"); /*clear *//*_#NUMDELTA__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#LASTNUM__L7*/ meltfnum[1] = 0; MELT_CHECK_SIGNAL (); ; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2886:/ clear"); /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[12] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("GENERATE_RUNTYPESUPPORT_COD2CTYPE", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_54_warmelt_modes_GENERATE_RUNTYPESUPPORT_COD2CTYPE_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*noretval */ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_54_warmelt_modes_GENERATE_RUNTYPESUPPORT_COD2CTYPE */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_55_warmelt_modes_GENERATE_RUNTYPESUPPORT_MAG2STR (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_55_warmelt_modes_GENERATE_RUNTYPESUPPORT_MAG2STR_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_55_warmelt_modes_GENERATE_RUNTYPESUPPORT_MAG2STR_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 35 melt_ptr_t mcfr_varptr[35]; #define MELTFRAM_NBVARNUM 17 long mcfr_varnum[17]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_55_warmelt_modes_GENERATE_RUNTYPESUPPORT_MAG2STR is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_55_warmelt_modes_GENERATE_RUNTYPESUPPORT_MAG2STR_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 35; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_55_warmelt_modes_GENERATE_RUNTYPESUPPORT_MAG2STR nbval 35*/ meltfram__.mcfr_nbvar = 35 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("GENERATE_RUNTYPESUPPORT_MAG2STR", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:2936:/ getarg"); /*_.CTYTUP__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.VALDESCTUP__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.VALDESCTUP__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.OUTNAME__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.OUTNAME__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.OUTDECLBUF__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.OUTDECLBUF__V5*/ meltfptr[4])) != NULL); /*getarg#4 */ /*^getarg */ if (meltxargdescr_[3] != MELTBPAR_PTR) goto lab_endgetargs; /*_.OUTCODEBUF__V6*/ meltfptr[5] = (meltxargtab_[3].meltbp_aptr) ? (*(meltxargtab_[3].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2937:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:2937:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2937:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2937; /*^apply.arg */ argtab[3].meltbp_cstring = "generate_runtypesupport_mag2str start outname="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OUTNAME__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V9*/ meltfptr[8] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V8*/ meltfptr[7] = /*_.MELT_DEBUG_FUN__V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2937:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V9*/ meltfptr[8] = 0; } ; } else { /*^cond.else */ /*_.IF___V8*/ meltfptr[7] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2937:/ quasiblock"); /*_.PROGN___V10*/ meltfptr[8] = /*_.IF___V8*/ meltfptr[7];; /*^compute */ /*_.IFCPP___V7*/ meltfptr[6] = /*_.PROGN___V10*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2937:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V8*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.PROGN___V10*/ meltfptr[8] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V7*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2938:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L3*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.CTYTUP__V2*/ meltfptr[1])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-modes.melt:2938:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V12*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2938:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ctytup"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2938) ? (2938) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V12*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V11*/ meltfptr[7] = /*_.IFELSE___V12*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2938:/ clear"); /*clear *//*_#IS_MULTIPLE__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V12*/ meltfptr[8] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V11*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2939:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L4*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.VALDESCTUP__V3*/ meltfptr[2])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-modes.melt:2939:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V14*/ meltfptr[13] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2939:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check valdesctup"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2939) ? (2939) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V14*/ meltfptr[13] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V13*/ meltfptr[8] = /*_.IFELSE___V14*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2939:/ clear"); /*clear *//*_#IS_MULTIPLE__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V14*/ meltfptr[13] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V13*/ meltfptr[8] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2940:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_STRBUF__L5*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.OUTDECLBUF__V5*/ meltfptr[4])) == MELTOBMAG_STRBUF);; MELT_LOCATION ("warmelt-modes.melt:2940:/ cond"); /*cond */ if ( /*_#IS_STRBUF__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V16*/ meltfptr[15] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2940:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check outdeclbuf"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2940) ? (2940) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V16*/ meltfptr[15] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V15*/ meltfptr[13] = /*_.IFELSE___V16*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2940:/ clear"); /*clear *//*_#IS_STRBUF__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V16*/ meltfptr[15] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V15*/ meltfptr[13] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2941:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_STRBUF__L6*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5])) == MELTOBMAG_STRBUF);; MELT_LOCATION ("warmelt-modes.melt:2941:/ cond"); /*cond */ if ( /*_#IS_STRBUF__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V18*/ meltfptr[17] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:2941:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check outcodebuf"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (2941) ? (2941) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V18*/ meltfptr[17] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V17*/ meltfptr[15] = /*_.IFELSE___V18*/ meltfptr[17];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2941:/ clear"); /*clear *//*_#IS_STRBUF__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V18*/ meltfptr[17] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V17*/ meltfptr[15] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:2942:/ locexp"); if (35000 > 0) meltgc_strbuf_reserve ((melt_ptr_t) /*_.OUTDECLBUF__V5*/ meltfptr[4], (unsigned) 35000);; } ; { MELT_LOCATION ("warmelt-modes.melt:2943:/ locexp"); if (75000 > 0) meltgc_strbuf_reserve ((melt_ptr_t) /*_.OUTCODEBUF__V6*/ meltfptr[5], (unsigned) 75000);; } ; MELT_LOCATION ("warmelt-modes.melt:2944:/ quasiblock"); /*_#NUMDELTA__L7*/ meltfnum[1] = 1;; /*^compute */ /*_#LASTNUM__L8*/ meltfnum[0] = 0;; { MELT_LOCATION ("warmelt-modes.melt:2950:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTDECLBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2951:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTDECLBUF__V5*/ meltfptr[4]), ("/** declaration generated by generate_runtypesupport_mag2str **/")); } ; { MELT_LOCATION ("warmelt-modes.melt:2953:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTDECLBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2954:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTDECLBUF__V5*/ meltfptr[4]), ("const char* melt_obmag_string (int i);")); } ; { MELT_LOCATION ("warmelt-modes.melt:2956:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTDECLBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2957:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTDECLBUF__V5*/ meltfptr[4]), ("#define MELT_OBMAG_STRING_generated")); } ; { MELT_LOCATION ("warmelt-modes.melt:2958:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTDECLBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2959:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTDECLBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2961:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2962:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2963:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), ("/** start of code generated by generate_runtypesupport_mag2str **/")); } ; { MELT_LOCATION ("warmelt-modes.melt:2965:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2966:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), melt_string_str ((melt_ptr_t) (( /*!konst_1 */ meltfrout-> tabval[1])))); } ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.CTYTUP__V2*/ meltfptr[1]); for ( /*_#TIX__L9*/ meltfnum[8] = 0; ( /*_#TIX__L9*/ meltfnum[8] >= 0) && ( /*_#TIX__L9*/ meltfnum[8] < meltcit1__EACHTUP_ln); /*_#TIX__L9*/ meltfnum[8]++) { /*_.CURCTYP__V19*/ meltfptr[17] = melt_multiple_nth ((melt_ptr_t) ( /*_.CTYTUP__V2*/ meltfptr[1]), /*_#TIX__L9*/ meltfnum[8]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:2976:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L10*/ meltfnum[9] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:2976:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[10] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2976:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[10]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 2976; /*^apply.arg */ argtab[3].meltbp_cstring = "runtypesupport_mag2str curctyp="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURCTYP__V19*/ meltfptr[17]; /*_.MELT_DEBUG_FUN__V22*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V21*/ meltfptr[20] = /*_.MELT_DEBUG_FUN__V22*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2976:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V22*/ meltfptr[21] = 0; } ; } else { /*^cond.else */ /*_.IF___V21*/ meltfptr[20] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:2976:/ quasiblock"); /*_.PROGN___V23*/ meltfptr[21] = /*_.IF___V21*/ meltfptr[20];; /*^compute */ /*_.IFCPP___V20*/ meltfptr[19] = /*_.PROGN___V23*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2976:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IF___V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.PROGN___V23*/ meltfptr[21] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V20*/ meltfptr[19] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:2977:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:2978:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), ("/*gtyctype #")); } ; /*_#I__L12*/ meltfnum[10] = ((1) + ( /*_#TIX__L9*/ meltfnum[8]));; { MELT_LOCATION ("warmelt-modes.melt:2979:/ locexp"); meltgc_add_strbuf_dec ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), ( /*_#I__L12*/ meltfnum[10])); } ; { MELT_LOCATION ("warmelt-modes.melt:2980:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), (" ")); } ; MELT_LOCATION ("warmelt-modes.melt:2981:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V19*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V19*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V24*/ meltfptr[20] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V24*/ meltfptr[20] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:2981:/ locexp"); meltgc_add_strbuf_ccomment ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), melt_string_str ((melt_ptr_t) ( /*_.NAMED_NAME__V24*/ meltfptr[20]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2982:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), ("*/")); } ; { MELT_LOCATION ("warmelt-modes.melt:2983:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), (4), 0); } ; MELT_LOCATION ("warmelt-modes.melt:2984:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V19*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V19*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 13, "CTYPG_BOXEDMAGIC"); /*_.BOXMAGICSTR__V25*/ meltfptr[21] = slot; }; ; } else { /*^cond.else */ /*_.BOXMAGICSTR__V25*/ meltfptr[21] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:2986:/ cond"); /*cond */ if ( /*_.BOXMAGICSTR__V25*/ meltfptr[21]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:2988:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), ("case ")); } ; { MELT_LOCATION ("warmelt-modes.melt:2989:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), melt_string_str ((melt_ptr_t) ( /*_.BOXMAGICSTR__V25*/ meltfptr[21]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2990:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), (": return \"")); } ; { MELT_LOCATION ("warmelt-modes.melt:2991:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), melt_string_str ((melt_ptr_t) ( /*_.BOXMAGICSTR__V25*/ meltfptr[21]))); } ; { MELT_LOCATION ("warmelt-modes.melt:2992:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), ("\";")); } ; MELT_LOCATION ("warmelt-modes.melt:2987:/ quasiblock"); /*epilog */ } ; } else { MELT_LOCATION ("warmelt-modes.melt:2986:/ cond.else"); /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:2994:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), ("/*runtypesupport_mag2str no boxed magic */")); } ; /*epilog */ } ; } ; { MELT_LOCATION ("warmelt-modes.melt:2996:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), (1), 0); } ; MELT_LOCATION ("warmelt-modes.melt:2984:/ clear"); /*clear *//*_.BOXMAGICSTR__V25*/ meltfptr[21] = 0; MELT_LOCATION ("warmelt-modes.melt:2998:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V19*/ meltfptr[17]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[3]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V19*/ meltfptr[17]) /*=obj*/ ; melt_object_get_field (slot, obj, 14, "CTYPG_MAPMAGIC"); /*_.MAPMAGICSTR__V26*/ meltfptr[21] = slot; }; ; } else { /*^cond.else */ /*_.MAPMAGICSTR__V26*/ meltfptr[21] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3000:/ cond"); /*cond */ if ( /*_.MAPMAGICSTR__V26*/ meltfptr[21]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:3002:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), ("case ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3003:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), melt_string_str ((melt_ptr_t) ( /*_.MAPMAGICSTR__V26*/ meltfptr[21]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3004:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), (": return \"")); } ; { MELT_LOCATION ("warmelt-modes.melt:3005:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), melt_string_str ((melt_ptr_t) ( /*_.MAPMAGICSTR__V26*/ meltfptr[21]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3006:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), ("\";")); } ; MELT_LOCATION ("warmelt-modes.melt:3001:/ quasiblock"); /*epilog */ } ; } else { MELT_LOCATION ("warmelt-modes.melt:3000:/ cond.else"); /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:3008:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), ("/*runtypesupport_mag2str no map magic */")); } ; /*epilog */ } ; } ; { MELT_LOCATION ("warmelt-modes.melt:3010:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), (1), 0); } ; MELT_LOCATION ("warmelt-modes.melt:2998:/ clear"); /*clear *//*_.MAPMAGICSTR__V26*/ meltfptr[21] = 0; if ( /*_#TIX__L9*/ meltfnum[8] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-modes.melt:2973:/ clear"); /*clear *//*_.CURCTYP__V19*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_#TIX__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_#I__L12*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V24*/ meltfptr[20] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; { MELT_LOCATION ("warmelt-modes.melt:3014:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), (0), 0); } ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit2__EACHTUP */ long meltcit2__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.VALDESCTUP__V3*/ meltfptr[2]); for ( /*_#VIX__L13*/ meltfnum[9] = 0; ( /*_#VIX__L13*/ meltfnum[9] >= 0) && ( /*_#VIX__L13*/ meltfnum[9] < meltcit2__EACHTUP_ln); /*_#VIX__L13*/ meltfnum[9]++) { /*_.CURVALDESC__V27*/ meltfptr[21] = melt_multiple_nth ((melt_ptr_t) ( /*_.VALDESCTUP__V3*/ meltfptr[2]), /*_#VIX__L13*/ meltfnum[9]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3018:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L14*/ meltfnum[13] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3018:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L14*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[14] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3018:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[14]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3018; /*^apply.arg */ argtab[3].meltbp_cstring = "generate_runtypesupport_mag2str curvaldesc="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURVALDESC__V27*/ meltfptr[21]; /*_.MELT_DEBUG_FUN__V30*/ meltfptr[29] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V29*/ meltfptr[28] = /*_.MELT_DEBUG_FUN__V30*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3018:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L15*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V30*/ meltfptr[29] = 0; } ; } else { /*^cond.else */ /*_.IF___V29*/ meltfptr[28] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3018:/ quasiblock"); /*_.PROGN___V31*/ meltfptr[29] = /*_.IF___V29*/ meltfptr[28];; /*^compute */ /*_.IFCPP___V28*/ meltfptr[27] = /*_.PROGN___V31*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3018:/ clear"); /*clear *//*_#MELT_NEED_DBG__L14*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.IF___V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.PROGN___V31*/ meltfptr[29] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V28*/ meltfptr[27] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3019:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L16*/ meltfnum[14] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURVALDESC__V27*/ meltfptr[21]), (melt_ptr_t) (( /*!CLASS_VALUE_DESCRIPTOR */ meltfrout->tabval[4])));; MELT_LOCATION ("warmelt-modes.melt:3019:/ cond"); /*cond */ if ( /*_#IS_A__L16*/ meltfnum[14]) /*then */ { /*^cond.then */ /*_.IFELSE___V33*/ meltfptr[29] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:3019:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curvaldesc"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (3019) ? (3019) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V33*/ meltfptr[29] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V32*/ meltfptr[28] = /*_.IFELSE___V33*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3019:/ clear"); /*clear *//*_#IS_A__L16*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.IFELSE___V33*/ meltfptr[29] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V32*/ meltfptr[28] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:3020:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3021:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), ("/*valdesc #")); } ; /*_#I__L17*/ meltfnum[13] = ((1) + ( /*_#VIX__L13*/ meltfnum[9]));; { MELT_LOCATION ("warmelt-modes.melt:3022:/ locexp"); meltgc_add_strbuf_dec ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), ( /*_#I__L17*/ meltfnum[13])); } ; { MELT_LOCATION ("warmelt-modes.melt:3023:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), (" ")); } ; MELT_LOCATION ("warmelt-modes.melt:3024:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURVALDESC__V27*/ meltfptr[21]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURVALDESC__V27*/ meltfptr[21]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V34*/ meltfptr[29] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V34*/ meltfptr[29] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:3024:/ locexp"); meltgc_add_strbuf_ccomment ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), melt_string_str ((melt_ptr_t) ( /*_.NAMED_NAME__V34*/ meltfptr[29]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3025:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), ("*/")); } ; { MELT_LOCATION ("warmelt-modes.melt:3026:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), (1), 0); } ; MELT_LOCATION ("warmelt-modes.melt:3027:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURVALDESC__V27*/ meltfptr[21]), (melt_ptr_t) (( /*!CLASS_VALUE_DESCRIPTOR */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURVALDESC__V27*/ meltfptr[21]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "VALDESC_OBJMAGIC"); /*_.VALMAGICSTR__V35*/ meltfptr[34] = slot; }; ; } else { /*^cond.else */ /*_.VALMAGICSTR__V35*/ meltfptr[34] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3029:/ cond"); /*cond */ if ( /*_.VALMAGICSTR__V35*/ meltfptr[34]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:3031:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), ("case ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3032:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), melt_string_str ((melt_ptr_t) ( /*_.VALMAGICSTR__V35*/ meltfptr[34]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3033:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), (": return \"")); } ; { MELT_LOCATION ("warmelt-modes.melt:3034:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), melt_string_str ((melt_ptr_t) ( /*_.VALMAGICSTR__V35*/ meltfptr[34]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3035:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), ("\";")); } ; MELT_LOCATION ("warmelt-modes.melt:3030:/ quasiblock"); /*epilog */ } ; } else { MELT_LOCATION ("warmelt-modes.melt:3029:/ cond.else"); /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:3036:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), ("/*runtypesupport_mag2str no value magic*/")); } ; /*epilog */ } ; } ; { MELT_LOCATION ("warmelt-modes.melt:3037:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), (1), 0); } ; MELT_LOCATION ("warmelt-modes.melt:3027:/ clear"); /*clear *//*_.VALMAGICSTR__V35*/ meltfptr[34] = 0; if ( /*_#VIX__L13*/ meltfnum[9] < 0) break; } /* end foreach_in_multiple meltcit2__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-modes.melt:3015:/ clear"); /*clear *//*_.CURVALDESC__V27*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_#VIX__L13*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IFCPP___V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.IFCPP___V32*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_#I__L17*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V34*/ meltfptr[29] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; { MELT_LOCATION ("warmelt-modes.melt:3041:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), melt_string_str ((melt_ptr_t) (( /*!konst_5 */ meltfrout-> tabval[5])))); } ; { MELT_LOCATION ("warmelt-modes.melt:3049:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3050:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), ("/** end of code generated by generate_runtypesupport_mag2str **/")); } ; { MELT_LOCATION ("warmelt-modes.melt:3052:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTCODEBUF__V6*/ meltfptr[5]), (0), 0); } ; MELT_LOCATION ("warmelt-modes.melt:2944:/ clear"); /*clear *//*_#NUMDELTA__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_#LASTNUM__L8*/ meltfnum[0] = 0; MELT_CHECK_SIGNAL (); ; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:2936:/ clear"); /*clear *//*_.IFCPP___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V11*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V13*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V15*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.IFCPP___V17*/ meltfptr[15] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("GENERATE_RUNTYPESUPPORT_MAG2STR", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_55_warmelt_modes_GENERATE_RUNTYPESUPPORT_MAG2STR_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*noretval */ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_55_warmelt_modes_GENERATE_RUNTYPESUPPORT_MAG2STR */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_56_warmelt_modes_GENERATE_RUNTYPESUPPORT_BOXINGFUN (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_56_warmelt_modes_GENERATE_RUNTYPESUPPORT_BOXINGFUN_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_56_warmelt_modes_GENERATE_RUNTYPESUPPORT_BOXINGFUN_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 60 melt_ptr_t mcfr_varptr[60]; #define MELTFRAM_NBVARNUM 14 long mcfr_varnum[14]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_56_warmelt_modes_GENERATE_RUNTYPESUPPORT_BOXINGFUN is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_56_warmelt_modes_GENERATE_RUNTYPESUPPORT_BOXINGFUN_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 60; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_56_warmelt_modes_GENERATE_RUNTYPESUPPORT_BOXINGFUN nbval 60*/ meltfram__.mcfr_nbvar = 60 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("GENERATE_RUNTYPESUPPORT_BOXINGFUN", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:3060:/ getarg"); /*_.CTYTUP__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.OUTARG__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.OUTARG__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.DECLBUF__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.CODEBUF__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3062:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3062:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3062:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3062; /*^apply.arg */ argtab[3].meltbp_cstring = "generate_runtypesupport_boxingfun start outarg="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V7*/ meltfptr[6] = /*_.MELT_DEBUG_FUN__V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3062:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V8*/ meltfptr[7] = 0; } ; } else { /*^cond.else */ /*_.IF___V7*/ meltfptr[6] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3062:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3062:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V9*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3063:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L3*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.CTYTUP__V2*/ meltfptr[1])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-modes.melt:3063:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:3063:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ctytup is tuple"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (3063) ? (3063) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3063:/ clear"); /*clear *//*_#IS_MULTIPLE__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3064:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_STRBUF__L4*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3])) == MELTOBMAG_STRBUF);; MELT_LOCATION ("warmelt-modes.melt:3064:/ cond"); /*cond */ if ( /*_#IS_STRBUF__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:3064:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check declbuf is buffer"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (3064) ? (3064) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3064:/ clear"); /*clear *//*_#IS_STRBUF__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3065:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_STRBUF__L5*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4])) == MELTOBMAG_STRBUF);; MELT_LOCATION ("warmelt-modes.melt:3065:/ cond"); /*cond */ if ( /*_#IS_STRBUF__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:3065:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check codebuf is buffer"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (3065) ? (3065) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3065:/ clear"); /*clear *//*_#IS_STRBUF__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:3066:/ locexp"); if (35000 > 0) meltgc_strbuf_reserve ((melt_ptr_t) /*_.DECLBUF__V4*/ meltfptr[3], (unsigned) 35000);; } ; { MELT_LOCATION ("warmelt-modes.melt:3067:/ locexp"); if (75000 > 0) meltgc_strbuf_reserve ((melt_ptr_t) /*_.CODEBUF__V5*/ meltfptr[4], (unsigned) 75000);; } ; { MELT_LOCATION ("warmelt-modes.melt:3068:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3069:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3070:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), ("/** start of declarations generated by generate_runtypesupport_boxingfun **/")); } ; { MELT_LOCATION ("warmelt-modes.melt:3072:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3074:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3075:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3076:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("/** start of code generated by generate_runtypesupport_boxingfun **/")); } ; { MELT_LOCATION ("warmelt-modes.melt:3078:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.CTYTUP__V2*/ meltfptr[1]); for ( /*_#TIX__L6*/ meltfnum[0] = 0; ( /*_#TIX__L6*/ meltfnum[0] >= 0) && ( /*_#TIX__L6*/ meltfnum[0] < meltcit1__EACHTUP_ln); /*_#TIX__L6*/ meltfnum[0]++) { /*_.CURCTYP__V16*/ meltfptr[14] = melt_multiple_nth ((melt_ptr_t) ( /*_.CTYTUP__V2*/ meltfptr[1]), /*_#TIX__L6*/ meltfnum[0]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3082:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L7*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3082:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3082:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3082; /*^apply.arg */ argtab[3].meltbp_cstring = "generate runtypesupport_mapfun curctyp="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURCTYP__V16*/ meltfptr[14]; /*_.MELT_DEBUG_FUN__V19*/ meltfptr[18] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V18*/ meltfptr[17] = /*_.MELT_DEBUG_FUN__V19*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3082:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V19*/ meltfptr[18] = 0; } ; } else { /*^cond.else */ /*_.IF___V18*/ meltfptr[17] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3082:/ quasiblock"); /*_.PROGN___V20*/ meltfptr[18] = /*_.IF___V18*/ meltfptr[17];; /*^compute */ /*_.IFCPP___V17*/ meltfptr[16] = /*_.PROGN___V20*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3082:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.PROGN___V20*/ meltfptr[18] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V17*/ meltfptr[16] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3083:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L9*/ meltfnum[7] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-modes.melt:3083:/ cond"); /*cond */ if ( /*_#IS_A__L9*/ meltfnum[7]) /*then */ { /*^cond.then */ /*_.IFELSE___V22*/ meltfptr[18] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:3083:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curctyp"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (3083) ? (3083) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V22*/ meltfptr[18] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V21*/ meltfptr[17] = /*_.IFELSE___V22*/ meltfptr[18];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3083:/ clear"); /*clear *//*_#IS_A__L9*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IFELSE___V22*/ meltfptr[18] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V21*/ meltfptr[17] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3084:/ block"); /*anyblock */ { /*^objgoto */ /*objgoto */ goto mtch1_0; ; /*objlabel */ mtch1_0:; MELT_LOCATION ("warmelt-modes.melt:3085:/ objlabel"); ; /*^clear */ /*clear *//*_.NAMED_NAME__V23*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.CTYPE_CNAME__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.CTYPG_BOXEDMAGIC__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.CTYPG_BOXEDSTRUCT__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.CTYPE_AUTOBOXDISCR__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.CTYPE_AUTOCONSTBOXDISCR__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.CTYPG_BOXFUN__V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.CTYPG_UNBOXFUN__V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.CTYPG_UPDATEBOXFUN__V31*/ meltfptr[30] = 0; /*^cond */ /*cond */ if ( /*normtesterinst */ (melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[1]))))) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V23*/ meltfptr[18] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "CTYPE_CNAME"); /*_.CTYPE_CNAME__V24*/ meltfptr[23] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 11, "CTYPE_AUTOBOXDISCR"); /*_.CTYPE_AUTOBOXDISCR__V27*/ meltfptr[26] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 12, "CTYPE_AUTOCONSTBOXDISCR"); /*_.CTYPE_AUTOCONSTBOXDISCR__V28*/ meltfptr[27] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 13, "CTYPG_BOXEDMAGIC"); /*_.CTYPG_BOXEDMAGIC__V25*/ meltfptr[24] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 15, "CTYPG_BOXEDSTRUCT"); /*_.CTYPG_BOXEDSTRUCT__V26*/ meltfptr[25] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 21, "CTYPG_BOXFUN"); /*_.CTYPG_BOXFUN__V29*/ meltfptr[28] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 22, "CTYPG_UNBOXFUN"); /*_.CTYPG_UNBOXFUN__V30*/ meltfptr[29] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 23, "CTYPG_UPDATEBOXFUN"); /*_.CTYPG_UPDATEBOXFUN__V31*/ meltfptr[30] = slot; }; ; MELT_LOCATION ("warmelt-modes.melt:3086:/ objgoto"); /*objgoto */ goto mtch1_1; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3085:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3256:/ objgoto"); /*objgoto */ goto mtch1_10; ; } ; } ; /*objlabel */ mtch1_1:; MELT_LOCATION ("warmelt-modes.melt:3086:/ objlabel"); ; /*^clear */ /*clear *//*_.SV__V32*/ meltfptr[31] = 0; /*^cond */ /*cond */ if ( /*SOMESTRVAL_mtch1__1? */ (( /*_.NAMED_NAME__V23*/ meltfptr[18]) && melt_magic_discr ((melt_ptr_t) ( /*_.NAMED_NAME__V23*/ meltfptr[18])) == MELTOBMAG_STRING)) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^clear */ /*clear *//*_.SV__V32*/ meltfptr[31] = 0; { /*^locexp */ /*SOMESTRVAL_mtch1__1! *//*_.SV__V32*/ meltfptr[31] = /*_.NAMED_NAME__V23*/ meltfptr[18];; } ; MELT_LOCATION ("warmelt-modes.melt:3087:/ objgoto"); /*objgoto */ goto mtch1_2; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3086:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3256:/ objgoto"); /*objgoto */ goto mtch1_10; ; } ; } ; /*objlabel */ mtch1_2:; MELT_LOCATION ("warmelt-modes.melt:3087:/ objlabel"); ; /*^clear */ /*clear *//*_.SV__V33*/ meltfptr[18] = 0; /*^cond */ /*cond */ if ( /*SOMESTRVAL_mtch1__1? */ (( /*_.CTYPE_CNAME__V24*/ meltfptr[23]) && melt_magic_discr ((melt_ptr_t) ( /*_.CTYPE_CNAME__V24*/ meltfptr[23])) == MELTOBMAG_STRING)) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^clear */ /*clear *//*_.SV__V33*/ meltfptr[18] = 0; { /*^locexp */ /*SOMESTRVAL_mtch1__1! *//*_.SV__V33*/ meltfptr[18] = /*_.CTYPE_CNAME__V24*/ meltfptr[23];; } ; MELT_LOCATION ("warmelt-modes.melt:3088:/ objgoto"); /*objgoto */ goto mtch1_3; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3087:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3256:/ objgoto"); /*objgoto */ goto mtch1_10; ; } ; } ; /*objlabel */ mtch1_3:; MELT_LOCATION ("warmelt-modes.melt:3088:/ objlabel"); ; /*^clear */ /*clear *//*_.SV__V34*/ meltfptr[23] = 0; /*^cond */ /*cond */ if ( /*SOMESTRVAL_mtch1__1? */ (( /*_.CTYPG_BOXEDMAGIC__V25*/ meltfptr[24]) && melt_magic_discr ((melt_ptr_t) ( /*_.CTYPG_BOXEDMAGIC__V25*/ meltfptr[24])) == MELTOBMAG_STRING)) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^clear */ /*clear *//*_.SV__V34*/ meltfptr[23] = 0; { /*^locexp */ /*SOMESTRVAL_mtch1__1! *//*_.SV__V34*/ meltfptr[23] = /*_.CTYPG_BOXEDMAGIC__V25*/ meltfptr[24];; } ; MELT_LOCATION ("warmelt-modes.melt:3089:/ objgoto"); /*objgoto */ goto mtch1_4; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3088:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3256:/ objgoto"); /*objgoto */ goto mtch1_10; ; } ; } ; /*objlabel */ mtch1_4:; MELT_LOCATION ("warmelt-modes.melt:3089:/ objlabel"); ; /*^clear */ /*clear *//*_.SV__V35*/ meltfptr[24] = 0; /*^cond */ /*cond */ if ( /*SOMESTRVAL_mtch1__1? */ (( /*_.CTYPG_BOXEDSTRUCT__V26*/ meltfptr[25]) && melt_magic_discr ((melt_ptr_t) ( /*_.CTYPG_BOXEDSTRUCT__V26*/ meltfptr[25])) == MELTOBMAG_STRING)) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^clear */ /*clear *//*_.SV__V35*/ meltfptr[24] = 0; { /*^locexp */ /*SOMESTRVAL_mtch1__1! *//*_.SV__V35*/ meltfptr[24] = /*_.CTYPG_BOXEDSTRUCT__V26*/ meltfptr[25];; } ; MELT_LOCATION ("warmelt-modes.melt:3092:/ objgoto"); /*objgoto */ goto mtch1_5; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3089:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3256:/ objgoto"); /*objgoto */ goto mtch1_10; ; } ; } ; /*objlabel */ mtch1_5:; MELT_LOCATION ("warmelt-modes.melt:3092:/ objlabel"); ; /*^clear */ /*clear *//*_.NAMED_NAME__V36*/ meltfptr[25] = 0; /*^cond */ /*cond */ if ( /*normtesterinst */ (melt_is_instance_of ((melt_ptr_t) ( /*_.CTYPE_AUTOBOXDISCR__V27*/ meltfptr[26]), (melt_ptr_t) (( /*!CLASS_DISCRIMINANT */ meltfrout->tabval[3]))))) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CTYPE_AUTOBOXDISCR__V27*/ meltfptr[26]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V36*/ meltfptr[25] = slot; }; ; MELT_LOCATION ("warmelt-modes.melt:3095:/ objgoto"); /*objgoto */ goto mtch1_6; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3092:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3256:/ objgoto"); /*objgoto */ goto mtch1_10; ; } ; } ; /*objlabel */ mtch1_6:; MELT_LOCATION ("warmelt-modes.melt:3095:/ objlabel"); ; /*^clear */ /*clear *//*_.SV__V37*/ meltfptr[26] = 0; /*^cond */ /*cond */ if ( /*SOMESTRVAL_mtch1__1? */ (( /*_.CTYPG_BOXFUN__V29*/ meltfptr[28]) && melt_magic_discr ((melt_ptr_t) ( /*_.CTYPG_BOXFUN__V29*/ meltfptr[28])) == MELTOBMAG_STRING)) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^clear */ /*clear *//*_.SV__V37*/ meltfptr[26] = 0; { /*^locexp */ /*SOMESTRVAL_mtch1__1! *//*_.SV__V37*/ meltfptr[26] = /*_.CTYPG_BOXFUN__V29*/ meltfptr[28];; } ; MELT_LOCATION ("warmelt-modes.melt:3096:/ objgoto"); /*objgoto */ goto mtch1_7; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3095:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3256:/ objgoto"); /*objgoto */ goto mtch1_10; ; } ; } ; /*objlabel */ mtch1_7:; MELT_LOCATION ("warmelt-modes.melt:3096:/ objlabel"); ; /*^clear */ /*clear *//*_.SV__V38*/ meltfptr[28] = 0; /*^cond */ /*cond */ if ( /*SOMESTRVAL_mtch1__1? */ (( /*_.CTYPG_UNBOXFUN__V30*/ meltfptr[29]) && melt_magic_discr ((melt_ptr_t) ( /*_.CTYPG_UNBOXFUN__V30*/ meltfptr[29])) == MELTOBMAG_STRING)) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^clear */ /*clear *//*_.SV__V38*/ meltfptr[28] = 0; { /*^locexp */ /*SOMESTRVAL_mtch1__1! *//*_.SV__V38*/ meltfptr[28] = /*_.CTYPG_UNBOXFUN__V30*/ meltfptr[29];; } ; MELT_LOCATION ("warmelt-modes.melt:3097:/ objgoto"); /*objgoto */ goto mtch1_8; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3096:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3256:/ objgoto"); /*objgoto */ goto mtch1_10; ; } ; } ; /*objlabel */ mtch1_8:; MELT_LOCATION ("warmelt-modes.melt:3097:/ objlabel"); ; /*^clear */ /*clear *//*_.SV__V39*/ meltfptr[29] = 0; /*^cond */ /*cond */ if ( /*SOMESTRVAL_mtch1__1? */ (( /*_.CTYPG_UPDATEBOXFUN__V31*/ meltfptr[30]) && melt_magic_discr ((melt_ptr_t) ( /*_.CTYPG_UPDATEBOXFUN__V31*/ meltfptr[30])) == MELTOBMAG_STRING)) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^clear */ /*clear *//*_.SV__V39*/ meltfptr[29] = 0; { /*^locexp */ /*SOMESTRVAL_mtch1__1! *//*_.SV__V39*/ meltfptr[29] = /*_.CTYPG_UPDATEBOXFUN__V31*/ meltfptr[30];; } ; MELT_LOCATION ("warmelt-modes.melt:3085:/ objgoto"); /*objgoto */ goto mtch1_9; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3097:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3256:/ objgoto"); /*objgoto */ goto mtch1_10; ; } ; } ; /*objlabel */ mtch1_9:; MELT_LOCATION ("warmelt-modes.melt:3085:/ objlabel"); ; /*^quasiblock */ /*_.BOXCONSTDISCR__V40*/ meltfptr[30] = /*_.CTYPE_AUTOCONSTBOXDISCR__V28*/ meltfptr[27];; /*^compute */ /*_.BOXDISCR__V41*/ meltfptr[40] = /*_.CTYPE_AUTOBOXDISCR__V27*/ meltfptr[26];; /*^compute */ /*_.BOXDISCRNAME__V42*/ meltfptr[41] = /*_.NAMED_NAME__V36*/ meltfptr[25];; /*^compute */ /*_.BOXEDMAGIC__V43*/ meltfptr[42] = /*_.SV__V34*/ meltfptr[23];; /*^compute */ /*_.BOXEDSTRUCT__V44*/ meltfptr[43] = /*_.SV__V35*/ meltfptr[24];; /*^compute */ /*_.BOXFUN__V45*/ meltfptr[44] = /*_.SV__V37*/ meltfptr[26];; /*^compute */ /*_.CNAME__V46*/ meltfptr[45] = /*_.SV__V33*/ meltfptr[18];; /*^compute */ /*_.CTYPNAM__V47*/ meltfptr[46] = /*_.SV__V32*/ meltfptr[31];; /*^compute */ /*_.UNBOXFUN__V48*/ meltfptr[47] = /*_.SV__V38*/ meltfptr[28];; /*^compute */ /*_.UPDATEBOXFUN__V49*/ meltfptr[48] = /*_.SV__V39*/ meltfptr[29];; { MELT_LOCATION ("warmelt-modes.melt:3099:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), ("/*gtyctype #")); } ; /*_#I__L10*/ meltfnum[1] = ((1) + ( /*_#TIX__L6*/ meltfnum[0]));; { MELT_LOCATION ("warmelt-modes.melt:3100:/ locexp"); meltgc_add_strbuf_dec ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), ( /*_#I__L10*/ meltfnum[1])); } ; { MELT_LOCATION ("warmelt-modes.melt:3101:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (" ")); } ; MELT_LOCATION ("warmelt-modes.melt:3102:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V50*/ meltfptr[49] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V50*/ meltfptr[49] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:3102:/ locexp"); meltgc_add_strbuf_ccomment ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.NAMED_NAME__V50*/ meltfptr[49]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3103:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), ("*/")); } ; { MELT_LOCATION ("warmelt-modes.melt:3104:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3105:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), ("melt_ptr_t ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3106:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.BOXFUN__V45*/ meltfptr[44]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3107:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), ("(meltobject_ptr_t discr, ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3108:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CNAME__V46*/ meltfptr[45]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3109:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (" val);")); } ; { MELT_LOCATION ("warmelt-modes.melt:3110:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3111:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), ("void ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3112:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.UPDATEBOXFUN__V49*/ meltfptr[48]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3113:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), ("(melt_ptr_t boxp, ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3114:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CNAME__V46*/ meltfptr[45]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3115:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (" val);")); } ; { MELT_LOCATION ("warmelt-modes.melt:3116:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3117:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3118:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), ("static inline ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3119:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CNAME__V46*/ meltfptr[45]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3120:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (" ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3121:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.UNBOXFUN__V48*/ meltfptr[47]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3122:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), ("(melt_ptr_t box_p) {")); } ; { MELT_LOCATION ("warmelt-modes.melt:3123:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3124:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), ("if (melt_magic_discr(box_p) == ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3125:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.BOXEDMAGIC__V43*/ meltfptr[42]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3126:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (")")); } ; { MELT_LOCATION ("warmelt-modes.melt:3127:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3128:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), ("return ((struct ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3129:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.BOXEDSTRUCT__V44*/ meltfptr[43]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3130:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), ("*)box_p)->val;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3131:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3132:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), ("return (")); } ; { MELT_LOCATION ("warmelt-modes.melt:3133:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CNAME__V46*/ meltfptr[45]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3134:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (")0;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3135:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3136:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), ("} /* end generated ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3137:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.UNBOXFUN__V48*/ meltfptr[47]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3138:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (" */")); } ; { MELT_LOCATION ("warmelt-modes.melt:3139:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3140:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3142:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("/*gtyctype #")); } ; /*_#I__L11*/ meltfnum[7] = ((1) + ( /*_#TIX__L6*/ meltfnum[0]));; { MELT_LOCATION ("warmelt-modes.melt:3143:/ locexp"); meltgc_add_strbuf_dec ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ( /*_#I__L11*/ meltfnum[7])); } ; { MELT_LOCATION ("warmelt-modes.melt:3144:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (" ")); } ; MELT_LOCATION ("warmelt-modes.melt:3145:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V51*/ meltfptr[50] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V51*/ meltfptr[50] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:3145:/ locexp"); meltgc_add_strbuf_ccomment ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.NAMED_NAME__V51*/ meltfptr[50]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3146:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("*/")); } ; { MELT_LOCATION ("warmelt-modes.melt:3147:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3148:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3149:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("melt_ptr_t")); } ; { MELT_LOCATION ("warmelt-modes.melt:3150:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3151:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.BOXFUN__V45*/ meltfptr[44]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3152:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("(meltobject_ptr_t discr_p, ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3153:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CNAME__V46*/ meltfptr[45]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3154:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (" val) { /*generated boxingfun*/")); } ; { MELT_LOCATION ("warmelt-modes.melt:3155:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3156:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("MELT_ENTERFRAME (2, NULL);")); } ; { MELT_LOCATION ("warmelt-modes.melt:3157:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3158:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("#define resv meltfram__.mcfr_varptr[0]")); } ; { MELT_LOCATION ("warmelt-modes.melt:3160:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3161:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("#define discrv meltfram__.mcfr_varptr[1]")); } ; { MELT_LOCATION ("warmelt-modes.melt:3163:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3164:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("discrv = discr_p;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3166:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3167:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("if (!discrv) discrv = MELT_PREDEF(")); } ; { MELT_LOCATION ("warmelt-modes.melt:3169:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.BOXDISCRNAME__V42*/ meltfptr[41]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3170:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (");")); } ; { MELT_LOCATION ("warmelt-modes.melt:3171:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3172:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("if (melt_magic_discr((melt_ptr_t)discrv) != MELTOBMAG_OBJECT) goto\ end;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3174:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3175:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("if (((meltobject_ptr_t)(discrv))->meltobj_magic != ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3177:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.BOXEDMAGIC__V43*/ meltfptr[42]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3178:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (") goto end;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3179:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3180:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("resv = meltgc_allocate (sizeof (struct ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3181:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.BOXEDSTRUCT__V44*/ meltfptr[43]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3182:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("), 0);")); } ; { MELT_LOCATION ("warmelt-modes.melt:3183:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3184:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("((struct ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3185:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.BOXEDSTRUCT__V44*/ meltfptr[43]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3186:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("*) (resv))->discr = (meltobject_ptr_t)discrv;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3187:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3188:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("((struct ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3189:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.BOXEDSTRUCT__V44*/ meltfptr[43]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3190:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("*) (resv))->val = val;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3191:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3192:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("end: MELT_EXITFRAME ();")); } ; { MELT_LOCATION ("warmelt-modes.melt:3193:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3194:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("return ((melt_ptr_t)(resv));")); } ; { MELT_LOCATION ("warmelt-modes.melt:3195:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3196:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("#undef resv")); } ; { MELT_LOCATION ("warmelt-modes.melt:3197:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3198:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("#undef discrv")); } ; { MELT_LOCATION ("warmelt-modes.melt:3199:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3200:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("} /* end generated boxingfun ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3201:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.BOXFUN__V45*/ meltfptr[44]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3202:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (" */")); } ; { MELT_LOCATION ("warmelt-modes.melt:3203:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3204:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3205:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("void")); } ; { MELT_LOCATION ("warmelt-modes.melt:3206:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3207:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.UPDATEBOXFUN__V49*/ meltfptr[48]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3208:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("(melt_ptr_t box_p, ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3209:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.CNAME__V46*/ meltfptr[45]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3210:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (" val) { /*generated updateboxfun */")); } ; { MELT_LOCATION ("warmelt-modes.melt:3211:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3212:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("MELT_ENTERFRAME (1, NULL);")); } ; { MELT_LOCATION ("warmelt-modes.melt:3213:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3214:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("#define boxv meltfram__.mcfr_varptr[0]")); } ; { MELT_LOCATION ("warmelt-modes.melt:3216:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3217:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("boxv = box_p;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3218:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3219:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("if (melt_magic_discr((melt_ptr_t)boxv) != ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3221:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.BOXEDMAGIC__V43*/ meltfptr[42]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3222:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (") goto end;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3225:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (1), 0); } ; MELT_CHECK_SIGNAL (); ; /*_#IS_A__L12*/ meltfnum[11] = melt_is_instance_of ((melt_ptr_t) ( /*_.BOXCONSTDISCR__V40*/ meltfptr[30]), (melt_ptr_t) (( /*!CLASS_DISCRIMINANT */ meltfrout->tabval[3])));; MELT_LOCATION ("warmelt-modes.melt:3226:/ cond"); /*cond */ if ( /*_#IS_A__L12*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3227:/ quasiblock"); MELT_LOCATION ("warmelt-modes.melt:3228:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.BOXCONSTDISCR__V40*/ meltfptr[30]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.BOXCONSTDISCR__V40*/ meltfptr[30]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.BOXCONSTDISCRNAME__V52*/ meltfptr[51] = slot; }; ; } else { /*^cond.else */ /*_.BOXCONSTDISCRNAME__V52*/ meltfptr[51] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3230:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = "if (((melt_ptr_t) boxv)->u_discr\n\t\t\t\t /* generated updatebox\ nonconst */\n\t\t\t\t == (meltobject_ptr_t) MELT_PREDEF ("; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.BOXCONSTDISCRNAME__V52*/ meltfptr[51]; /*^apply.arg */ argtab[2].meltbp_cstring = "))\n\t\t\t goto end ;"; /*_.ADD2OUT__V53*/ meltfptr[52] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout->tabval[5])), (melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3236:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (1), 0); } ; MELT_LOCATION ("warmelt-modes.melt:3227:/ clear"); /*clear *//*_.BOXCONSTDISCRNAME__V52*/ meltfptr[51] = 0; /*^clear */ /*clear *//*_.ADD2OUT__V53*/ meltfptr[52] = 0; /*epilog */ } ; } /*noelse */ ; { MELT_LOCATION ("warmelt-modes.melt:3240:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("((struct ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3241:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.BOXEDSTRUCT__V44*/ meltfptr[43]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3242:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("*) (boxv))->val = val;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3243:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (1), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3244:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("meltgc_touch ((melt_ptr_t)boxv);")); } ; { MELT_LOCATION ("warmelt-modes.melt:3245:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3246:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("end: MELT_EXITFRAME ();")); } ; { MELT_LOCATION ("warmelt-modes.melt:3247:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3248:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("#undef boxv")); } ; { MELT_LOCATION ("warmelt-modes.melt:3249:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3250:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("} /* end generated updateboxfun ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3251:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), melt_string_str ((melt_ptr_t) ( /*_.UPDATEBOXFUN__V49*/ meltfptr[48]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3252:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (" */")); } ; { MELT_LOCATION ("warmelt-modes.melt:3253:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3254:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3085:/ clear"); /*clear *//*_.BOXCONSTDISCR__V40*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.BOXDISCR__V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.BOXDISCRNAME__V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.BOXEDMAGIC__V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.BOXEDSTRUCT__V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.BOXFUN__V45*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.CNAME__V46*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.CTYPNAM__V47*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.UNBOXFUN__V48*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.UPDATEBOXFUN__V49*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_#I__L10*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V50*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_#I__L11*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V51*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_#IS_A__L12*/ meltfnum[11] = 0; /*^objgoto */ /*objgoto */ goto mtch1__end /*endmatch */ ; ; /*objlabel */ mtch1_10:; MELT_LOCATION ("warmelt-modes.melt:3256:/ objlabel"); ; /*^quasiblock */ MELT_LOCATION ("warmelt-modes.melt:3258:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V16*/ meltfptr[14]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V54*/ meltfptr[51] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V54*/ meltfptr[51] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:3257:/ locexp"); error ("MELT ERROR MSG [#%ld]::: %s - %s", melt_dbgcounter, ("invalid GTY-ed ctype for boxing"), melt_string_str ((melt_ptr_t) ( /*_.NAMED_NAME__V54*/ meltfptr[51]))); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3259:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if (( /*nil */ NULL)) /*then */ { /*^cond.then */ /*_.IFELSE___V56*/ meltfptr[30] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:3259:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("invalid curctype"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (3259) ? (3259) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V56*/ meltfptr[30] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V55*/ meltfptr[52] = /*_.IFELSE___V56*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3259:/ clear"); /*clear *//*_.IFELSE___V56*/ meltfptr[30] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V55*/ meltfptr[52] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3256:/ clear"); /*clear *//*_.NAMED_NAME__V54*/ meltfptr[51] = 0; /*^clear */ /*clear *//*_.IFCPP___V55*/ meltfptr[52] = 0; /*^objgoto */ /*objgoto */ goto mtch1__end /*endmatch */ ; ; /*objlabel */ mtch1__end:; MELT_LOCATION ("warmelt-modes.melt:3084:/ objlabel"); ; } ; if ( /*_#TIX__L6*/ meltfnum[0] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-modes.melt:3079:/ clear"); /*clear *//*_.CURCTYP__V16*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_#TIX__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFCPP___V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.IFCPP___V21*/ meltfptr[17] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; { MELT_LOCATION ("warmelt-modes.melt:3262:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3263:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), ("/** end of declarations generated by generate_runtypesupport_boxingfun **/")); } ; { MELT_LOCATION ("warmelt-modes.melt:3265:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3266:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.DECLBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3267:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3268:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), ("/** end of code generated by generate_runtypesupport_boxingfun **/")); } ; { MELT_LOCATION ("warmelt-modes.melt:3270:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3271:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.CODEBUF__V5*/ meltfptr[4]), (0), 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3272:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L13*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3272:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L13*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L14*/ meltfnum[7] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3272:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L14*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3272; /*^apply.arg */ argtab[3].meltbp_cstring = "generate_runtypesupport_boxingfun end outarg="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V59*/ meltfptr[42] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V58*/ meltfptr[41] = /*_.MELT_DEBUG_FUN__V59*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3272:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L14*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V59*/ meltfptr[42] = 0; } ; } else { /*^cond.else */ /*_.IF___V58*/ meltfptr[41] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3272:/ quasiblock"); /*_.PROGN___V60*/ meltfptr[43] = /*_.IF___V58*/ meltfptr[41];; /*^compute */ /*_.IFCPP___V57*/ meltfptr[40] = /*_.PROGN___V60*/ meltfptr[43];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3272:/ clear"); /*clear *//*_#MELT_NEED_DBG__L13*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V58*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.PROGN___V60*/ meltfptr[43] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V57*/ meltfptr[40] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3060:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.IFCPP___V57*/ meltfptr[40];; { MELT_LOCATION ("warmelt-modes.melt:3060:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.IFCPP___V57*/ meltfptr[40] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("GENERATE_RUNTYPESUPPORT_BOXINGFUN", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_56_warmelt_modes_GENERATE_RUNTYPESUPPORT_BOXINGFUN_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_56_warmelt_modes_GENERATE_RUNTYPESUPPORT_BOXINGFUN */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_57_warmelt_modes_GENERATE_RUNTYPESUPPORT_MAPFUN (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_57_warmelt_modes_GENERATE_RUNTYPESUPPORT_MAPFUN_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_57_warmelt_modes_GENERATE_RUNTYPESUPPORT_MAPFUN_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 81 melt_ptr_t mcfr_varptr[81]; #define MELTFRAM_NBVARNUM 21 long mcfr_varnum[21]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_57_warmelt_modes_GENERATE_RUNTYPESUPPORT_MAPFUN is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_57_warmelt_modes_GENERATE_RUNTYPESUPPORT_MAPFUN_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 81; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_57_warmelt_modes_GENERATE_RUNTYPESUPPORT_MAPFUN nbval 81*/ meltfram__.mcfr_nbvar = 81 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("GENERATE_RUNTYPESUPPORT_MAPFUN", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:3278:/ getarg"); /*_.CTYTUP__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.OUTARG__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.OUTARG__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.OUTBUF__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3279:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3279:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3279:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3279; /*^apply.arg */ argtab[3].meltbp_cstring = "generate_runtypesupport_mapfun start outarg="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V6*/ meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3279:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0; } ; } else { /*^cond.else */ /*_.IF___V6*/ meltfptr[5] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3279:/ quasiblock"); /*_.PROGN___V8*/ meltfptr[6] = /*_.IF___V6*/ meltfptr[5];; /*^compute */ /*_.IFCPP___V5*/ meltfptr[4] = /*_.PROGN___V8*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3279:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.PROGN___V8*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V5*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3280:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L3*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.CTYTUP__V2*/ meltfptr[1])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-modes.melt:3280:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V10*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:3280:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check ctytup is tuple"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (3280) ? (3280) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V10*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V9*/ meltfptr[5] = /*_.IFELSE___V10*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3280:/ clear"); /*clear *//*_#IS_MULTIPLE__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V10*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V9*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3281:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_STRBUF__L4*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3])) == MELTOBMAG_STRBUF);; MELT_LOCATION ("warmelt-modes.melt:3281:/ cond"); /*cond */ if ( /*_#IS_STRBUF__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V12*/ meltfptr[11] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:3281:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check outbuf is buffer"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (3281) ? (3281) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V12*/ meltfptr[11] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V11*/ meltfptr[6] = /*_.IFELSE___V12*/ meltfptr[11];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3281:/ clear"); /*clear *//*_#IS_STRBUF__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V12*/ meltfptr[11] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V11*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:3282:/ locexp"); if (65000 > 0) meltgc_strbuf_reserve ((melt_ptr_t) /*_.OUTBUF__V4*/ meltfptr[3], (unsigned) 65000);; } ; { MELT_LOCATION ("warmelt-modes.melt:3283:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3284:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3285:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("/** start of code generated by generate_runtypesupport_mapfun **/")); } ; { MELT_LOCATION ("warmelt-modes.melt:3287:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3288:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.CTYTUP__V2*/ meltfptr[1]); for ( /*_#TIX__L5*/ meltfnum[1] = 0; ( /*_#TIX__L5*/ meltfnum[1] >= 0) && ( /*_#TIX__L5*/ meltfnum[1] < meltcit1__EACHTUP_ln); /*_#TIX__L5*/ meltfnum[1]++) { /*_.CURCTYP__V13*/ meltfptr[11] = melt_multiple_nth ((melt_ptr_t) ( /*_.CTYTUP__V2*/ meltfptr[1]), /*_#TIX__L5*/ meltfnum[1]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3293:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L6*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3293:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3293:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3293; /*^apply.arg */ argtab[3].meltbp_cstring = "generate runtypesupport_mapfun curctyp="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CURCTYP__V13*/ meltfptr[11]; /*_.MELT_DEBUG_FUN__V16*/ meltfptr[15] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V15*/ meltfptr[14] = /*_.MELT_DEBUG_FUN__V16*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3293:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V16*/ meltfptr[15] = 0; } ; } else { /*^cond.else */ /*_.IF___V15*/ meltfptr[14] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3293:/ quasiblock"); /*_.PROGN___V17*/ meltfptr[15] = /*_.IF___V15*/ meltfptr[14];; /*^compute */ /*_.IFCPP___V14*/ meltfptr[13] = /*_.PROGN___V17*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3293:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.PROGN___V17*/ meltfptr[15] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[13] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3294:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L8*/ meltfnum[6] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V13*/ meltfptr[11]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-modes.melt:3294:/ cond"); /*cond */ if ( /*_#IS_A__L8*/ meltfnum[6]) /*then */ { /*^cond.then */ /*_.IFELSE___V19*/ meltfptr[15] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:3294:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curctyp"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (3294) ? (3294) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V19*/ meltfptr[15] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V18*/ meltfptr[14] = /*_.IFELSE___V19*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3294:/ clear"); /*clear *//*_#IS_A__L8*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IFELSE___V19*/ meltfptr[15] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V18*/ meltfptr[14] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:3295:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("/*gtyctype #")); } ; /*_#I__L9*/ meltfnum[0] = ((1) + ( /*_#TIX__L5*/ meltfnum[1]));; { MELT_LOCATION ("warmelt-modes.melt:3296:/ locexp"); meltgc_add_strbuf_dec ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ( /*_#I__L9*/ meltfnum[0])); } ; { MELT_LOCATION ("warmelt-modes.melt:3297:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" ")); } ; MELT_LOCATION ("warmelt-modes.melt:3298:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V13*/ meltfptr[11]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V13*/ meltfptr[11]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V20*/ meltfptr[15] = slot; }; ; } else { /*^cond.else */ /*_.NAMED_NAME__V20*/ meltfptr[15] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:3298:/ locexp"); meltgc_add_strbuf_ccomment ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.NAMED_NAME__V20*/ meltfptr[15]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3299:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("*/")); } ; { MELT_LOCATION ("warmelt-modes.melt:3300:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (1), 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3301:/ block"); /*anyblock */ { /*^objgoto */ /*objgoto */ goto mtch1_0; ; /*objlabel */ mtch1_0:; MELT_LOCATION ("warmelt-modes.melt:3302:/ objlabel"); ; /*^clear */ /*clear *//*_.NAMED_NAME__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.CTYPE_CNAME__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPSTRUCT__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPMAGIC__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPDISCR__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPUNIMEMB__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.CTYPG_NEWMAPFUN__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPGETFUN__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPPUTFUN__V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPREMOVEFUN__V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPCOUNTFUN__V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPSIZEFUN__V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPNATTFUN__V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPNVALFUN__V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPAUXDATAFUN__V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.CTYPG_MAPAUXPUTFUN__V36*/ meltfptr[35] = 0; /*^cond */ /*cond */ if ( /*normtesterinst */ (melt_is_instance_of ((melt_ptr_t) ( /*_.CURCTYP__V13*/ meltfptr[11]), (melt_ptr_t) (( /*!CLASS_CTYPE_GTY */ meltfrout->tabval[1]))))) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V13*/ meltfptr[11]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V21*/ meltfptr[20] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V13*/ meltfptr[11]) /*=obj*/ ; melt_object_get_field (slot, obj, 4, "CTYPE_CNAME"); /*_.CTYPE_CNAME__V22*/ meltfptr[21] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V13*/ meltfptr[11]) /*=obj*/ ; melt_object_get_field (slot, obj, 14, "CTYPG_MAPMAGIC"); /*_.CTYPG_MAPMAGIC__V24*/ meltfptr[23] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V13*/ meltfptr[11]) /*=obj*/ ; melt_object_get_field (slot, obj, 18, "CTYPG_MAPSTRUCT"); /*_.CTYPG_MAPSTRUCT__V23*/ meltfptr[22] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V13*/ meltfptr[11]) /*=obj*/ ; melt_object_get_field (slot, obj, 19, "CTYPG_MAPDISCR"); /*_.CTYPG_MAPDISCR__V25*/ meltfptr[24] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V13*/ meltfptr[11]) /*=obj*/ ; melt_object_get_field (slot, obj, 20, "CTYPG_MAPUNIMEMB"); /*_.CTYPG_MAPUNIMEMB__V26*/ meltfptr[25] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V13*/ meltfptr[11]) /*=obj*/ ; melt_object_get_field (slot, obj, 24, "CTYPG_NEWMAPFUN"); /*_.CTYPG_NEWMAPFUN__V27*/ meltfptr[26] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V13*/ meltfptr[11]) /*=obj*/ ; melt_object_get_field (slot, obj, 25, "CTYPG_MAPGETFUN"); /*_.CTYPG_MAPGETFUN__V28*/ meltfptr[27] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V13*/ meltfptr[11]) /*=obj*/ ; melt_object_get_field (slot, obj, 26, "CTYPG_MAPPUTFUN"); /*_.CTYPG_MAPPUTFUN__V29*/ meltfptr[28] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V13*/ meltfptr[11]) /*=obj*/ ; melt_object_get_field (slot, obj, 27, "CTYPG_MAPREMOVEFUN"); /*_.CTYPG_MAPREMOVEFUN__V30*/ meltfptr[29] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V13*/ meltfptr[11]) /*=obj*/ ; melt_object_get_field (slot, obj, 28, "CTYPG_MAPCOUNTFUN"); /*_.CTYPG_MAPCOUNTFUN__V31*/ meltfptr[30] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V13*/ meltfptr[11]) /*=obj*/ ; melt_object_get_field (slot, obj, 29, "CTYPG_MAPSIZEFUN"); /*_.CTYPG_MAPSIZEFUN__V32*/ meltfptr[31] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V13*/ meltfptr[11]) /*=obj*/ ; melt_object_get_field (slot, obj, 30, "CTYPG_MAPNATTFUN"); /*_.CTYPG_MAPNATTFUN__V33*/ meltfptr[32] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V13*/ meltfptr[11]) /*=obj*/ ; melt_object_get_field (slot, obj, 31, "CTYPG_MAPNVALFUN"); /*_.CTYPG_MAPNVALFUN__V34*/ meltfptr[33] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V13*/ meltfptr[11]) /*=obj*/ ; melt_object_get_field (slot, obj, 32, "CTYPG_MAPAUXDATAFUN"); /*_.CTYPG_MAPAUXDATAFUN__V35*/ meltfptr[34] = slot; }; ; /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURCTYP__V13*/ meltfptr[11]) /*=obj*/ ; melt_object_get_field (slot, obj, 33, "CTYPG_MAPAUXPUTFUN"); /*_.CTYPG_MAPAUXPUTFUN__V36*/ meltfptr[35] = slot; }; ; MELT_LOCATION ("warmelt-modes.melt:3303:/ objgoto"); /*objgoto */ goto mtch1_1; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3302:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3636:/ objgoto"); /*objgoto */ goto mtch1_18; ; } ; } ; /*objlabel */ mtch1_1:; MELT_LOCATION ("warmelt-modes.melt:3303:/ objlabel"); ; /*^clear */ /*clear *//*_.SV__V37*/ meltfptr[36] = 0; /*^cond */ /*cond */ if ( /*SOMESTRVAL_mtch1__1? */ (( /*_.NAMED_NAME__V21*/ meltfptr[20]) && melt_magic_discr ((melt_ptr_t) ( /*_.NAMED_NAME__V21*/ meltfptr[20])) == MELTOBMAG_STRING)) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^clear */ /*clear *//*_.SV__V37*/ meltfptr[36] = 0; { /*^locexp */ /*SOMESTRVAL_mtch1__1! *//*_.SV__V37*/ meltfptr[36] = /*_.NAMED_NAME__V21*/ meltfptr[20];; } ; MELT_LOCATION ("warmelt-modes.melt:3304:/ objgoto"); /*objgoto */ goto mtch1_2; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3303:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3636:/ objgoto"); /*objgoto */ goto mtch1_18; ; } ; } ; /*objlabel */ mtch1_2:; MELT_LOCATION ("warmelt-modes.melt:3304:/ objlabel"); ; /*^clear */ /*clear *//*_.SV__V38*/ meltfptr[20] = 0; /*^cond */ /*cond */ if ( /*SOMESTRVAL_mtch1__1? */ (( /*_.CTYPE_CNAME__V22*/ meltfptr[21]) && melt_magic_discr ((melt_ptr_t) ( /*_.CTYPE_CNAME__V22*/ meltfptr[21])) == MELTOBMAG_STRING)) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^clear */ /*clear *//*_.SV__V38*/ meltfptr[20] = 0; { /*^locexp */ /*SOMESTRVAL_mtch1__1! *//*_.SV__V38*/ meltfptr[20] = /*_.CTYPE_CNAME__V22*/ meltfptr[21];; } ; MELT_LOCATION ("warmelt-modes.melt:3305:/ objgoto"); /*objgoto */ goto mtch1_3; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3304:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3636:/ objgoto"); /*objgoto */ goto mtch1_18; ; } ; } ; /*objlabel */ mtch1_3:; MELT_LOCATION ("warmelt-modes.melt:3305:/ objlabel"); ; /*^clear */ /*clear *//*_.SV__V39*/ meltfptr[21] = 0; /*^cond */ /*cond */ if ( /*SOMESTRVAL_mtch1__1? */ (( /*_.CTYPG_MAPSTRUCT__V23*/ meltfptr[22]) && melt_magic_discr ((melt_ptr_t) ( /*_.CTYPG_MAPSTRUCT__V23*/ meltfptr[22])) == MELTOBMAG_STRING)) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^clear */ /*clear *//*_.SV__V39*/ meltfptr[21] = 0; { /*^locexp */ /*SOMESTRVAL_mtch1__1! *//*_.SV__V39*/ meltfptr[21] = /*_.CTYPG_MAPSTRUCT__V23*/ meltfptr[22];; } ; MELT_LOCATION ("warmelt-modes.melt:3306:/ objgoto"); /*objgoto */ goto mtch1_4; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3305:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3636:/ objgoto"); /*objgoto */ goto mtch1_18; ; } ; } ; /*objlabel */ mtch1_4:; MELT_LOCATION ("warmelt-modes.melt:3306:/ objlabel"); ; /*^clear */ /*clear *//*_.SV__V40*/ meltfptr[22] = 0; /*^cond */ /*cond */ if ( /*SOMESTRVAL_mtch1__1? */ (( /*_.CTYPG_MAPMAGIC__V24*/ meltfptr[23]) && melt_magic_discr ((melt_ptr_t) ( /*_.CTYPG_MAPMAGIC__V24*/ meltfptr[23])) == MELTOBMAG_STRING)) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^clear */ /*clear *//*_.SV__V40*/ meltfptr[22] = 0; { /*^locexp */ /*SOMESTRVAL_mtch1__1! *//*_.SV__V40*/ meltfptr[22] = /*_.CTYPG_MAPMAGIC__V24*/ meltfptr[23];; } ; MELT_LOCATION ("warmelt-modes.melt:3307:/ objgoto"); /*objgoto */ goto mtch1_5; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3306:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3636:/ objgoto"); /*objgoto */ goto mtch1_18; ; } ; } ; /*objlabel */ mtch1_5:; MELT_LOCATION ("warmelt-modes.melt:3307:/ objlabel"); ; /*^clear */ /*clear *//*_.NAMED_NAME__V41*/ meltfptr[23] = 0; /*^cond */ /*cond */ if ( /*normtesterinst */ (melt_is_instance_of ((melt_ptr_t) ( /*_.CTYPG_MAPDISCR__V25*/ meltfptr[24]), (melt_ptr_t) (( /*!CLASS_DISCRIMINANT */ meltfrout->tabval[4]))))) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CTYPG_MAPDISCR__V25*/ meltfptr[24]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.NAMED_NAME__V41*/ meltfptr[23] = slot; }; ; MELT_LOCATION ("warmelt-modes.melt:3309:/ objgoto"); /*objgoto */ goto mtch1_6; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3307:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3636:/ objgoto"); /*objgoto */ goto mtch1_18; ; } ; } ; /*objlabel */ mtch1_6:; MELT_LOCATION ("warmelt-modes.melt:3309:/ objlabel"); ; /*^clear */ /*clear *//*_.SV__V42*/ meltfptr[24] = 0; /*^cond */ /*cond */ if ( /*SOMESTRVAL_mtch1__1? */ (( /*_.CTYPG_MAPUNIMEMB__V26*/ meltfptr[25]) && melt_magic_discr ((melt_ptr_t) ( /*_.CTYPG_MAPUNIMEMB__V26*/ meltfptr[25])) == MELTOBMAG_STRING)) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^clear */ /*clear *//*_.SV__V42*/ meltfptr[24] = 0; { /*^locexp */ /*SOMESTRVAL_mtch1__1! *//*_.SV__V42*/ meltfptr[24] = /*_.CTYPG_MAPUNIMEMB__V26*/ meltfptr[25];; } ; MELT_LOCATION ("warmelt-modes.melt:3310:/ objgoto"); /*objgoto */ goto mtch1_7; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3309:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3636:/ objgoto"); /*objgoto */ goto mtch1_18; ; } ; } ; /*objlabel */ mtch1_7:; MELT_LOCATION ("warmelt-modes.melt:3310:/ objlabel"); ; /*^clear */ /*clear *//*_.SV__V43*/ meltfptr[25] = 0; /*^cond */ /*cond */ if ( /*SOMESTRVAL_mtch1__1? */ (( /*_.CTYPG_NEWMAPFUN__V27*/ meltfptr[26]) && melt_magic_discr ((melt_ptr_t) ( /*_.CTYPG_NEWMAPFUN__V27*/ meltfptr[26])) == MELTOBMAG_STRING)) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^clear */ /*clear *//*_.SV__V43*/ meltfptr[25] = 0; { /*^locexp */ /*SOMESTRVAL_mtch1__1! *//*_.SV__V43*/ meltfptr[25] = /*_.CTYPG_NEWMAPFUN__V27*/ meltfptr[26];; } ; MELT_LOCATION ("warmelt-modes.melt:3311:/ objgoto"); /*objgoto */ goto mtch1_8; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3310:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3636:/ objgoto"); /*objgoto */ goto mtch1_18; ; } ; } ; /*objlabel */ mtch1_8:; MELT_LOCATION ("warmelt-modes.melt:3311:/ objlabel"); ; /*^clear */ /*clear *//*_.SV__V44*/ meltfptr[26] = 0; /*^cond */ /*cond */ if ( /*SOMESTRVAL_mtch1__1? */ (( /*_.CTYPG_MAPGETFUN__V28*/ meltfptr[27]) && melt_magic_discr ((melt_ptr_t) ( /*_.CTYPG_MAPGETFUN__V28*/ meltfptr[27])) == MELTOBMAG_STRING)) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^clear */ /*clear *//*_.SV__V44*/ meltfptr[26] = 0; { /*^locexp */ /*SOMESTRVAL_mtch1__1! *//*_.SV__V44*/ meltfptr[26] = /*_.CTYPG_MAPGETFUN__V28*/ meltfptr[27];; } ; MELT_LOCATION ("warmelt-modes.melt:3312:/ objgoto"); /*objgoto */ goto mtch1_9; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3311:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3636:/ objgoto"); /*objgoto */ goto mtch1_18; ; } ; } ; /*objlabel */ mtch1_9:; MELT_LOCATION ("warmelt-modes.melt:3312:/ objlabel"); ; /*^clear */ /*clear *//*_.SV__V45*/ meltfptr[27] = 0; /*^cond */ /*cond */ if ( /*SOMESTRVAL_mtch1__1? */ (( /*_.CTYPG_MAPPUTFUN__V29*/ meltfptr[28]) && melt_magic_discr ((melt_ptr_t) ( /*_.CTYPG_MAPPUTFUN__V29*/ meltfptr[28])) == MELTOBMAG_STRING)) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^clear */ /*clear *//*_.SV__V45*/ meltfptr[27] = 0; { /*^locexp */ /*SOMESTRVAL_mtch1__1! *//*_.SV__V45*/ meltfptr[27] = /*_.CTYPG_MAPPUTFUN__V29*/ meltfptr[28];; } ; MELT_LOCATION ("warmelt-modes.melt:3313:/ objgoto"); /*objgoto */ goto mtch1_10; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3312:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3636:/ objgoto"); /*objgoto */ goto mtch1_18; ; } ; } ; /*objlabel */ mtch1_10:; MELT_LOCATION ("warmelt-modes.melt:3313:/ objlabel"); ; /*^clear */ /*clear *//*_.SV__V46*/ meltfptr[28] = 0; /*^cond */ /*cond */ if ( /*SOMESTRVAL_mtch1__1? */ (( /*_.CTYPG_MAPREMOVEFUN__V30*/ meltfptr[29]) && melt_magic_discr ((melt_ptr_t) ( /*_.CTYPG_MAPREMOVEFUN__V30*/ meltfptr[29])) == MELTOBMAG_STRING)) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^clear */ /*clear *//*_.SV__V46*/ meltfptr[28] = 0; { /*^locexp */ /*SOMESTRVAL_mtch1__1! *//*_.SV__V46*/ meltfptr[28] = /*_.CTYPG_MAPREMOVEFUN__V30*/ meltfptr[29];; } ; MELT_LOCATION ("warmelt-modes.melt:3314:/ objgoto"); /*objgoto */ goto mtch1_11; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3313:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3636:/ objgoto"); /*objgoto */ goto mtch1_18; ; } ; } ; /*objlabel */ mtch1_11:; MELT_LOCATION ("warmelt-modes.melt:3314:/ objlabel"); ; /*^clear */ /*clear *//*_.SV__V47*/ meltfptr[29] = 0; /*^cond */ /*cond */ if ( /*SOMESTRVAL_mtch1__1? */ (( /*_.CTYPG_MAPCOUNTFUN__V31*/ meltfptr[30]) && melt_magic_discr ((melt_ptr_t) ( /*_.CTYPG_MAPCOUNTFUN__V31*/ meltfptr[30])) == MELTOBMAG_STRING)) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^clear */ /*clear *//*_.SV__V47*/ meltfptr[29] = 0; { /*^locexp */ /*SOMESTRVAL_mtch1__1! *//*_.SV__V47*/ meltfptr[29] = /*_.CTYPG_MAPCOUNTFUN__V31*/ meltfptr[30];; } ; MELT_LOCATION ("warmelt-modes.melt:3315:/ objgoto"); /*objgoto */ goto mtch1_12; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3314:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3636:/ objgoto"); /*objgoto */ goto mtch1_18; ; } ; } ; /*objlabel */ mtch1_12:; MELT_LOCATION ("warmelt-modes.melt:3315:/ objlabel"); ; /*^clear */ /*clear *//*_.SV__V48*/ meltfptr[30] = 0; /*^cond */ /*cond */ if ( /*SOMESTRVAL_mtch1__1? */ (( /*_.CTYPG_MAPSIZEFUN__V32*/ meltfptr[31]) && melt_magic_discr ((melt_ptr_t) ( /*_.CTYPG_MAPSIZEFUN__V32*/ meltfptr[31])) == MELTOBMAG_STRING)) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^clear */ /*clear *//*_.SV__V48*/ meltfptr[30] = 0; { /*^locexp */ /*SOMESTRVAL_mtch1__1! *//*_.SV__V48*/ meltfptr[30] = /*_.CTYPG_MAPSIZEFUN__V32*/ meltfptr[31];; } ; MELT_LOCATION ("warmelt-modes.melt:3316:/ objgoto"); /*objgoto */ goto mtch1_13; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3315:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3636:/ objgoto"); /*objgoto */ goto mtch1_18; ; } ; } ; /*objlabel */ mtch1_13:; MELT_LOCATION ("warmelt-modes.melt:3316:/ objlabel"); ; /*^clear */ /*clear *//*_.SV__V49*/ meltfptr[31] = 0; /*^cond */ /*cond */ if ( /*SOMESTRVAL_mtch1__1? */ (( /*_.CTYPG_MAPNATTFUN__V33*/ meltfptr[32]) && melt_magic_discr ((melt_ptr_t) ( /*_.CTYPG_MAPNATTFUN__V33*/ meltfptr[32])) == MELTOBMAG_STRING)) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^clear */ /*clear *//*_.SV__V49*/ meltfptr[31] = 0; { /*^locexp */ /*SOMESTRVAL_mtch1__1! *//*_.SV__V49*/ meltfptr[31] = /*_.CTYPG_MAPNATTFUN__V33*/ meltfptr[32];; } ; MELT_LOCATION ("warmelt-modes.melt:3317:/ objgoto"); /*objgoto */ goto mtch1_14; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3316:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3636:/ objgoto"); /*objgoto */ goto mtch1_18; ; } ; } ; /*objlabel */ mtch1_14:; MELT_LOCATION ("warmelt-modes.melt:3317:/ objlabel"); ; /*^clear */ /*clear *//*_.SV__V50*/ meltfptr[32] = 0; /*^cond */ /*cond */ if ( /*SOMESTRVAL_mtch1__1? */ (( /*_.CTYPG_MAPNVALFUN__V34*/ meltfptr[33]) && melt_magic_discr ((melt_ptr_t) ( /*_.CTYPG_MAPNVALFUN__V34*/ meltfptr[33])) == MELTOBMAG_STRING)) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^clear */ /*clear *//*_.SV__V50*/ meltfptr[32] = 0; { /*^locexp */ /*SOMESTRVAL_mtch1__1! *//*_.SV__V50*/ meltfptr[32] = /*_.CTYPG_MAPNVALFUN__V34*/ meltfptr[33];; } ; MELT_LOCATION ("warmelt-modes.melt:3318:/ objgoto"); /*objgoto */ goto mtch1_15; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3317:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3636:/ objgoto"); /*objgoto */ goto mtch1_18; ; } ; } ; /*objlabel */ mtch1_15:; MELT_LOCATION ("warmelt-modes.melt:3318:/ objlabel"); ; /*^clear */ /*clear *//*_.SV__V51*/ meltfptr[33] = 0; /*^cond */ /*cond */ if ( /*SOMESTRVAL_mtch1__1? */ (( /*_.CTYPG_MAPAUXDATAFUN__V35*/ meltfptr[34]) && melt_magic_discr ((melt_ptr_t) ( /*_.CTYPG_MAPAUXDATAFUN__V35*/ meltfptr[34])) == MELTOBMAG_STRING)) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^clear */ /*clear *//*_.SV__V51*/ meltfptr[33] = 0; { /*^locexp */ /*SOMESTRVAL_mtch1__1! *//*_.SV__V51*/ meltfptr[33] = /*_.CTYPG_MAPAUXDATAFUN__V35*/ meltfptr[34];; } ; MELT_LOCATION ("warmelt-modes.melt:3319:/ objgoto"); /*objgoto */ goto mtch1_16; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3318:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3636:/ objgoto"); /*objgoto */ goto mtch1_18; ; } ; } ; /*objlabel */ mtch1_16:; MELT_LOCATION ("warmelt-modes.melt:3319:/ objlabel"); ; /*^clear */ /*clear *//*_.SV__V52*/ meltfptr[34] = 0; /*^cond */ /*cond */ if ( /*SOMESTRVAL_mtch1__1? */ (( /*_.CTYPG_MAPAUXPUTFUN__V36*/ meltfptr[35]) && melt_magic_discr ((melt_ptr_t) ( /*_.CTYPG_MAPAUXPUTFUN__V36*/ meltfptr[35])) == MELTOBMAG_STRING)) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^clear */ /*clear *//*_.SV__V52*/ meltfptr[34] = 0; { /*^locexp */ /*SOMESTRVAL_mtch1__1! *//*_.SV__V52*/ meltfptr[34] = /*_.CTYPG_MAPAUXPUTFUN__V36*/ meltfptr[35];; } ; MELT_LOCATION ("warmelt-modes.melt:3302:/ objgoto"); /*objgoto */ goto mtch1_17; ; } ; } else { MELT_LOCATION ("warmelt-modes.melt:3319:/ cond.else"); /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3636:/ objgoto"); /*objgoto */ goto mtch1_18; ; } ; } ; /*objlabel */ mtch1_17:; MELT_LOCATION ("warmelt-modes.melt:3302:/ objlabel"); ; /*^quasiblock */ /*_.CNAME__V53*/ meltfptr[35] = /*_.SV__V38*/ meltfptr[20];; /*^compute */ /*_.CTYPNAM__V54*/ meltfptr[53] = /*_.SV__V37*/ meltfptr[36];; /*^compute */ /*_.MAPAUXDATAFUN__V55*/ meltfptr[54] = /*_.SV__V51*/ meltfptr[33];; /*^compute */ /*_.MAPAUXPUTFUN__V56*/ meltfptr[55] = /*_.SV__V52*/ meltfptr[34];; /*^compute */ /*_.MAPCOUNTFUN__V57*/ meltfptr[56] = /*_.SV__V47*/ meltfptr[29];; /*^compute */ /*_.MAPDISCR__V58*/ meltfptr[57] = /*_.CTYPG_MAPDISCR__V25*/ meltfptr[24];; /*^compute */ /*_.MAPDISCRNAME__V59*/ meltfptr[58] = /*_.NAMED_NAME__V41*/ meltfptr[23];; /*^compute */ /*_.MAPGETFUN__V60*/ meltfptr[59] = /*_.SV__V44*/ meltfptr[26];; /*^compute */ /*_.MAPMAGIC__V61*/ meltfptr[60] = /*_.SV__V40*/ meltfptr[22];; /*^compute */ /*_.MAPNATTFUN__V62*/ meltfptr[61] = /*_.SV__V49*/ meltfptr[31];; /*^compute */ /*_.MAPNVALFUN__V63*/ meltfptr[62] = /*_.SV__V50*/ meltfptr[32];; /*^compute */ /*_.MAPPUTFUN__V64*/ meltfptr[63] = /*_.SV__V45*/ meltfptr[27];; /*^compute */ /*_.MAPREMOVEFUN__V65*/ meltfptr[64] = /*_.SV__V46*/ meltfptr[28];; /*^compute */ /*_.MAPSIZEFUN__V66*/ meltfptr[65] = /*_.SV__V48*/ meltfptr[30];; /*^compute */ /*_.MAPSTRUCT__V67*/ meltfptr[66] = /*_.SV__V39*/ meltfptr[21];; /*^compute */ /*_.MAPUNIMEMB__V68*/ meltfptr[67] = /*_.SV__V42*/ meltfptr[24];; /*^compute */ /*_.NEWMAPFUN__V69*/ meltfptr[68] = /*_.SV__V43*/ meltfptr[25];; { MELT_LOCATION ("warmelt-modes.melt:3321:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3322:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("/***map support for GTY ctype ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3323:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CTYPNAM__V54*/ meltfptr[53]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3324:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" **/")); } ; { MELT_LOCATION ("warmelt-modes.melt:3325:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L10*/ meltfnum[6] = (melt_magic_discr ((melt_ptr_t) ( /*_.NEWMAPFUN__V69*/ meltfptr[68])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:3329:/ cond"); /*cond */ if ( /*_#IS_STRING__L10*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:3330:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("static inline melt_ptr_t /*New map for ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3331:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CTYPNAM__V54*/ meltfptr[53]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3332:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("*/ ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3333:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.NEWMAPFUN__V69*/ meltfptr[68]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3334:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" (meltobject_ptr_t discr, unsigned len) {")); } ; { MELT_LOCATION ("warmelt-modes.melt:3335:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3336:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) (( /*!konst_5 */ meltfrout-> tabval[5])))); } ; { MELT_LOCATION ("warmelt-modes.melt:3341:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.MAPMAGIC__V61*/ meltfptr[60]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3342:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) (( /*!konst_6 */ meltfrout-> tabval[6])))); } ; { MELT_LOCATION ("warmelt-modes.melt:3346:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CTYPNAM__V54*/ meltfptr[53]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3347:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" */")); } ; { MELT_LOCATION ("warmelt-modes.melt:3348:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; MELT_LOCATION ("warmelt-modes.melt:3329:/ quasiblock"); /*epilog */ } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:3351:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("/* no new map function */")); } ; MELT_LOCATION ("warmelt-modes.melt:3350:/ quasiblock"); /*epilog */ } ; } ; { MELT_LOCATION ("warmelt-modes.melt:3354:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L11*/ meltfnum[10] = (melt_magic_discr ((melt_ptr_t) ( /*_.MAPGETFUN__V60*/ meltfptr[59])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:3358:/ cond"); /*cond */ if ( /*_#IS_STRING__L11*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:3359:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("static inline melt_ptr_t /* Map getter for ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3360:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CTYPNAM__V54*/ meltfptr[53]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3361:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("*/ ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3362:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.MAPGETFUN__V60*/ meltfptr[59]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3363:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" (melt_ptr_t map_p, ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3364:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CNAME__V53*/ meltfptr[35]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3365:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" attr) {")); } ; { MELT_LOCATION ("warmelt-modes.melt:3366:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3367:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("if (!map_p || !attr ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3368:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3369:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" || melt_magic_discr ((melt_ptr_t) map_p) != ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3370:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.MAPMAGIC__V61*/ meltfptr[60]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3371:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (")")); } ; { MELT_LOCATION ("warmelt-modes.melt:3372:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (4), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3373:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("return NULL;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3374:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3375:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("return melt_raw_get_mappointers ((void*)map_p, (void*)attr);")); } ; { MELT_LOCATION ("warmelt-modes.melt:3376:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3377:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("} /*end generated map getter for ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3378:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CTYPNAM__V54*/ meltfptr[53]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3379:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("*/")); } ; { MELT_LOCATION ("warmelt-modes.melt:3380:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; MELT_LOCATION ("warmelt-modes.melt:3358:/ quasiblock"); /*epilog */ } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:3383:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("/*no map getter function*/")); } ; MELT_LOCATION ("warmelt-modes.melt:3382:/ quasiblock"); /*epilog */ } ; } ; { MELT_LOCATION ("warmelt-modes.melt:3386:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L12*/ meltfnum[11] = (melt_magic_discr ((melt_ptr_t) ( /*_.MAPPUTFUN__V64*/ meltfptr[63])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:3390:/ cond"); /*cond */ if ( /*_#IS_STRING__L12*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:3391:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("static inline void /* Map putter for ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3392:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CTYPNAM__V54*/ meltfptr[53]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3393:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("*/ ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3394:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.MAPPUTFUN__V64*/ meltfptr[63]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3395:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" (melt_ptr_t map_p, ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3396:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CNAME__V53*/ meltfptr[35]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3397:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" attr, melt_ptr_t valu_p) {")); } ; { MELT_LOCATION ("warmelt-modes.melt:3398:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3399:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("if (!map_p || !attr || !valu_p")); } ; { MELT_LOCATION ("warmelt-modes.melt:3400:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3401:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" || melt_magic_discr ((melt_ptr_t) map_p) != ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3402:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.MAPMAGIC__V61*/ meltfptr[60]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3403:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (")")); } ; { MELT_LOCATION ("warmelt-modes.melt:3404:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (4), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3405:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("return;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3406:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3407:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("meltgc_raw_put_mappointers ((void*)map_p, (void*)attr, valu_p);")); } ; { MELT_LOCATION ("warmelt-modes.melt:3408:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3409:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("} /*end generated map putter for ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3410:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CTYPNAM__V54*/ meltfptr[53]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3411:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("*/")); } ; MELT_LOCATION ("warmelt-modes.melt:3390:/ quasiblock"); /*epilog */ } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:3414:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("/*no map putter*/")); } ; MELT_LOCATION ("warmelt-modes.melt:3413:/ quasiblock"); /*epilog */ } ; } ; { MELT_LOCATION ("warmelt-modes.melt:3416:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L13*/ meltfnum[12] = (melt_magic_discr ((melt_ptr_t) ( /*_.MAPREMOVEFUN__V65*/ meltfptr[64])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:3420:/ cond"); /*cond */ if ( /*_#IS_STRING__L13*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:3421:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("static inline void /* Map remover for ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3422:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CTYPNAM__V54*/ meltfptr[53]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3423:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("*/ ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3424:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.MAPREMOVEFUN__V65*/ meltfptr[64]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3425:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" (melt_ptr_t map_p, ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3426:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CNAME__V53*/ meltfptr[35]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3427:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" attr) {")); } ; { MELT_LOCATION ("warmelt-modes.melt:3428:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3429:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("if (!map_p || !attr")); } ; { MELT_LOCATION ("warmelt-modes.melt:3430:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3431:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" || melt_magic_discr ((melt_ptr_t) map_p) != ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3432:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.MAPMAGIC__V61*/ meltfptr[60]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3433:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (")")); } ; { MELT_LOCATION ("warmelt-modes.melt:3434:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (4), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3435:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("return;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3436:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3437:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("meltgc_raw_remove_mappointers ((void*)map_p, (void*)attr);")); } ; { MELT_LOCATION ("warmelt-modes.melt:3438:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3439:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("} /*end generated map remover for ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3440:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CTYPNAM__V54*/ meltfptr[53]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3441:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("*/")); } ; { MELT_LOCATION ("warmelt-modes.melt:3442:/ locexp"); /*void */ (void) 0; } ; MELT_LOCATION ("warmelt-modes.melt:3420:/ quasiblock"); /*epilog */ } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:3445:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("/*no map remover*/")); } ; MELT_LOCATION ("warmelt-modes.melt:3444:/ quasiblock"); /*epilog */ } ; } ; { MELT_LOCATION ("warmelt-modes.melt:3448:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L14*/ meltfnum[13] = (melt_magic_discr ((melt_ptr_t) ( /*_.MAPCOUNTFUN__V57*/ meltfptr[56])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:3452:/ cond"); /*cond */ if ( /*_#IS_STRING__L14*/ meltfnum[13]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:3453:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("static inline unsigned /* Map counter for ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3454:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CTYPNAM__V54*/ meltfptr[53]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3455:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("*/ ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3456:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.MAPCOUNTFUN__V57*/ meltfptr[56]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3457:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" (struct ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3458:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.MAPSTRUCT__V67*/ meltfptr[66]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3459:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("* map_s) {")); } ; { MELT_LOCATION ("warmelt-modes.melt:3460:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3461:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("if (!map_s")); } ; { MELT_LOCATION ("warmelt-modes.melt:3462:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3463:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" || melt_magic_discr ((melt_ptr_t) map_s) != ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3464:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.MAPMAGIC__V61*/ meltfptr[60]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3465:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (")")); } ; { MELT_LOCATION ("warmelt-modes.melt:3466:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (4), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3467:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("return 0;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3468:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3469:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("return map_s->count;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3470:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3471:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("} /*end generated map counter for ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3472:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CTYPNAM__V54*/ meltfptr[53]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3473:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("*/")); } ; { MELT_LOCATION ("warmelt-modes.melt:3474:/ locexp"); /*void */ (void) 0; } ; MELT_LOCATION ("warmelt-modes.melt:3452:/ quasiblock"); /*epilog */ } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:3477:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("/*no map counter function*/")); } ; MELT_LOCATION ("warmelt-modes.melt:3476:/ quasiblock"); /*epilog */ } ; } ; { MELT_LOCATION ("warmelt-modes.melt:3480:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L15*/ meltfnum[14] = (melt_magic_discr ((melt_ptr_t) ( /*_.MAPSIZEFUN__V66*/ meltfptr[65])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:3484:/ cond"); /*cond */ if ( /*_#IS_STRING__L15*/ meltfnum[14]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:3485:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("static inline unsigned /* Map size for ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3486:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CTYPNAM__V54*/ meltfptr[53]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3487:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("*/ ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3488:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.MAPSIZEFUN__V66*/ meltfptr[65]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3489:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" (struct ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3490:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.MAPSTRUCT__V67*/ meltfptr[66]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3491:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("* map_s) {")); } ; { MELT_LOCATION ("warmelt-modes.melt:3492:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3493:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("if (!map_s")); } ; { MELT_LOCATION ("warmelt-modes.melt:3494:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3495:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" || melt_magic_discr ((melt_ptr_t) map_s) != ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3496:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.MAPMAGIC__V61*/ meltfptr[60]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3497:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (")")); } ; { MELT_LOCATION ("warmelt-modes.melt:3498:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (4), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3499:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("return 0;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3500:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3501:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("return melt_primtab[map_s->lenix];")); } ; { MELT_LOCATION ("warmelt-modes.melt:3502:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3503:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("} /*end generated map size for ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3504:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CTYPNAM__V54*/ meltfptr[53]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3505:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("*/")); } ; MELT_LOCATION ("warmelt-modes.melt:3484:/ quasiblock"); /*epilog */ } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:3508:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("/* no map size function */")); } ; MELT_LOCATION ("warmelt-modes.melt:3507:/ quasiblock"); /*epilog */ } ; } ; { MELT_LOCATION ("warmelt-modes.melt:3510:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L16*/ meltfnum[15] = (melt_magic_discr ((melt_ptr_t) ( /*_.MAPNATTFUN__V62*/ meltfptr[61])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:3515:/ cond"); /*cond */ if ( /*_#IS_STRING__L16*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:3516:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("static inline ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3517:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CNAME__V53*/ meltfptr[35]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3518:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("/* Map nth attr for ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3519:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CTYPNAM__V54*/ meltfptr[53]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3520:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("*/ ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3521:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.MAPNATTFUN__V62*/ meltfptr[61]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3522:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" (struct ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3523:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.MAPSTRUCT__V67*/ meltfptr[66]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3524:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("* map_s, int ix) {")); } ; { MELT_LOCATION ("warmelt-modes.melt:3525:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3526:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CNAME__V53*/ meltfptr[35]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3527:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" at = 0;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3528:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3529:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("if (!map_s")); } ; { MELT_LOCATION ("warmelt-modes.melt:3530:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3531:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" || melt_magic_discr ((melt_ptr_t) map_s) != ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3532:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.MAPMAGIC__V61*/ meltfptr[60]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3533:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (")")); } ; { MELT_LOCATION ("warmelt-modes.melt:3534:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (4), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3535:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("return 0;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3536:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3537:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("at = map_s->entab[ix].e_at;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3538:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3539:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("if ((void*) at == (void*) HTAB_DELETED_ENTRY) return 0;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3540:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("return at;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3541:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3542:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("} /*end generated map nth attr for ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3543:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CTYPNAM__V54*/ meltfptr[53]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3544:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("*/")); } ; MELT_LOCATION ("warmelt-modes.melt:3515:/ quasiblock"); /*epilog */ } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:3547:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("/*no map nth attr function*/")); } ; MELT_LOCATION ("warmelt-modes.melt:3546:/ quasiblock"); /*epilog */ } ; } ; { MELT_LOCATION ("warmelt-modes.melt:3549:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L17*/ meltfnum[16] = (melt_magic_discr ((melt_ptr_t) ( /*_.MAPNVALFUN__V63*/ meltfptr[62])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:3553:/ cond"); /*cond */ if ( /*_#IS_STRING__L17*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:3554:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("static inline melt_ptr_t ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3555:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("/* Map nth value for ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3556:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CTYPNAM__V54*/ meltfptr[53]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3557:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("*/ ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3558:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.MAPNVALFUN__V63*/ meltfptr[62]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3559:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" (struct ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3560:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.MAPSTRUCT__V67*/ meltfptr[66]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3561:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("* map_s, int ix) {")); } ; { MELT_LOCATION ("warmelt-modes.melt:3562:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3563:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CNAME__V53*/ meltfptr[35]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3564:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" at = 0;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3565:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3566:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("if (!map_s")); } ; { MELT_LOCATION ("warmelt-modes.melt:3567:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3568:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" || melt_magic_discr ((melt_ptr_t) map_s) != ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3569:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.MAPMAGIC__V61*/ meltfptr[60]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3570:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (")")); } ; { MELT_LOCATION ("warmelt-modes.melt:3571:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (4), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3572:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("return 0;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3573:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3574:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("at = map_s->entab[ix].e_at;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3575:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (2), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3576:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("if ((void*) at == (void*) HTAB_DELETED_ENTRY) return 0;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3577:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("return map_s->entab[ix].e_va;")); } ; { MELT_LOCATION ("warmelt-modes.melt:3578:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3579:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("} /*end generated map nth value for ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3580:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CTYPNAM__V54*/ meltfptr[53]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3581:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("*/")); } ; MELT_LOCATION ("warmelt-modes.melt:3553:/ quasiblock"); /*epilog */ } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:3584:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("/*no map nth value function*/")); } ; MELT_LOCATION ("warmelt-modes.melt:3583:/ quasiblock"); /*epilog */ } ; } ; { MELT_LOCATION ("warmelt-modes.melt:3586:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L18*/ meltfnum[17] = (melt_magic_discr ((melt_ptr_t) ( /*_.MAPAUXDATAFUN__V55*/ meltfptr[54])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:3590:/ cond"); /*cond */ if ( /*_#IS_STRING__L18*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3591:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = " /* map auxiliary data access for "; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.CTYPNAM__V54*/ meltfptr[53]; /*^apply.arg */ argtab[2].meltbp_cstring = " */\n\t static inline melt_ptr_t "; /*^apply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.MAPAUXDATAFUN__V55*/ meltfptr[54]; /*^apply.arg */ argtab[4].meltbp_cstring = " (melt_ptr_t map_p)\n\t {\n\t if (melt_magic_discr (map_p\ ) == "; /*^apply.arg */ argtab[5].meltbp_aptr = (melt_ptr_t *) & /*_.MAPMAGIC__V61*/ meltfptr[60]; /*^apply.arg */ argtab[6].meltbp_cstring = ")\n\t\t return ((struct "; /*^apply.arg */ argtab[7].meltbp_aptr = (melt_ptr_t *) & /*_.MAPSTRUCT__V67*/ meltfptr[66]; /*^apply.arg */ argtab[8].meltbp_cstring = "*)map_p)->meltmap_aux;\n\t\t return NULL;\ \n\t }\n\t "; /*_.ADD2OUT__V71*/ meltfptr[70] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout->tabval[7])), (melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IFELSE___V70*/ meltfptr[69] = /*_.ADD2OUT__V71*/ meltfptr[70];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3590:/ clear"); /*clear *//*_.ADD2OUT__V71*/ meltfptr[70] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3603:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = "/*no map auxiliary data access function for "; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.CTYPNAM__V54*/ meltfptr[53]; /*^apply.arg */ argtab[2].meltbp_cstring = "*/"; /*_.ADD2OUT__V72*/ meltfptr[70] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout->tabval[7])), (melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-modes.melt:3602:/ quasiblock"); /*_.PROGN___V73*/ meltfptr[72] = /*_.ADD2OUT__V72*/ meltfptr[70];; /*^compute */ /*_.IFELSE___V70*/ meltfptr[69] = /*_.PROGN___V73*/ meltfptr[72];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3590:/ clear"); /*clear *//*_.ADD2OUT__V72*/ meltfptr[70] = 0; /*^clear */ /*clear *//*_.PROGN___V73*/ meltfptr[72] = 0; } ; } ; { MELT_LOCATION ("warmelt-modes.melt:3605:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L19*/ meltfnum[18] = (melt_magic_discr ((melt_ptr_t) ( /*_.MAPAUXPUTFUN__V56*/ meltfptr[55])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:3609:/ cond"); /*cond */ if ( /*_#IS_STRING__L19*/ meltfnum[18]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3610:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = " /* map auxiliary data put for "; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.CTYPNAM__V54*/ meltfptr[53]; /*^apply.arg */ argtab[2].meltbp_cstring = " */\n\t static inline melt_ptr_t "; /*^apply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.MAPAUXPUTFUN__V56*/ meltfptr[55]; /*^apply.arg */ argtab[4].meltbp_cstring = " (melt_ptr_t map_p, melt_ptr_t val_p)\ \n\t {\n\t if (melt_magic_discr (map_p) == "; /*^apply.arg */ argtab[5].meltbp_aptr = (melt_ptr_t *) & /*_.MAPMAGIC__V61*/ meltfptr[60]; /*^apply.arg */ argtab[6].meltbp_cstring = ") {\n\t\t ((struct "; /*^apply.arg */ argtab[7].meltbp_aptr = (melt_ptr_t *) & /*_.MAPSTRUCT__V67*/ meltfptr[66]; /*^apply.arg */ argtab[8].meltbp_cstring = "*)map_p)->meltmap_aux = val_p;\n\t\t meltgc_touch_dest (map_p, val_p\ );\n }\n\t\t return NULL;\ \n\t }\n\t \ "; /*_.ADD2OUT__V75*/ meltfptr[72] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout->tabval[7])), (melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IFELSE___V74*/ meltfptr[70] = /*_.ADD2OUT__V75*/ meltfptr[72];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3609:/ clear"); /*clear *//*_.ADD2OUT__V75*/ meltfptr[72] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3624:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = "/*no map auxiliary data put function for "; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.CTYPNAM__V54*/ meltfptr[53]; /*^apply.arg */ argtab[2].meltbp_cstring = "*/"; /*_.ADD2OUT__V76*/ meltfptr[72] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout->tabval[7])), (melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-modes.melt:3623:/ quasiblock"); /*_.PROGN___V77*/ meltfptr[76] = /*_.ADD2OUT__V76*/ meltfptr[72];; /*^compute */ /*_.IFELSE___V74*/ meltfptr[70] = /*_.PROGN___V77*/ meltfptr[76];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3609:/ clear"); /*clear *//*_.ADD2OUT__V76*/ meltfptr[72] = 0; /*^clear */ /*clear *//*_.PROGN___V77*/ meltfptr[76] = 0; } ; } ; { MELT_LOCATION ("warmelt-modes.melt:3626:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3631:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("/***end of map support for GTY ctype ")); } ; { MELT_LOCATION ("warmelt-modes.melt:3632:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), melt_string_str ((melt_ptr_t) ( /*_.CTYPNAM__V54*/ meltfptr[53]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3633:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (" **/")); } ; { MELT_LOCATION ("warmelt-modes.melt:3634:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (1), 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3302:/ clear"); /*clear *//*_.CNAME__V53*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.CTYPNAM__V54*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.MAPAUXDATAFUN__V55*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.MAPAUXPUTFUN__V56*/ meltfptr[55] = 0; /*^clear */ /*clear *//*_.MAPCOUNTFUN__V57*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_.MAPDISCR__V58*/ meltfptr[57] = 0; /*^clear */ /*clear *//*_.MAPDISCRNAME__V59*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_.MAPGETFUN__V60*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.MAPMAGIC__V61*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.MAPNATTFUN__V62*/ meltfptr[61] = 0; /*^clear */ /*clear *//*_.MAPNVALFUN__V63*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.MAPPUTFUN__V64*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.MAPREMOVEFUN__V65*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_.MAPSIZEFUN__V66*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.MAPSTRUCT__V67*/ meltfptr[66] = 0; /*^clear */ /*clear *//*_.MAPUNIMEMB__V68*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_.NEWMAPFUN__V69*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_#IS_STRING__L10*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_#IS_STRING__L11*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_#IS_STRING__L12*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_#IS_STRING__L13*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_#IS_STRING__L14*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_#IS_STRING__L15*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_#IS_STRING__L16*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_#IS_STRING__L17*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_#IS_STRING__L18*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.IFELSE___V70*/ meltfptr[69] = 0; /*^clear */ /*clear *//*_#IS_STRING__L19*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_.IFELSE___V74*/ meltfptr[70] = 0; /*^objgoto */ /*objgoto */ goto mtch1__end /*endmatch */ ; ; /*objlabel */ mtch1_18:; MELT_LOCATION ("warmelt-modes.melt:3636:/ objlabel"); ; /*^quasiblock */ { MELT_LOCATION ("warmelt-modes.melt:3637:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("/*incomplete gtypctype*/")); } ; MELT_LOCATION ("warmelt-modes.melt:3636:/ objgoto"); /*objgoto */ goto mtch1__end /*endmatch */ ; ; /*objlabel */ mtch1__end:; MELT_LOCATION ("warmelt-modes.melt:3301:/ objlabel"); ; } ; { MELT_LOCATION ("warmelt-modes.melt:3640:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (1), 0); } ; if ( /*_#TIX__L5*/ meltfnum[1] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-modes.melt:3290:/ clear"); /*clear *//*_.CURCTYP__V13*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_#TIX__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.IFCPP___V18*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_#I__L9*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.NAMED_NAME__V20*/ meltfptr[15] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; { MELT_LOCATION ("warmelt-modes.melt:3643:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), ("/** end of code generated by generate_runtypesupport_mapfun **/")); } ; { MELT_LOCATION ("warmelt-modes.melt:3645:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3646:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V4*/ meltfptr[3]), (0), 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3647:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L20*/ meltfnum[6] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3647:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L20*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L21*/ meltfnum[10] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3647:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L21*/ meltfnum[10]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3647; /*^apply.arg */ argtab[3].meltbp_cstring = "generate_runtypesupport_mapfun end outarg="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V80*/ meltfptr[35] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V79*/ meltfptr[76] = /*_.MELT_DEBUG_FUN__V80*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3647:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L21*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V80*/ meltfptr[35] = 0; } ; } else { /*^cond.else */ /*_.IF___V79*/ meltfptr[76] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3647:/ quasiblock"); /*_.PROGN___V81*/ meltfptr[53] = /*_.IF___V79*/ meltfptr[76];; /*^compute */ /*_.IFCPP___V78*/ meltfptr[72] = /*_.PROGN___V81*/ meltfptr[53];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3647:/ clear"); /*clear *//*_#MELT_NEED_DBG__L20*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IF___V79*/ meltfptr[76] = 0; /*^clear */ /*clear *//*_.PROGN___V81*/ meltfptr[53] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V78*/ meltfptr[72] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3278:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.IFCPP___V78*/ meltfptr[72];; { MELT_LOCATION ("warmelt-modes.melt:3278:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V9*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V11*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V78*/ meltfptr[72] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("GENERATE_RUNTYPESUPPORT_MAPFUN", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_57_warmelt_modes_GENERATE_RUNTYPESUPPORT_MAPFUN_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_57_warmelt_modes_GENERATE_RUNTYPESUPPORT_MAPFUN */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_58_warmelt_modes_GENERATE_RUNTYPESUPPORT_PREDEF_FIELDS (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_58_warmelt_modes_GENERATE_RUNTYPESUPPORT_PREDEF_FIELDS_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_58_warmelt_modes_GENERATE_RUNTYPESUPPORT_PREDEF_FIELDS_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 32 melt_ptr_t mcfr_varptr[32]; #define MELTFRAM_NBVARNUM 15 long mcfr_varnum[15]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_58_warmelt_modes_GENERATE_RUNTYPESUPPORT_PREDEF_FIELDS is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_58_warmelt_modes_GENERATE_RUNTYPESUPPORT_PREDEF_FIELDS_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 32; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_58_warmelt_modes_GENERATE_RUNTYPESUPPORT_PREDEF_FIELDS nbval 32*/ meltfram__.mcfr_nbvar = 32 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("GENERATE_RUNTYPESUPPORT_PREDEF_FIELDS", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:3655:/ getarg"); /*_.OUTBUF__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3656:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3656:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3656:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3656; /*^apply.arg */ argtab[3].meltbp_cstring = "generate_runtypesupport_predef_fields start outbuf="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OUTBUF__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V4*/ meltfptr[3] = /*_.MELT_DEBUG_FUN__V5*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3656:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V5*/ meltfptr[4] = 0; } ; } else { /*^cond.else */ /*_.IF___V4*/ meltfptr[3] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3656:/ quasiblock"); /*_.PROGN___V6*/ meltfptr[4] = /*_.IF___V4*/ meltfptr[3];; /*^compute */ /*_.IFCPP___V3*/ meltfptr[2] = /*_.PROGN___V6*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3656:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.PROGN___V6*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V3*/ meltfptr[2] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3657:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_OUT__L3*/ meltfnum[1] = (melt_is_out ((melt_ptr_t) /*_.OUTBUF__V2*/ meltfptr[1]));; MELT_LOCATION ("warmelt-modes.melt:3657:/ cond"); /*cond */ if ( /*_#IS_OUT__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V8*/ meltfptr[4] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:3657:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check outbuf"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (3657) ? (3657) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V8*/ meltfptr[4] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V7*/ meltfptr[3] = /*_.IFELSE___V8*/ meltfptr[4];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3657:/ clear"); /*clear *//*_#IS_OUT__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V8*/ meltfptr[4] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V7*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:3658:/ locexp"); if (27500 > 0) meltgc_strbuf_reserve ((melt_ptr_t) /*_.OUTBUF__V2*/ meltfptr[1], (unsigned) 27500);; } ; { MELT_LOCATION ("warmelt-modes.melt:3659:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V2*/ meltfptr[1]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3660:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V2*/ meltfptr[1]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3661:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V2*/ meltfptr[1]), ("/** start of code generated by generate_runtypesupport_predef_fields **/")); } ; { MELT_LOCATION ("warmelt-modes.melt:3663:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V2*/ meltfptr[1]), (0), 0); } ; MELT_LOCATION ("warmelt-modes.melt:3664:/ quasiblock"); /*_.CURPREDEF__V9*/ meltfptr[4] = ( /*nil */ NULL);; /*^compute */ /*_#NBPREDEF__L4*/ meltfnum[0] = 0;; { MELT_LOCATION ("warmelt-modes.melt:3667:/ locexp"); /*GETNBPREDEFCHK__1 *//*_#NBPREDEF__L4*/ meltfnum[0] = MELTGLOB__LASTWIRED;; } ; /*citerblock FOREACH_LONG_UPTO */ { /* foreach_long_upto start meltcit1__EACHLONG */ long meltcit1__EACHLONG_min = 1; long meltcit1__EACHLONG_max = /*_#NBPREDEF__L4*/ meltfnum[0]; long meltcit1__EACHLONG_cur = 0; for (meltcit1__EACHLONG_cur = meltcit1__EACHLONG_min; meltcit1__EACHLONG_cur <= meltcit1__EACHLONG_max; meltcit1__EACHLONG_cur++) { /*_#PRIX__L5*/ meltfnum[1] = meltcit1__EACHLONG_cur; { MELT_LOCATION ("warmelt-modes.melt:3672:/ locexp"); /*GETPREDEFCHK__1 *//*_.CURPREDEF__V9*/ meltfptr[4] = melt_fetch_predefined ( /*_#PRIX__L5*/ meltfnum[1]);; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3674:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L6*/ meltfnum[5] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3674:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[5]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3674:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3674; /*^apply.arg */ argtab[3].meltbp_cstring = "generate_runtypesupport_predef_fields prix="; /*^apply.arg */ argtab[4].meltbp_long = /*_#PRIX__L5*/ meltfnum[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " curpredef="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.CURPREDEF__V9*/ meltfptr[4]; /*_.MELT_DEBUG_FUN__V12*/ meltfptr[11] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V11*/ meltfptr[10] = /*_.MELT_DEBUG_FUN__V12*/ meltfptr[11];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3674:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V12*/ meltfptr[11] = 0; } ; } else { /*^cond.else */ /*_.IF___V11*/ meltfptr[10] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3674:/ quasiblock"); /*_.PROGN___V13*/ meltfptr[11] = /*_.IF___V11*/ meltfptr[10];; /*^compute */ /*_.IFCPP___V10*/ meltfptr[9] = /*_.PROGN___V13*/ meltfptr[11];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3674:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_.IF___V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.PROGN___V13*/ meltfptr[11] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[9] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_A__L8*/ meltfnum[6] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURPREDEF__V9*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_CLASS */ meltfrout-> tabval[1])));; MELT_LOCATION ("warmelt-modes.melt:3675:/ cond"); /*cond */ if ( /*_#IS_A__L8*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3676:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURPREDEF__V9*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURPREDEF__V9*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.CLASNAM__V16*/ meltfptr[15] = slot; }; ; } else { /*^cond.else */ /*_.CLASNAM__V16*/ meltfptr[15] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3677:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURPREDEF__V9*/ meltfptr[4]), (melt_ptr_t) (( /*!CLASS_CLASS */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURPREDEF__V9*/ meltfptr[4]) /*=obj*/ ; melt_object_get_field (slot, obj, 6, "CLASS_FIELDS"); /*_.CLASFIELDS__V17*/ meltfptr[16] = slot; }; ; } else { /*^cond.else */ /*_.CLASFIELDS__V17*/ meltfptr[16] = NULL;; } ; /*^compute */ /*_#NBFIELDS__L9*/ meltfnum[5] = (melt_multiple_length ((melt_ptr_t) ( /*_.CLASFIELDS__V17*/ meltfptr[16])));; { MELT_LOCATION ("warmelt-modes.melt:3680:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V2*/ meltfptr[1]), (0), 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3681:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = "#define MELT_HAS_PREDEF_"; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.CLASNAM__V16*/ meltfptr[15]; /*_.ADD2OUT__V18*/ meltfptr[17] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout->tabval[3])), (melt_ptr_t) ( /*_.OUTBUF__V2*/ meltfptr[1]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3682:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V2*/ meltfptr[1]), (0), 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3683:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = "/* predefined class "; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.CLASNAM__V16*/ meltfptr[15]; /*^apply.arg */ argtab[2].meltbp_cstring = " index "; /*^apply.arg */ argtab[3].meltbp_long = /*_#PRIX__L5*/ meltfnum[1]; /*^apply.arg */ argtab[4].meltbp_cstring = " */ enum { "; /*_.ADD2OUT__V19*/ meltfptr[18] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout->tabval[3])), (melt_ptr_t) ( /*_.OUTBUF__V2*/ meltfptr[1]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit2__EACHTUP */ long meltcit2__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.CLASFIELDS__V17*/ meltfptr[16]); for ( /*_#FLDIX__L10*/ meltfnum[9] = 0; ( /*_#FLDIX__L10*/ meltfnum[9] >= 0) && ( /*_#FLDIX__L10*/ meltfnum[9] < meltcit2__EACHTUP_ln); /*_#FLDIX__L10*/ meltfnum[9]++) { /*_.CURFIELD__V20*/ meltfptr[19] = melt_multiple_nth ((melt_ptr_t) ( /*_.CLASFIELDS__V17*/ meltfptr[16]), /*_#FLDIX__L10*/ meltfnum[9]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3687:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L11*/ meltfnum[10] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURFIELD__V20*/ meltfptr[19]), (melt_ptr_t) (( /*!CLASS_FIELD */ meltfrout->tabval[4])));; MELT_LOCATION ("warmelt-modes.melt:3687:/ cond"); /*cond */ if ( /*_#IS_A__L11*/ meltfnum[10]) /*then */ { /*^cond.then */ /*_.IFELSE___V22*/ meltfptr[21] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:3687:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curfield"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (3687) ? (3687) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V22*/ meltfptr[21] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V21*/ meltfptr[20] = /*_.IFELSE___V22*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3687:/ clear"); /*clear *//*_#IS_A__L11*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IFELSE___V22*/ meltfptr[21] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V21*/ meltfptr[20] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3688:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURFIELD__V20*/ meltfptr[19]), (melt_ptr_t) (( /*!CLASS_FIELD */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURFIELD__V20*/ meltfptr[19]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "FLD_OWNCLASS"); /*_.FLD_OWNCLASS__V23*/ meltfptr[21] = slot; }; ; } else { /*^cond.else */ /*_.FLD_OWNCLASS__V23*/ meltfptr[21] = NULL;; } ; /*^compute */ /*_#__L12*/ meltfnum[10] = (( /*_.FLD_OWNCLASS__V23*/ meltfptr[21]) == ( /*_.CURPREDEF__V9*/ meltfptr[4]));; MELT_LOCATION ("warmelt-modes.melt:3688:/ cond"); /*cond */ if ( /*_#__L12*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:3689:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.CURFIELD__V20*/ meltfptr[19]), (melt_ptr_t) (( /*!CLASS_NAMED */ meltfrout->tabval[2]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.CURFIELD__V20*/ meltfptr[19]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "NAMED_NAME"); /*_.FLDNAM__V26*/ meltfptr[25] = slot; }; ; } else { /*^cond.else */ /*_.FLDNAM__V26*/ meltfptr[25] = NULL;; } ; /*^compute */ /*_#FLDIX__L13*/ meltfnum[12] = (melt_get_int ((melt_ptr_t) ( /*_.CURFIELD__V20*/ meltfptr[19])));; { MELT_LOCATION ("warmelt-modes.melt:3692:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V2*/ meltfptr[1]), (1), 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3693:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = " MELTFIELD_"; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.FLDNAM__V26*/ meltfptr[25]; /*^apply.arg */ argtab[2].meltbp_cstring = " = "; /*^apply.arg */ argtab[3].meltbp_long = /*_#FLDIX__L10*/ meltfnum[9]; /*^apply.arg */ argtab[4].meltbp_cstring = " /*in "; /*^apply.arg */ argtab[5].meltbp_aptr = (melt_ptr_t *) & /*_.CLASNAM__V16*/ meltfptr[15]; /*^apply.arg */ argtab[6].meltbp_cstring = "*/,"; /*_.ADD2OUT__V27*/ meltfptr[26] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout-> tabval[3])), (melt_ptr_t) ( /*_.OUTBUF__V2*/ meltfptr[1]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; /*_.LET___V25*/ meltfptr[24] = /*_.ADD2OUT__V27*/ meltfptr[26];; MELT_LOCATION ("warmelt-modes.melt:3689:/ clear"); /*clear *//*_.FLDNAM__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_#FLDIX__L13*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.ADD2OUT__V27*/ meltfptr[26] = 0; /*_.IF___V24*/ meltfptr[23] = /*_.LET___V25*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3688:/ clear"); /*clear *//*_.LET___V25*/ meltfptr[24] = 0; } ; } else { /*^cond.else */ /*_.IF___V24*/ meltfptr[23] = NULL;; } ; if ( /*_#FLDIX__L10*/ meltfnum[9] < 0) break; } /* end foreach_in_multiple meltcit2__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-modes.melt:3684:/ clear"); /*clear *//*_.CURFIELD__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_#FLDIX__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IFCPP___V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.FLD_OWNCLASS__V23*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_#__L12*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IF___V24*/ meltfptr[23] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; { MELT_LOCATION ("warmelt-modes.melt:3696:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V2*/ meltfptr[1]), (1), 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3697:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_cstring = " MELTLENGTH_"; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.CLASNAM__V16*/ meltfptr[15]; /*^apply.arg */ argtab[2].meltbp_cstring = " = "; /*^apply.arg */ argtab[3].meltbp_long = /*_#NBFIELDS__L9*/ meltfnum[5]; /*^apply.arg */ argtab[4].meltbp_cstring = " } ;"; /*_.ADD2OUT__V28*/ meltfptr[25] = melt_apply ((meltclosure_ptr_t) (( /*!ADD2OUT */ meltfrout->tabval[3])), (melt_ptr_t) ( /*_.OUTBUF__V2*/ meltfptr[1]), (MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un *) 0); } ; /*_.LET___V15*/ meltfptr[11] = /*_.ADD2OUT__V28*/ meltfptr[25];; MELT_LOCATION ("warmelt-modes.melt:3676:/ clear"); /*clear *//*_.CLASNAM__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.CLASFIELDS__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_#NBFIELDS__L9*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_.ADD2OUT__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.ADD2OUT__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.ADD2OUT__V28*/ meltfptr[25] = 0; /*_.IF___V14*/ meltfptr[10] = /*_.LET___V15*/ meltfptr[11];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3675:/ clear"); /*clear *//*_.LET___V15*/ meltfptr[11] = 0; } ; } else { /*^cond.else */ /*_.IF___V14*/ meltfptr[10] = NULL;; } ; } /*end foreach_long_upto meltcit1__EACHLONG */ /*citerepilog */ MELT_LOCATION ("warmelt-modes.melt:3669:/ clear"); /*clear *//*_#PRIX__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_#IS_A__L8*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IF___V14*/ meltfptr[10] = 0; } /*endciterblock FOREACH_LONG_UPTO */ ; MELT_LOCATION ("warmelt-modes.melt:3664:/ clear"); /*clear *//*_.CURPREDEF__V9*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_#NBPREDEF__L4*/ meltfnum[0] = 0; { MELT_LOCATION ("warmelt-modes.melt:3700:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V2*/ meltfptr[1]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3701:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTBUF__V2*/ meltfptr[1]), ("/** end of code generated by generate_runtypesupport_predef_fields **/")); } ; { MELT_LOCATION ("warmelt-modes.melt:3703:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V2*/ meltfptr[1]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3704:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTBUF__V2*/ meltfptr[1]), (0), 0); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3705:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L14*/ meltfnum[12] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3705:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L14*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[5] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3705:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[5]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3705; /*^apply.arg */ argtab[3].meltbp_cstring = "generate_runtypesupport_predef_fields end outbuf="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OUTBUF__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V31*/ meltfptr[15] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V30*/ meltfptr[24] = /*_.MELT_DEBUG_FUN__V31*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3705:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L15*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V31*/ meltfptr[15] = 0; } ; } else { /*^cond.else */ /*_.IF___V30*/ meltfptr[24] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3705:/ quasiblock"); /*_.PROGN___V32*/ meltfptr[16] = /*_.IF___V30*/ meltfptr[24];; /*^compute */ /*_.IFCPP___V29*/ meltfptr[26] = /*_.PROGN___V32*/ meltfptr[16];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3705:/ clear"); /*clear *//*_#MELT_NEED_DBG__L14*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.IF___V30*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.PROGN___V32*/ meltfptr[16] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V29*/ meltfptr[26] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3655:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.IFCPP___V29*/ meltfptr[26];; { MELT_LOCATION ("warmelt-modes.melt:3655:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_.IFCPP___V7*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V29*/ meltfptr[26] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("GENERATE_RUNTYPESUPPORT_PREDEF_FIELDS", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_58_warmelt_modes_GENERATE_RUNTYPESUPPORT_PREDEF_FIELDS_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_58_warmelt_modes_GENERATE_RUNTYPESUPPORT_PREDEF_FIELDS */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_59_warmelt_modes_RUNTYPESUPPORT_DOCMD (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_59_warmelt_modes_RUNTYPESUPPORT_DOCMD_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_59_warmelt_modes_RUNTYPESUPPORT_DOCMD_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 72 melt_ptr_t mcfr_varptr[72]; #define MELTFRAM_NBVARNUM 12 long mcfr_varnum[12]; /*others*/ const char *loc_CSTRING__o0; long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_59_warmelt_modes_RUNTYPESUPPORT_DOCMD is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_59_warmelt_modes_RUNTYPESUPPORT_DOCMD_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 72; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_59_warmelt_modes_RUNTYPESUPPORT_DOCMD nbval 72*/ meltfram__.mcfr_nbvar = 72 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("RUNTYPESUPPORT_DOCMD", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:3713:/ getarg"); /*_.CMD__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MODULDATA__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MODULDATA__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3714:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3714:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3714:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3714; /*^apply.arg */ argtab[3].meltbp_cstring = "start runtypesupport_docmd cmd="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CMD__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " moduldata="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.MODULDATA__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3714:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3714:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3714:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-modes.melt:3715:/ quasiblock"); /*_?*/ meltfram__.loc_CSTRING__o0 = melt_argument ("output");; /*^compute */ /*_.MAKE_STRINGCONST__V9*/ meltfptr[5] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[2])), ( /*_?*/ meltfram__.loc_CSTRING__o0)));; MELT_LOCATION ("warmelt-modes.melt:3716:/ cond"); /*cond */ if ( /*_.MAKE_STRINGCONST__V9*/ meltfptr[5]) /*then */ { /*^cond.then */ /*_.OUTARG__V10*/ meltfptr[9] = /*_.MAKE_STRINGCONST__V9*/ meltfptr[5];; } else { MELT_LOCATION ("warmelt-modes.melt:3716:/ cond.else"); /*_.OUTARG__V10*/ meltfptr[9] = ( /*!konst_1 */ meltfrout->tabval[1]);; } ; MELT_LOCATION ("warmelt-modes.melt:3719:/ quasiblock"); /*_.NAMBUF__V12*/ meltfptr[11] = (melt_ptr_t) meltgc_new_strbuf ((meltobject_ptr_t) (( /*!DISCR_STRBUF */ meltfrout->tabval[3])), (const char *) 0);; { MELT_LOCATION ("warmelt-modes.melt:3721:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.NAMBUF__V12*/ meltfptr[11]), melt_string_str ((melt_ptr_t) ( /*_.OUTARG__V10*/ meltfptr[9]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3722:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.NAMBUF__V12*/ meltfptr[11]), (".h")); } ; /*_.STRBUF2STRING__V13*/ meltfptr[12] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[2])), melt_strbuf_str ((melt_ptr_t) ( /*_.NAMBUF__V12*/ meltfptr[11]))));; /*^compute */ /*_.LET___V11*/ meltfptr[10] = /*_.STRBUF2STRING__V13*/ meltfptr[12];; MELT_LOCATION ("warmelt-modes.melt:3719:/ clear"); /*clear *//*_.NAMBUF__V12*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_.STRBUF2STRING__V13*/ meltfptr[12] = 0; /*_.OUTDECLNAME__V14*/ meltfptr[11] = /*_.LET___V11*/ meltfptr[10];; MELT_LOCATION ("warmelt-modes.melt:3725:/ quasiblock"); /*_.NAMBUF__V16*/ meltfptr[15] = (melt_ptr_t) meltgc_new_strbuf ((meltobject_ptr_t) (( /*!DISCR_STRBUF */ meltfrout->tabval[3])), (const char *) 0);; { MELT_LOCATION ("warmelt-modes.melt:3727:/ locexp"); /*add2sbuf_string */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.NAMBUF__V16*/ meltfptr[15]), melt_string_str ((melt_ptr_t) ( /*_.OUTARG__V10*/ meltfptr[9]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3728:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.NAMBUF__V16*/ meltfptr[15]), ("-inc.c")); } ; /*_.STRBUF2STRING__V17*/ meltfptr[16] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[2])), melt_strbuf_str ((melt_ptr_t) ( /*_.NAMBUF__V16*/ meltfptr[15]))));; /*^compute */ /*_.LET___V15*/ meltfptr[12] = /*_.STRBUF2STRING__V17*/ meltfptr[16];; MELT_LOCATION ("warmelt-modes.melt:3725:/ clear"); /*clear *//*_.NAMBUF__V16*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.STRBUF2STRING__V17*/ meltfptr[16] = 0; /*_.OUTCODENAME__V18*/ meltfptr[15] = /*_.LET___V15*/ meltfptr[12];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3731:/ apply"); /*apply */ { /*_.DICTYPGTY__V19*/ meltfptr[16] = melt_apply ((meltclosure_ptr_t) (( /*!RETRIEVE_DICTIONNARY_CTYPE_GTY */ meltfrout-> tabval[4])), (melt_ptr_t) (NULL), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-modes.melt:3732:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_1_st { struct meltlist_st rlist_0__LIST_; long meltletrec_1_endgap; } *meltletrec_1_ptr = 0; meltletrec_1_ptr = (struct meltletrec_1_st *) meltgc_allocate (sizeof (struct meltletrec_1_st), 0); /*^blockmultialloc.initfill */ /*inilist rlist_0__LIST_ */ /*_.LIST___V21*/ meltfptr[20] = (melt_ptr_t) & meltletrec_1_ptr->rlist_0__LIST_; meltletrec_1_ptr->rlist_0__LIST_.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_LIST)))); /*_.RAWCTYPGTYLIST__V20*/ meltfptr[19] = /*_.LIST___V21*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3732:/ clear"); /*clear *//*_.LIST___V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.LIST___V21*/ meltfptr[20] = 0; } /*end multiallocblock */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3733:/ apply"); /*apply */ { /*_.DICTYP__V22*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t) (( /*!RETRIEVE_DICTIONNARY_CTYPE */ meltfrout-> tabval[5])), (melt_ptr_t) (NULL), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_LOCATION ("warmelt-modes.melt:3734:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_2_st { struct meltlist_st rlist_0__LIST_; long meltletrec_2_endgap; } *meltletrec_2_ptr = 0; meltletrec_2_ptr = (struct meltletrec_2_st *) meltgc_allocate (sizeof (struct meltletrec_2_st), 0); /*^blockmultialloc.initfill */ /*inilist rlist_0__LIST_ */ /*_.LIST___V24*/ meltfptr[23] = (melt_ptr_t) & meltletrec_2_ptr->rlist_0__LIST_; meltletrec_2_ptr->rlist_0__LIST_.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_LIST)))); /*_.RAWCTYPLIST__V23*/ meltfptr[22] = /*_.LIST___V24*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3734:/ clear"); /*clear *//*_.LIST___V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.LIST___V24*/ meltfptr[23] = 0; } /*end multiallocblock */ ; /*_.OUTDECLBUF__V25*/ meltfptr[23] = (melt_ptr_t) meltgc_new_strbuf ((meltobject_ptr_t) (( /*!DISCR_STRBUF */ meltfrout->tabval[3])), (const char *) 0);; /*^compute */ /*_.OUTCODEBUF__V26*/ meltfptr[25] = (melt_ptr_t) meltgc_new_strbuf ((meltobject_ptr_t) (( /*!DISCR_STRBUF */ meltfrout->tabval[3])), (const char *) 0);; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3738:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3738:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3738:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3738; /*^apply.arg */ argtab[3].meltbp_cstring = "runtypesupport_docmd dictypgty="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.DICTYPGTY__V19*/ meltfptr[16]; /*^apply.arg */ argtab[5].meltbp_cstring = " outarg="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V10*/ meltfptr[9]; /*_.MELT_DEBUG_FUN__V29*/ meltfptr[28] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V28*/ meltfptr[27] = /*_.MELT_DEBUG_FUN__V29*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3738:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V29*/ meltfptr[28] = 0; } ; } else { /*^cond.else */ /*_.IF___V28*/ meltfptr[27] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3738:/ quasiblock"); /*_.PROGN___V30*/ meltfptr[28] = /*_.IF___V28*/ meltfptr[27];; /*^compute */ /*_.IFCPP___V27*/ meltfptr[26] = /*_.PROGN___V30*/ meltfptr[28];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3738:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.PROGN___V30*/ meltfptr[28] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V27*/ meltfptr[26] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3740:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.OUTDECLNAME__V14*/ meltfptr[11]; /*_.GENERATE_GPLV3PLUS_COPYRIGHT_NOTICE_C_COMMENT__V31*/ meltfptr[27] = melt_apply ((meltclosure_ptr_t) (( /*!GENERATE_GPLV3PLUS_COPYRIGHT_NOTICE_C_COMMENT */ meltfrout->tabval[6])), (melt_ptr_t) ( /*_.OUTDECLBUF__V25*/ meltfptr[23]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3741:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.OUTCODENAME__V18*/ meltfptr[15]; /*_.GENERATE_GPLV3PLUS_COPYRIGHT_NOTICE_C_COMMENT__V32*/ meltfptr[28] = melt_apply ((meltclosure_ptr_t) (( /*!GENERATE_GPLV3PLUS_COPYRIGHT_NOTICE_C_COMMENT */ meltfrout->tabval[6])), (melt_ptr_t) ( /*_.OUTCODEBUF__V26*/ meltfptr[25]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*citerblock FOREACH_IN_MAPSTRING */ { /*foreach_in_mapstring meltcit1__EACHSTRMAP : */ int meltcit1__EACHSTRMAP_ix = 0, meltcit1__EACHSTRMAP_siz = 0; for (meltcit1__EACHSTRMAP_ix = 0; /* we retrieve in meltcit1__EACHSTRMAP_siz the size at each iteration since it could change. */ meltcit1__EACHSTRMAP_ix >= 0 && (meltcit1__EACHSTRMAP_siz = melt_size_mapstrings ((struct meltmapstrings_st *) /*_.DICTYPGTY__V19*/ meltfptr[16])) > 0 && meltcit1__EACHSTRMAP_ix < meltcit1__EACHSTRMAP_siz; meltcit1__EACHSTRMAP_ix++) { const char *meltcit1__EACHSTRMAP_str = NULL; const char *meltcit1__EACHSTRMAP_nam = NULL; /*_.CURSTR__V33*/ meltfptr[32] = NULL; /*_.CURCTY__V34*/ meltfptr[33] = NULL; meltcit1__EACHSTRMAP_str = ((struct meltmapstrings_st *) /*_.DICTYPGTY__V19*/ meltfptr[16])-> entab[meltcit1__EACHSTRMAP_ix].e_at; if (!meltcit1__EACHSTRMAP_str || meltcit1__EACHSTRMAP_str == HTAB_DELETED_ENTRY) continue; /*foreach_in_mapstring meltcit1__EACHSTRMAP inside before */ /*_.CURCTY__V34*/ meltfptr[33] = ((struct meltmapstrings_st *) /*_.DICTYPGTY__V19*/ meltfptr[16])-> entab[meltcit1__EACHSTRMAP_ix].e_va; if (! /*_.CURCTY__V34*/ meltfptr[33]) continue; if (melt_is_instance_of ((melt_ptr_t) /*_.CURCTY__V34*/ meltfptr[33], (melt_ptr_t) MELT_PREDEF (CLASS_NAMED)) && ( /*_.CURSTR__V33*/ meltfptr[32] = melt_object_nth_field ((melt_ptr_t) /*_.CURCTY__V34*/ meltfptr[33], MELTFIELD_NAMED_NAME)) != NULL && (meltcit1__EACHSTRMAP_nam = melt_string_str ((melt_ptr_t) /*_.CURSTR__V33*/ meltfptr[32])) != (char *) 0 && !strcmp (meltcit1__EACHSTRMAP_nam, meltcit1__EACHSTRMAP_str)) /*_.CURSTR__V33*/ meltfptr[32] = /*_.CURSTR__V33*/ meltfptr[32]; else { /*_.CURSTR__V33*/ meltfptr[32] = NULL; /*_.CURSTR__V33*/ meltfptr[32] = meltgc_new_stringdup ((meltobject_ptr_t) MELT_PREDEF (DISCR_STRING), meltcit1__EACHSTRMAP_str); } meltcit1__EACHSTRMAP_str = (const char *) 0; meltcit1__EACHSTRMAP_nam = (const char *) 0; { MELT_LOCATION ("warmelt-modes.melt:3745:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.RAWCTYPGTYLIST__V20*/ meltfptr[19]), (melt_ptr_t) ( /*_.CURCTY__V34*/ meltfptr[33])); } ; /* end foreach_in_mapstring meltcit1__EACHSTRMAP */ /*_.CURSTR__V33*/ meltfptr[32] = NULL; /*_.CURCTY__V34*/ meltfptr[33] = NULL; } /*citerepilog */ MELT_LOCATION ("warmelt-modes.melt:3742:/ clear"); /*clear *//*_.CURSTR__V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.CURCTY__V34*/ meltfptr[33] = 0; } /*endciterblock FOREACH_IN_MAPSTRING */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3747:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3747:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3747:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3747; /*^apply.arg */ argtab[3].meltbp_cstring = "runtypesupport_docmd rawctypgtylist="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RAWCTYPGTYLIST__V20*/ meltfptr[19]; /*_.MELT_DEBUG_FUN__V37*/ meltfptr[36] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V36*/ meltfptr[35] = /*_.MELT_DEBUG_FUN__V37*/ meltfptr[36];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3747:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V37*/ meltfptr[36] = 0; } ; } else { /*^cond.else */ /*_.IF___V36*/ meltfptr[35] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3747:/ quasiblock"); /*_.PROGN___V38*/ meltfptr[36] = /*_.IF___V36*/ meltfptr[35];; /*^compute */ /*_.IFCPP___V35*/ meltfptr[34] = /*_.PROGN___V38*/ meltfptr[36];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3747:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.PROGN___V38*/ meltfptr[36] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V35*/ meltfptr[34] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*citerblock FOREACH_IN_MAPSTRING */ { /*foreach_in_mapstring meltcit2__EACHSTRMAP : */ int meltcit2__EACHSTRMAP_ix = 0, meltcit2__EACHSTRMAP_siz = 0; for (meltcit2__EACHSTRMAP_ix = 0; /* we retrieve in meltcit2__EACHSTRMAP_siz the size at each iteration since it could change. */ meltcit2__EACHSTRMAP_ix >= 0 && (meltcit2__EACHSTRMAP_siz = melt_size_mapstrings ((struct meltmapstrings_st *) /*_.DICTYP__V22*/ meltfptr[20])) > 0 && meltcit2__EACHSTRMAP_ix < meltcit2__EACHSTRMAP_siz; meltcit2__EACHSTRMAP_ix++) { const char *meltcit2__EACHSTRMAP_str = NULL; const char *meltcit2__EACHSTRMAP_nam = NULL; /*_.CURSTR__V39*/ meltfptr[35] = NULL; /*_.CURCTY__V40*/ meltfptr[36] = NULL; meltcit2__EACHSTRMAP_str = ((struct meltmapstrings_st *) /*_.DICTYP__V22*/ meltfptr[20])-> entab[meltcit2__EACHSTRMAP_ix].e_at; if (!meltcit2__EACHSTRMAP_str || meltcit2__EACHSTRMAP_str == HTAB_DELETED_ENTRY) continue; /*foreach_in_mapstring meltcit2__EACHSTRMAP inside before */ /*_.CURCTY__V40*/ meltfptr[36] = ((struct meltmapstrings_st *) /*_.DICTYP__V22*/ meltfptr[20])-> entab[meltcit2__EACHSTRMAP_ix].e_va; if (! /*_.CURCTY__V40*/ meltfptr[36]) continue; if (melt_is_instance_of ((melt_ptr_t) /*_.CURCTY__V40*/ meltfptr[36], (melt_ptr_t) MELT_PREDEF (CLASS_NAMED)) && ( /*_.CURSTR__V39*/ meltfptr[35] = melt_object_nth_field ((melt_ptr_t) /*_.CURCTY__V40*/ meltfptr[36], MELTFIELD_NAMED_NAME)) != NULL && (meltcit2__EACHSTRMAP_nam = melt_string_str ((melt_ptr_t) /*_.CURSTR__V39*/ meltfptr[35])) != (char *) 0 && !strcmp (meltcit2__EACHSTRMAP_nam, meltcit2__EACHSTRMAP_str)) /*_.CURSTR__V39*/ meltfptr[35] = /*_.CURSTR__V39*/ meltfptr[35]; else { /*_.CURSTR__V39*/ meltfptr[35] = NULL; /*_.CURSTR__V39*/ meltfptr[35] = meltgc_new_stringdup ((meltobject_ptr_t) MELT_PREDEF (DISCR_STRING), meltcit2__EACHSTRMAP_str); } meltcit2__EACHSTRMAP_str = (const char *) 0; meltcit2__EACHSTRMAP_nam = (const char *) 0; { MELT_LOCATION ("warmelt-modes.melt:3751:/ locexp"); meltgc_append_list ((melt_ptr_t) ( /*_.RAWCTYPLIST__V23*/ meltfptr[22]), (melt_ptr_t) ( /*_.CURCTY__V40*/ meltfptr[36])); } ; /* end foreach_in_mapstring meltcit2__EACHSTRMAP */ /*_.CURSTR__V39*/ meltfptr[35] = NULL; /*_.CURCTY__V40*/ meltfptr[36] = NULL; } /*citerepilog */ MELT_LOCATION ("warmelt-modes.melt:3748:/ clear"); /*clear *//*_.CURSTR__V39*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.CURCTY__V40*/ meltfptr[36] = 0; } /*endciterblock FOREACH_IN_MAPSTRING */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3753:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L7*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3753:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3753:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3753; /*^apply.arg */ argtab[3].meltbp_cstring = "runtypesupport_docmd rawctyplist="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RAWCTYPLIST__V23*/ meltfptr[22]; /*_.MELT_DEBUG_FUN__V43*/ meltfptr[42] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V42*/ meltfptr[41] = /*_.MELT_DEBUG_FUN__V43*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3753:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V43*/ meltfptr[42] = 0; } ; } else { /*^cond.else */ /*_.IF___V42*/ meltfptr[41] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3753:/ quasiblock"); /*_.PROGN___V44*/ meltfptr[42] = /*_.IF___V42*/ meltfptr[41];; /*^compute */ /*_.IFCPP___V41*/ meltfptr[40] = /*_.PROGN___V44*/ meltfptr[42];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3753:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.PROGN___V44*/ meltfptr[42] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V41*/ meltfptr[40] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-modes.melt:3754:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3755:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*!DISCR_MULTIPLE */ meltfrout->tabval[8]); /*_.LIST_TO_MULTIPLE__V46*/ meltfptr[42] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_TO_MULTIPLE */ meltfrout->tabval[7])), (melt_ptr_t) ( /*_.RAWCTYPGTYLIST__V20*/ meltfptr[19]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.SORTEDCTYGTYTUPLE__V47*/ meltfptr[46] = meltgc_sort_multiple ((melt_ptr_t) ( /*_.LIST_TO_MULTIPLE__V46*/ meltfptr[42]), (melt_ptr_t) (( /*!COMPARE_NAMED_ALPHA */ meltfrout->tabval[9])), (melt_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout-> tabval[8])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3758:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*!DISCR_MULTIPLE */ meltfrout->tabval[8]); /*_.LIST_TO_MULTIPLE__V48*/ meltfptr[47] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_TO_MULTIPLE */ meltfrout->tabval[7])), (melt_ptr_t) ( /*_.RAWCTYPLIST__V23*/ meltfptr[22]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.SORTEDCTYTUPLE__V49*/ meltfptr[48] = meltgc_sort_multiple ((melt_ptr_t) ( /*_.LIST_TO_MULTIPLE__V48*/ meltfptr[47]), (melt_ptr_t) (( /*!COMPARE_NAMED_ALPHA */ meltfrout->tabval[9])), (melt_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout-> tabval[8])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3761:/ apply"); /*apply */ { /*_.RETRIEVE_VALUE_DESCRIPTOR_LIST__V50*/ meltfptr[49] = melt_apply ((meltclosure_ptr_t) (( /*!RETRIEVE_VALUE_DESCRIPTOR_LIST */ meltfrout-> tabval[10])), (melt_ptr_t) (NULL), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.RAWVALDESCTUPLE__V51*/ meltfptr[50] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_TO_MULTIPLE */ meltfrout->tabval[7])), (melt_ptr_t) ( /*_.RETRIEVE_VALUE_DESCRIPTOR_LIST__V50*/ meltfptr[49]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; /*_.SORTEDVALDESCTUPLE__V52*/ meltfptr[51] = meltgc_sort_multiple ((melt_ptr_t) ( /*_.RAWVALDESCTUPLE__V51*/ meltfptr[50]), (melt_ptr_t) (( /*!COMPARE_NAMED_ALPHA */ meltfrout->tabval[9])), (melt_ptr_t) (( /*!DISCR_MULTIPLE */ meltfrout-> tabval[8])));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3766:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L9*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3766:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L9*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3766:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3766; /*^apply.arg */ argtab[3].meltbp_cstring = "runtypesupport_docmd sortedctygtytuple="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SORTEDCTYGTYTUPLE__V47*/ meltfptr[46]; /*^apply.arg */ argtab[5].meltbp_cstring = " sortedvaldesctuple="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.SORTEDVALDESCTUPLE__V52*/ meltfptr[51]; /*_.MELT_DEBUG_FUN__V55*/ meltfptr[54] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V54*/ meltfptr[53] = /*_.MELT_DEBUG_FUN__V55*/ meltfptr[54];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3766:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L10*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V55*/ meltfptr[54] = 0; } ; } else { /*^cond.else */ /*_.IF___V54*/ meltfptr[53] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3766:/ quasiblock"); /*_.PROGN___V56*/ meltfptr[54] = /*_.IF___V54*/ meltfptr[53];; /*^compute */ /*_.IFCPP___V53*/ meltfptr[52] = /*_.PROGN___V56*/ meltfptr[54];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3766:/ clear"); /*clear *//*_#MELT_NEED_DBG__L9*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V54*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.PROGN___V56*/ meltfptr[54] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V53*/ meltfptr[52] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3770:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.SORTEDVALDESCTUPLE__V52*/ meltfptr[51]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V10*/ meltfptr[9]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.OUTDECLBUF__V25*/ meltfptr[23]; /*_.GENERATE_RUNTYPESUPPORT_ENUM_OBJMAGIC__V57*/ meltfptr[53] = melt_apply ((meltclosure_ptr_t) (( /*!GENERATE_RUNTYPESUPPORT_ENUM_OBJMAGIC */ meltfrout-> tabval[11])), (melt_ptr_t) ( /*_.SORTEDCTYGTYTUPLE__V47*/ meltfptr[46]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3774:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.SORTEDVALDESCTUPLE__V52*/ meltfptr[51]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V10*/ meltfptr[9]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.OUTDECLBUF__V25*/ meltfptr[23]; /*_.GENERATE_RUNTYPESUPPORT_GTY__V58*/ meltfptr[54] = melt_apply ((meltclosure_ptr_t) (( /*!GENERATE_RUNTYPESUPPORT_GTY */ meltfrout-> tabval[12])), (melt_ptr_t) ( /*_.SORTEDCTYGTYTUPLE__V47*/ meltfptr[46]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3778:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.SORTEDVALDESCTUPLE__V52*/ meltfptr[51]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V10*/ meltfptr[9]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.OUTDECLBUF__V25*/ meltfptr[23]; /*_.GENERATE_RUNTYPESUPPORT_PARAM__V59*/ meltfptr[58] = melt_apply ((meltclosure_ptr_t) (( /*!GENERATE_RUNTYPESUPPORT_PARAM */ meltfrout-> tabval[13])), (melt_ptr_t) ( /*_.SORTEDCTYTUPLE__V49*/ meltfptr[48]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3781:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.SORTEDVALDESCTUPLE__V52*/ meltfptr[51]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V10*/ meltfptr[9]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.OUTCODEBUF__V26*/ meltfptr[25]; /*_.GENERATE_RUNTYPESUPPORT_COD2CTYPE__V60*/ meltfptr[59] = melt_apply ((meltclosure_ptr_t) (( /*!GENERATE_RUNTYPESUPPORT_COD2CTYPE */ meltfrout-> tabval[14])), (melt_ptr_t) ( /*_.SORTEDCTYTUPLE__V49*/ meltfptr[48]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3783:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTDECLBUF__V25*/ meltfptr[23]), (0), 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3784:/ locexp"); /*add2sbuf_strconst */ meltgc_add_strbuf ((melt_ptr_t) ( /*_.OUTDECLBUF__V25*/ meltfptr[23]), ("melt_ptr_t melt_code_to_ctype (int);")); } ; { MELT_LOCATION ("warmelt-modes.melt:3785:/ locexp"); meltgc_strbuf_add_indent ((melt_ptr_t) ( /*_.OUTDECLBUF__V25*/ meltfptr[23]), (0), 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3787:/ apply"); /*apply */ { union meltparam_un argtab[4]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.SORTEDVALDESCTUPLE__V52*/ meltfptr[51]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V10*/ meltfptr[9]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.OUTDECLBUF__V25*/ meltfptr[23]; /*^apply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.OUTCODEBUF__V26*/ meltfptr[25]; /*_.GENERATE_RUNTYPESUPPORT_MAG2STR__V61*/ meltfptr[60] = melt_apply ((meltclosure_ptr_t) (( /*!GENERATE_RUNTYPESUPPORT_MAG2STR */ meltfrout-> tabval[15])), (melt_ptr_t) ( /*_.SORTEDCTYTUPLE__V49*/ meltfptr[48]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3790:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.SORTEDVALDESCTUPLE__V52*/ meltfptr[51]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V10*/ meltfptr[9]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.OUTCODEBUF__V26*/ meltfptr[25]; /*_.GENERATE_RUNTYPESUPPORT_FORWCOPY_FUN__V62*/ meltfptr[61] = melt_apply ((meltclosure_ptr_t) (( /*!GENERATE_RUNTYPESUPPORT_FORWCOPY_FUN */ meltfrout-> tabval[16])), (melt_ptr_t) ( /*_.SORTEDCTYGTYTUPLE__V47*/ meltfptr[46]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3794:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.SORTEDVALDESCTUPLE__V52*/ meltfptr[51]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V10*/ meltfptr[9]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.OUTCODEBUF__V26*/ meltfptr[25]; /*_.GENERATE_RUNTYPESUPPORT_SCANNING__V63*/ meltfptr[62] = melt_apply ((meltclosure_ptr_t) (( /*!GENERATE_RUNTYPESUPPORT_SCANNING */ meltfrout-> tabval[17])), (melt_ptr_t) ( /*_.SORTEDCTYGTYTUPLE__V47*/ meltfptr[46]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3798:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V10*/ meltfptr[9]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.OUTDECLBUF__V25*/ meltfptr[23]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.OUTCODEBUF__V26*/ meltfptr[25]; /*_.GENERATE_RUNTYPESUPPORT_BOXINGFUN__V64*/ meltfptr[63] = melt_apply ((meltclosure_ptr_t) (( /*!GENERATE_RUNTYPESUPPORT_BOXINGFUN */ meltfrout-> tabval[18])), (melt_ptr_t) ( /*_.SORTEDCTYGTYTUPLE__V47*/ meltfptr[46]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3801:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.SORTEDVALDESCTUPLE__V52*/ meltfptr[51]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V10*/ meltfptr[9]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.OUTCODEBUF__V26*/ meltfptr[25]; /*_.GENERATE_RUNTYPESUPPORT_CLONING_FUN__V65*/ meltfptr[64] = melt_apply ((meltclosure_ptr_t) (( /*!GENERATE_RUNTYPESUPPORT_CLONING_FUN */ meltfrout-> tabval[19])), (melt_ptr_t) ( /*_.SORTEDCTYGTYTUPLE__V47*/ meltfptr[46]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3805:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V10*/ meltfptr[9]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.OUTDECLBUF__V25*/ meltfptr[23]; /*_.GENERATE_RUNTYPESUPPORT_MAPFUN__V66*/ meltfptr[65] = melt_apply ((meltclosure_ptr_t) (( /*!GENERATE_RUNTYPESUPPORT_MAPFUN */ meltfrout-> tabval[20])), (melt_ptr_t) ( /*_.SORTEDCTYGTYTUPLE__V47*/ meltfptr[46]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3807:/ apply"); /*apply */ { /*_.GENERATE_RUNTYPESUPPORT_PREDEF_FIELDS__V67*/ meltfptr[66] = melt_apply ((meltclosure_ptr_t) (( /*!GENERATE_RUNTYPESUPPORT_PREDEF_FIELDS */ meltfrout-> tabval[21])), (melt_ptr_t) ( /*_.OUTDECLBUF__V25*/ meltfptr[23]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; { MELT_LOCATION ("warmelt-modes.melt:3814:/ locexp"); /* runtypesupport_docmd TERMCOMMENTDECLCHK__1 */ { time_t nowdecl = 0; char decldatebuf[48]; memset (decldatebuf, 0, sizeof (decldatebuf)); time (&nowdecl); strftime (decldatebuf, sizeof (decldatebuf) - 1, "%Y %b %d", localtime (&nowdecl)); meltgc_out_printf ((melt_ptr_t) /*_.OUTDECLBUF__V25*/ meltfptr[23], "\n/*** End of declaration file %s generated on %s\n" " * by GCC MELT %s . ***/\n", melt_string_str ((melt_ptr_t) /*_.OUTDECLNAME__V14*/ meltfptr[11]), decldatebuf, melt_gccversionstr); } /* end TERMCOMMENTDECLCHK__1 runtypesupport_docmd */ ; } ; { MELT_LOCATION ("warmelt-modes.melt:3827:/ locexp"); /*output_sbuf_strval */ melt_output_strbuf_to_file ((melt_ptr_t) ( /*_.OUTDECLBUF__V25*/ meltfptr[23]), melt_string_str ((melt_ptr_t) /*_.OUTDECLNAME__V14*/ meltfptr[11])); } ; { MELT_LOCATION ("warmelt-modes.melt:3828:/ locexp"); inform (UNKNOWN_LOCATION, "MELT INFORM [#%ld]: %s - %s", melt_dbgcounter, ("generated runtype support declaration file"), melt_string_str ((melt_ptr_t) ( /*_.OUTDECLNAME__V14*/ meltfptr[11]))); } ; { MELT_LOCATION ("warmelt-modes.melt:3832:/ locexp"); /* runtypesupport_docmd TERMCOMMENTCODECHK__1 */ { time_t nowcode = 0; char codedatebuf[48]; memset (codedatebuf, 0, sizeof (codedatebuf)); time (&nowcode); strftime (codedatebuf, sizeof (codedatebuf) - 1, "%Y %b %d", localtime (&nowcode)); meltgc_out_printf ((melt_ptr_t) /*_.OUTCODEBUF__V26*/ meltfptr[25], "\n/*** End of code file %s generated on %s\n" " * by GCC MELT %s . ***/\n", melt_string_str ((melt_ptr_t) /*_.OUTCODENAME__V18*/ meltfptr[15]), codedatebuf, melt_gccversionstr); } /* end TERMCOMMENTCODECHK__1 runtypesupport_docmd */ ; } ; { MELT_LOCATION ("warmelt-modes.melt:3845:/ locexp"); /*output_sbuf_strval */ melt_output_strbuf_to_file ((melt_ptr_t) ( /*_.OUTCODEBUF__V26*/ meltfptr[25]), melt_string_str ((melt_ptr_t) /*_.OUTCODENAME__V18*/ meltfptr[15])); } ; { MELT_LOCATION ("warmelt-modes.melt:3846:/ locexp"); inform (UNKNOWN_LOCATION, "MELT INFORM [#%ld]: %s - %s", melt_dbgcounter, ("generated runtype support implementation file"), melt_string_str ((melt_ptr_t) ( /*_.OUTCODENAME__V18*/ meltfptr[15]))); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3848:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L11*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3848:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L11*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L12*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3848:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L12*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3848; /*^apply.arg */ argtab[3].meltbp_cstring = "runtypesupport_docmd done outarg="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V10*/ meltfptr[9]; /*_.MELT_DEBUG_FUN__V70*/ meltfptr[69] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V69*/ meltfptr[68] = /*_.MELT_DEBUG_FUN__V70*/ meltfptr[69];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3848:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L12*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V70*/ meltfptr[69] = 0; } ; } else { /*^cond.else */ /*_.IF___V69*/ meltfptr[68] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3848:/ quasiblock"); /*_.PROGN___V71*/ meltfptr[69] = /*_.IF___V69*/ meltfptr[68];; /*^compute */ /*_.IFCPP___V68*/ meltfptr[67] = /*_.PROGN___V71*/ meltfptr[69];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3848:/ clear"); /*clear *//*_#MELT_NEED_DBG__L11*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V69*/ meltfptr[68] = 0; /*^clear */ /*clear *//*_.PROGN___V71*/ meltfptr[69] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V68*/ meltfptr[67] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3849:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = ( /*!konst_22_TRUE */ meltfrout->tabval[22]);; { MELT_LOCATION ("warmelt-modes.melt:3849:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V45*/ meltfptr[41] = /*_.RETURN___V72*/ meltfptr[68];; MELT_LOCATION ("warmelt-modes.melt:3754:/ clear"); /*clear *//*_.LIST_TO_MULTIPLE__V46*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.SORTEDCTYGTYTUPLE__V47*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.LIST_TO_MULTIPLE__V48*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.SORTEDCTYTUPLE__V49*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.RETRIEVE_VALUE_DESCRIPTOR_LIST__V50*/ meltfptr[49] = 0; /*^clear */ /*clear *//*_.RAWVALDESCTUPLE__V51*/ meltfptr[50] = 0; /*^clear */ /*clear *//*_.SORTEDVALDESCTUPLE__V52*/ meltfptr[51] = 0; /*^clear */ /*clear *//*_.IFCPP___V53*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.GENERATE_RUNTYPESUPPORT_ENUM_OBJMAGIC__V57*/ meltfptr[53] = 0; /*^clear */ /*clear *//*_.GENERATE_RUNTYPESUPPORT_GTY__V58*/ meltfptr[54] = 0; /*^clear */ /*clear *//*_.GENERATE_RUNTYPESUPPORT_PARAM__V59*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_.GENERATE_RUNTYPESUPPORT_COD2CTYPE__V60*/ meltfptr[59] = 0; /*^clear */ /*clear *//*_.GENERATE_RUNTYPESUPPORT_MAG2STR__V61*/ meltfptr[60] = 0; /*^clear */ /*clear *//*_.GENERATE_RUNTYPESUPPORT_FORWCOPY_FUN__V62*/ meltfptr[61] = 0; /*^clear */ /*clear *//*_.GENERATE_RUNTYPESUPPORT_SCANNING__V63*/ meltfptr[62] = 0; /*^clear */ /*clear *//*_.GENERATE_RUNTYPESUPPORT_BOXINGFUN__V64*/ meltfptr[63] = 0; /*^clear */ /*clear *//*_.GENERATE_RUNTYPESUPPORT_CLONING_FUN__V65*/ meltfptr[64] = 0; /*^clear */ /*clear *//*_.GENERATE_RUNTYPESUPPORT_MAPFUN__V66*/ meltfptr[65] = 0; /*^clear */ /*clear *//*_.GENERATE_RUNTYPESUPPORT_PREDEF_FIELDS__V67*/ meltfptr[66] = 0; /*^clear */ /*clear *//*_.IFCPP___V68*/ meltfptr[67] = 0; /*^clear */ /*clear *//*_.RETURN___V72*/ meltfptr[68] = 0; /*_.LET___V8*/ meltfptr[4] = /*_.LET___V45*/ meltfptr[41];; MELT_LOCATION ("warmelt-modes.melt:3715:/ clear"); /*clear *//*_?*/ meltfram__.loc_CSTRING__o0 = 0; /*^clear */ /*clear *//*_.MAKE_STRINGCONST__V9*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.OUTARG__V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.LET___V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.OUTDECLNAME__V14*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_.LET___V15*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.OUTCODENAME__V18*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.DICTYPGTY__V19*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.RAWCTYPGTYLIST__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.DICTYP__V22*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.RAWCTYPLIST__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.OUTDECLBUF__V25*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.OUTCODEBUF__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.IFCPP___V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.GENERATE_GPLV3PLUS_COPYRIGHT_NOTICE_C_COMMENT__V31*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.GENERATE_GPLV3PLUS_COPYRIGHT_NOTICE_C_COMMENT__V32*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.IFCPP___V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.IFCPP___V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.LET___V45*/ meltfptr[41] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3713:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V8*/ meltfptr[4];; { MELT_LOCATION ("warmelt-modes.melt:3713:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.LET___V8*/ meltfptr[4] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("RUNTYPESUPPORT_DOCMD", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_59_warmelt_modes_RUNTYPESUPPORT_DOCMD_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_59_warmelt_modes_RUNTYPESUPPORT_DOCMD */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_60_warmelt_modes_TRANSLATE_TO_FLAVORED_MODULE (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_60_warmelt_modes_TRANSLATE_TO_FLAVORED_MODULE_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_60_warmelt_modes_TRANSLATE_TO_FLAVORED_MODULE_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 54 melt_ptr_t mcfr_varptr[54]; #define MELTFRAM_NBVARNUM 19 long mcfr_varnum[19]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_60_warmelt_modes_TRANSLATE_TO_FLAVORED_MODULE is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_60_warmelt_modes_TRANSLATE_TO_FLAVORED_MODULE_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 54; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_60_warmelt_modes_TRANSLATE_TO_FLAVORED_MODULE nbval 54*/ meltfram__.mcfr_nbvar = 54 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("TRANSLATE_TO_FLAVORED_MODULE", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:3866:/ getarg"); /*_.INARG__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.OUTARG__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.OUTARG__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.CARG__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.CARG__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.FLAVORS__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.FLAVORS__V5*/ meltfptr[4])) != NULL); /*getarg#4 */ /*^getarg */ if (meltxargdescr_[3] != MELTBPAR_PTR) goto lab_endgetargs; /*_.CURENV__V6*/ meltfptr[5] = (meltxargtab_[3].meltbp_aptr) ? (*(meltxargtab_[3].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.CURENV__V6*/ meltfptr[5])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3867:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3867:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3867:/ apply"); /*apply */ { union meltparam_un argtab[13]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3867; /*^apply.arg */ argtab[3].meltbp_cstring = "translate_to_flavored_module inarg="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.INARG__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " outarg="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V3*/ meltfptr[2]; /*^apply.arg */ argtab[7].meltbp_cstring = " carg="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.CARG__V4*/ meltfptr[3]; /*^apply.arg */ argtab[9].meltbp_cstring = " flavors="; /*^apply.arg */ argtab[10].meltbp_aptr = (melt_ptr_t *) & /*_.FLAVORS__V5*/ meltfptr[4]; /*^apply.arg */ argtab[11].meltbp_cstring = " curenv="; /*^apply.arg */ argtab[12].meltbp_aptr = (melt_ptr_t *) & /*_.CURENV__V6*/ meltfptr[5]; /*_.MELT_DEBUG_FUN__V9*/ meltfptr[8] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V8*/ meltfptr[7] = /*_.MELT_DEBUG_FUN__V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3867:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V9*/ meltfptr[8] = 0; } ; } else { /*^cond.else */ /*_.IF___V8*/ meltfptr[7] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3867:/ quasiblock"); /*_.PROGN___V10*/ meltfptr[8] = /*_.IF___V8*/ meltfptr[7];; /*^compute */ /*_.IFCPP___V7*/ meltfptr[6] = /*_.PROGN___V10*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3867:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V8*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.PROGN___V10*/ meltfptr[8] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V7*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-modes.melt:3869:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L3*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.OUTARG__V3*/ meltfptr[2])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:3872:/ cond"); /*cond */ if ( /*_#IS_STRING__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.MAKE_STRING_WITHOUT_SUFFIX__V13*/ meltfptr[12] = /*make_string_without_suffix */ (meltgc_new_string_without_suffix ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[1])), melt_string_str ((melt_ptr_t) ( /*_.OUTARG__V3*/ meltfptr[2])), (".c")));; /*^compute */ /*_.BASNAM__V12*/ meltfptr[8] = /*_.MAKE_STRING_WITHOUT_SUFFIX__V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3872:/ clear"); /*clear *//*_.MAKE_STRING_WITHOUT_SUFFIX__V13*/ meltfptr[12] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L4*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.INARG__V2*/ meltfptr[1])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:3874:/ cond"); /*cond */ if ( /*_#IS_STRING__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.MAKE_STRING_NAKEDBASENAME__V15*/ meltfptr[14] = (meltgc_new_string_nakedbasename ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[1])), melt_string_str ((melt_ptr_t) ( /*_.INARG__V2*/ meltfptr[1]))));; /*^compute */ /*_.IFELSE___V14*/ meltfptr[12] = /*_.MAKE_STRING_NAKEDBASENAME__V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3874:/ clear"); /*clear *//*_.MAKE_STRING_NAKEDBASENAME__V15*/ meltfptr[14] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:3877:/ locexp"); error ("MELT ERROR MSG [#%ld]::: %s", melt_dbgcounter, ("invalid translate to flavored module arguments")); } ; MELT_LOCATION ("warmelt-modes.melt:3878:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-modes.melt:3878:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; MELT_LOCATION ("warmelt-modes.melt:3876:/ quasiblock"); /*_.PROGN___V17*/ meltfptr[16] = /*_.RETURN___V16*/ meltfptr[14];; /*^compute */ /*_.IFELSE___V14*/ meltfptr[12] = /*_.PROGN___V17*/ meltfptr[16];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3874:/ clear"); /*clear *//*_.RETURN___V16*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.PROGN___V17*/ meltfptr[16] = 0; } ; } ; /*_.BASNAM__V12*/ meltfptr[8] = /*_.IFELSE___V14*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3872:/ clear"); /*clear *//*_#IS_STRING__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V14*/ meltfptr[12] = 0; } ; } ; MELT_LOCATION ("warmelt-modes.melt:3880:/ cond"); /*cond */ if ( /*_.OUTARG__V3*/ meltfptr[2]) /*then */ { /*^cond.then */ /*_.OUTNAM__V18*/ meltfptr[14] = /*_.OUTARG__V3*/ meltfptr[2];; } else { MELT_LOCATION ("warmelt-modes.melt:3880:/ cond.else"); /*_.OUTNAM__V18*/ meltfptr[14] = /*_.BASNAM__V12*/ meltfptr[8];; } ; /*^compute */ /*_.MAKE_STRING_WITHOUT_SUFFIX__V19*/ meltfptr[16] = /*make_string_without_suffix */ (meltgc_new_string_without_suffix ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[1])), melt_string_str ((melt_ptr_t) ( /*_.CARG__V4*/ meltfptr[3])), (".c")));; MELT_LOCATION ("warmelt-modes.melt:3881:/ cond"); /*cond */ if ( /*_.MAKE_STRING_WITHOUT_SUFFIX__V19*/ meltfptr[16]) /*then */ { /*^cond.then */ /*_.RAWSRCNAM__V20*/ meltfptr[12] = /*_.MAKE_STRING_WITHOUT_SUFFIX__V19*/ meltfptr[16];; } else { MELT_LOCATION ("warmelt-modes.melt:3881:/ cond.else"); /*^block */ /*anyblock */ { /*_.MAKE_STRING_NAKEDBASENAME__V21*/ meltfptr[20] = (meltgc_new_string_nakedbasename ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[1])), melt_string_str ((melt_ptr_t) ( /*_.OUTNAM__V18*/ meltfptr[14]))));; /*^compute */ /*_.RAWSRCNAM__V20*/ meltfptr[12] = /*_.MAKE_STRING_NAKEDBASENAME__V21*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3881:/ clear"); /*clear *//*_.MAKE_STRING_NAKEDBASENAME__V21*/ meltfptr[20] = 0; } ; } ; /*_.OUTBASE__V22*/ meltfptr[20] = /*make_string_without_suffix */ (meltgc_new_string_without_suffix ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[1])), melt_string_str ((melt_ptr_t) ( /*_.OUTNAM__V18*/ meltfptr[14])), (".c")));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3885:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L5*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURENV__V6*/ meltfptr[5]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-modes.melt:3885:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V24*/ meltfptr[23] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:3885:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curenv"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (3885) ? (3885) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V24*/ meltfptr[23] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V23*/ meltfptr[22] = /*_.IFELSE___V24*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3885:/ clear"); /*clear *//*_#IS_A__L5*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V24*/ meltfptr[23] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V23*/ meltfptr[22] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3886:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L6*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3886:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3886:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3886; /*^apply.arg */ argtab[3].meltbp_cstring = "translate_to_flavored_module basnam="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BASNAM__V12*/ meltfptr[8]; /*^apply.arg */ argtab[5].meltbp_cstring = " rawsrcnam="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.RAWSRCNAM__V20*/ meltfptr[12]; /*^apply.arg */ argtab[7].meltbp_cstring = " outbase="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.OUTBASE__V22*/ meltfptr[20]; /*_.MELT_DEBUG_FUN__V27*/ meltfptr[26] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V26*/ meltfptr[25] = /*_.MELT_DEBUG_FUN__V27*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3886:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L7*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V27*/ meltfptr[26] = 0; } ; } else { /*^cond.else */ /*_.IF___V26*/ meltfptr[25] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3886:/ quasiblock"); /*_.PROGN___V28*/ meltfptr[26] = /*_.IF___V26*/ meltfptr[25];; /*^compute */ /*_.IFCPP___V25*/ meltfptr[23] = /*_.PROGN___V28*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3886:/ clear"); /*clear *//*_#MELT_NEED_DBG__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.PROGN___V28*/ meltfptr[26] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V25*/ meltfptr[23] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3888:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.OUTBASE__V22*/ meltfptr[20]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.CURENV__V6*/ meltfptr[5]; /*_.TRANSLATE_TO_C_MODULE_MELT_SOURCES__V29*/ meltfptr[25] = melt_apply ((meltclosure_ptr_t) (( /*!TRANSLATE_TO_C_MODULE_MELT_SOURCES */ meltfrout-> tabval[3])), (melt_ptr_t) ( /*_.INARG__V2*/ meltfptr[1]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L8*/ meltfnum[6] = (melt_magic_discr ((melt_ptr_t) ( /*_.FLAVORS__V5*/ meltfptr[4])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:3890:/ cond"); /*cond */ if ( /*_#IS_STRING__L8*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3891:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L9*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3891:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L9*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3891:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3891; /*^apply.arg */ argtab[3].meltbp_cstring = "before generate_flavored_melt_module rawsrcnam="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RAWSRCNAM__V20*/ meltfptr[12]; /*^apply.arg */ argtab[5].meltbp_cstring = " outnam="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OUTNAM__V18*/ meltfptr[14]; /*^apply.arg */ argtab[7].meltbp_cstring = "flavor="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.FLAVORS__V5*/ meltfptr[4]; /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V32*/ meltfptr[31] = /*_.MELT_DEBUG_FUN__V33*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3891:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V33*/ meltfptr[32] = 0; } ; } else { /*^cond.else */ /*_.IF___V32*/ meltfptr[31] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3891:/ quasiblock"); /*_.PROGN___V34*/ meltfptr[32] = /*_.IF___V32*/ meltfptr[31];; /*^compute */ /*_.IFCPP___V31*/ meltfptr[30] = /*_.PROGN___V34*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3891:/ clear"); /*clear *//*_#MELT_NEED_DBG__L9*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.PROGN___V34*/ meltfptr[32] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V31*/ meltfptr[30] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:3893:/ locexp"); /*generate_flavored_melt_module */ melt_compile_source (melt_string_str ((melt_ptr_t) /*_.RAWSRCNAM__V20*/ meltfptr[12]), melt_string_str ((melt_ptr_t) /*_.OUTNAM__V18*/ meltfptr[14]), NULL, melt_string_str ((melt_ptr_t) /*_.FLAVORS__V5*/ meltfptr[4])); /*generate_flavored_melt_module */ ; } ; MELT_LOCATION ("warmelt-modes.melt:3890:/ quasiblock"); /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V31*/ meltfptr[30] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_LIST__L11*/ meltfnum[9] = (melt_magic_discr ((melt_ptr_t) ( /*_.FLAVORS__V5*/ meltfptr[4])) == MELTOBMAG_LIST);; MELT_LOCATION ("warmelt-modes.melt:3894:/ cond"); /*cond */ if ( /*_#IS_LIST__L11*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*citerblock FOREACH_IN_LIST */ { /* start foreach_in_list meltcit1__EACHLIST */ for ( /*_.CURPAIR__V36*/ meltfptr[32] = melt_list_first ((melt_ptr_t) /*_.FLAVORS__V5*/ meltfptr[4]); melt_magic_discr ((melt_ptr_t) /*_.CURPAIR__V36*/ meltfptr[32]) == MELTOBMAG_PAIR; /*_.CURPAIR__V36*/ meltfptr[32] = melt_pair_tail ((melt_ptr_t) /*_.CURPAIR__V36*/ meltfptr[32])) { /*_.CURFLAVOR__V37*/ meltfptr[30] = melt_pair_head ((melt_ptr_t) /*_.CURPAIR__V36*/ meltfptr[32]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3898:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L12*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3898:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L12*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[12] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3898:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L13*/ meltfnum[12]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3898; /*^apply.arg */ argtab[3].meltbp_cstring = "before generate_flavored_melt_module rawsrcnam="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RAWSRCNAM__V20*/ meltfptr[12]; /*^apply.arg */ argtab[5].meltbp_cstring = " outnam="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OUTNAM__V18*/ meltfptr[14]; /*^apply.arg */ argtab[7].meltbp_cstring = "flavor="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.CURFLAVOR__V37*/ meltfptr[30]; /*_.MELT_DEBUG_FUN__V40*/ meltfptr[39] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V39*/ meltfptr[38] = /*_.MELT_DEBUG_FUN__V40*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3898:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L13*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V40*/ meltfptr[39] = 0; } ; } else { /*^cond.else */ /*_.IF___V39*/ meltfptr[38] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3898:/ quasiblock"); /*_.PROGN___V41*/ meltfptr[39] = /*_.IF___V39*/ meltfptr[38];; /*^compute */ /*_.IFCPP___V38*/ meltfptr[37] = /*_.PROGN___V41*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3898:/ clear"); /*clear *//*_#MELT_NEED_DBG__L12*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.PROGN___V41*/ meltfptr[39] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V38*/ meltfptr[37] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:3900:/ locexp"); /*generate_flavored_melt_module */ melt_compile_source (melt_string_str ((melt_ptr_t) /*_.RAWSRCNAM__V20*/ meltfptr[12]), melt_string_str ((melt_ptr_t) /*_.OUTNAM__V18*/ meltfptr[14]), NULL, melt_string_str ((melt_ptr_t) /*_.CURFLAVOR__V37*/ meltfptr[30])); /*generate_flavored_melt_module */ ; } ; } /* end foreach_in_list meltcit1__EACHLIST */ /*_.CURPAIR__V36*/ meltfptr[32] = NULL; /*_.CURFLAVOR__V37*/ meltfptr[30] = NULL; /*citerepilog */ MELT_LOCATION ("warmelt-modes.melt:3895:/ clear"); /*clear *//*_.CURPAIR__V36*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.CURFLAVOR__V37*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.IFCPP___V38*/ meltfptr[37] = 0; } /*endciterblock FOREACH_IN_LIST */ ; /*epilog */ } ; } else { MELT_LOCATION ("warmelt-modes.melt:3894:/ cond.else"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_MULTIPLE__L14*/ meltfnum[12] = (melt_magic_discr ((melt_ptr_t) ( /*_.FLAVORS__V5*/ meltfptr[4])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-modes.melt:3901:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L14*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit2__EACHTUP */ long meltcit2__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.FLAVORS__V5*/ meltfptr[4]); for ( /*_#FLIX__L15*/ meltfnum[0] = 0; ( /*_#FLIX__L15*/ meltfnum[0] >= 0) && ( /*_#FLIX__L15*/ meltfnum[0] < meltcit2__EACHTUP_ln); /*_#FLIX__L15*/ meltfnum[0]++) { /*_.CURFLAVOR__V43*/ meltfptr[39] = melt_multiple_nth ((melt_ptr_t) ( /*_.FLAVORS__V5*/ meltfptr[4]), /*_#FLIX__L15*/ meltfnum[0]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3905:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L16*/ meltfnum[15] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3905:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L16*/ meltfnum[15]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[16] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3905:/ apply"); /*apply */ { union meltparam_un argtab[11]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[16]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3905; /*^apply.arg */ argtab[3].meltbp_cstring = "before generate_flavored_melt_module rawsrcnam="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RAWSRCNAM__V20*/ meltfptr[12]; /*^apply.arg */ argtab[5].meltbp_cstring = " outnam="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OUTNAM__V18*/ meltfptr[14]; /*^apply.arg */ argtab[7].meltbp_cstring = "flavor="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.CURFLAVOR__V43*/ meltfptr[39]; /*^apply.arg */ argtab[9].meltbp_cstring = " flix="; /*^apply.arg */ argtab[10].meltbp_long = /*_#FLIX__L15*/ meltfnum[0]; /*_.MELT_DEBUG_FUN__V46*/ meltfptr[45] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V45*/ meltfptr[44] = /*_.MELT_DEBUG_FUN__V46*/ meltfptr[45];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3905:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L17*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V46*/ meltfptr[45] = 0; } ; } else { /*^cond.else */ /*_.IF___V45*/ meltfptr[44] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3905:/ quasiblock"); /*_.PROGN___V47*/ meltfptr[45] = /*_.IF___V45*/ meltfptr[44];; /*^compute */ /*_.IFCPP___V44*/ meltfptr[43] = /*_.PROGN___V47*/ meltfptr[45];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3905:/ clear"); /*clear *//*_#MELT_NEED_DBG__L16*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.IF___V45*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.PROGN___V47*/ meltfptr[45] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V44*/ meltfptr[43] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:3907:/ locexp"); /*generate_flavored_melt_module */ melt_compile_source (melt_string_str ((melt_ptr_t) /*_.RAWSRCNAM__V20*/ meltfptr[12]), melt_string_str ((melt_ptr_t) /*_.OUTNAM__V18*/ meltfptr[14]), NULL, melt_string_str ((melt_ptr_t) /*_.CURFLAVOR__V43*/ meltfptr[39])); /*generate_flavored_melt_module */ ; } ; if ( /*_#FLIX__L15*/ meltfnum[0] < 0) break; } /* end foreach_in_multiple meltcit2__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-modes.melt:3902:/ clear"); /*clear *//*_.CURFLAVOR__V43*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_#FLIX__L15*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFCPP___V44*/ meltfptr[43] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; /*epilog */ } ; } else { MELT_LOCATION ("warmelt-modes.melt:3901:/ cond.else"); /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3909:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L18*/ meltfnum[16] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3909:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L18*/ meltfnum[16]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L19*/ meltfnum[15] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3909:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L19*/ meltfnum[15]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3909; /*^apply.arg */ argtab[3].meltbp_cstring = "translate_to_flavored_module bad flavors="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.FLAVORS__V5*/ meltfptr[4]; /*_.MELT_DEBUG_FUN__V50*/ meltfptr[49] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V49*/ meltfptr[45] = /*_.MELT_DEBUG_FUN__V50*/ meltfptr[49];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3909:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L19*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V50*/ meltfptr[49] = 0; } ; } else { /*^cond.else */ /*_.IF___V49*/ meltfptr[45] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3909:/ quasiblock"); /*_.PROGN___V51*/ meltfptr[49] = /*_.IF___V49*/ meltfptr[45];; /*^compute */ /*_.IFCPP___V48*/ meltfptr[44] = /*_.PROGN___V51*/ meltfptr[49];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3909:/ clear"); /*clear *//*_#MELT_NEED_DBG__L18*/ meltfnum[16] = 0; /*^clear */ /*clear *//*_.IF___V49*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.PROGN___V51*/ meltfptr[49] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V48*/ meltfptr[44] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3910:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if (( /*nil */ NULL)) /*then */ { /*^cond.then */ /*_.IFELSE___V53*/ meltfptr[49] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:3910:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("invalid flavors"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (3910) ? (3910) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V53*/ meltfptr[49] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V52*/ meltfptr[45] = /*_.IFELSE___V53*/ meltfptr[49];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3910:/ clear"); /*clear *//*_.IFELSE___V53*/ meltfptr[49] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V52*/ meltfptr[45] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-modes.melt:3908:/ quasiblock"); /*_.PROGN___V54*/ meltfptr[49] = /*_.IFCPP___V52*/ meltfptr[45];; /*^compute */ /*_.IFELSE___V42*/ meltfptr[38] = /*_.PROGN___V54*/ meltfptr[49];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3901:/ clear"); /*clear *//*_.IFCPP___V48*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.IFCPP___V52*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.PROGN___V54*/ meltfptr[49] = 0; } ; } ; /*_.IFELSE___V35*/ meltfptr[31] = /*_.IFELSE___V42*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3894:/ clear"); /*clear *//*_#IS_MULTIPLE__L14*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.IFELSE___V42*/ meltfptr[38] = 0; } ; } ; /*_.IFELSE___V30*/ meltfptr[26] = /*_.IFELSE___V35*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3890:/ clear"); /*clear *//*_#IS_LIST__L11*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IFELSE___V35*/ meltfptr[31] = 0; } ; } ; /*_.LET___V11*/ meltfptr[7] = /*_.IFELSE___V30*/ meltfptr[26];; MELT_LOCATION ("warmelt-modes.melt:3869:/ clear"); /*clear *//*_#IS_STRING__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.BASNAM__V12*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.OUTNAM__V18*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.MAKE_STRING_WITHOUT_SUFFIX__V19*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.RAWSRCNAM__V20*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.OUTBASE__V22*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.IFCPP___V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.IFCPP___V25*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.TRANSLATE_TO_C_MODULE_MELT_SOURCES__V29*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_#IS_STRING__L8*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IFELSE___V30*/ meltfptr[26] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3866:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V11*/ meltfptr[7];; { MELT_LOCATION ("warmelt-modes.melt:3866:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.LET___V11*/ meltfptr[7] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("TRANSLATE_TO_FLAVORED_MODULE", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_60_warmelt_modes_TRANSLATE_TO_FLAVORED_MODULE_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_60_warmelt_modes_TRANSLATE_TO_FLAVORED_MODULE */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_61_warmelt_modes_TRANSLATETOMODULE_DOCMD (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_61_warmelt_modes_TRANSLATETOMODULE_DOCMD_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_61_warmelt_modes_TRANSLATETOMODULE_DOCMD_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 21 melt_ptr_t mcfr_varptr[21]; #define MELTFRAM_NBVARNUM 4 long mcfr_varnum[4]; /*others*/ const char *loc_CSTRING__o0; const char *loc_CSTRING__o1; const char *loc_CSTRING__o2; long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_61_warmelt_modes_TRANSLATETOMODULE_DOCMD is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_61_warmelt_modes_TRANSLATETOMODULE_DOCMD_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 21; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_61_warmelt_modes_TRANSLATETOMODULE_DOCMD nbval 21*/ meltfram__.mcfr_nbvar = 21 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("TRANSLATETOMODULE_DOCMD", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:3914:/ getarg"); /*_.CMD__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MODULDATA__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MODULDATA__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION ("warmelt-modes.melt:3915:/ locexp"); debugeputs (("starting translatetomodule_docmd")); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3916:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3916:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3916:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3916; /*^apply.arg */ argtab[3].meltbp_cstring = "start translatetomodule_docmd cmd="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CMD__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " moduldata="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.MODULDATA__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3916:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3916:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3916:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-modes.melt:3917:/ quasiblock"); /*_.PARMODENV__V9*/ meltfptr[5] = ( /*!konst_1 */ meltfrout->tabval[1]);; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3919:/ cond"); /*cond */ if ( /*_.MODULDATA__V3*/ meltfptr[2]) /*then */ { /*^cond.then */ /*_.CURENV__V10*/ meltfptr[9] = /*_.MODULDATA__V3*/ meltfptr[2];; } else { MELT_LOCATION ("warmelt-modes.melt:3919:/ cond.else"); /*_.CURENV__V10*/ meltfptr[9] = ( /*!INITIAL_ENVIRONMENT */ meltfrout->tabval[2]);; } ; /*^compute */ /*_?*/ meltfram__.loc_CSTRING__o0 = melt_argument ("arg");; /*^compute */ /*_.INARG__V11*/ meltfptr[10] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[3])), ( /*_?*/ meltfram__.loc_CSTRING__o0)));; /*^compute */ /*_?*/ meltfram__.loc_CSTRING__o1 = melt_argument ("output");; /*^compute */ /*_.OUTARG__V12*/ meltfptr[11] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[3])), ( /*_?*/ meltfram__.loc_CSTRING__o1)));; /*^compute */ /*_?*/ meltfram__.loc_CSTRING__o2 = melt_argument ("coutput");; /*^compute */ /*_.COUTARG__V13*/ meltfptr[12] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[3])), ( /*_?*/ meltfram__.loc_CSTRING__o2)));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3924:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3924:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3924:/ apply"); /*apply */ { union meltparam_un argtab[11]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3924; /*^apply.arg */ argtab[3].meltbp_cstring = "translatetomodule_docmd inarg="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.INARG__V11*/ meltfptr[10]; /*^apply.arg */ argtab[5].meltbp_cstring = " outarg="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V12*/ meltfptr[11]; /*^apply.arg */ argtab[7].meltbp_cstring = " coutarg="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.COUTARG__V13*/ meltfptr[12]; /*^apply.arg */ argtab[9].meltbp_cstring = " curenv="; /*^apply.arg */ argtab[10].meltbp_aptr = (melt_ptr_t *) & /*_.CURENV__V10*/ meltfptr[9]; /*_.MELT_DEBUG_FUN__V16*/ meltfptr[15] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V15*/ meltfptr[14] = /*_.MELT_DEBUG_FUN__V16*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3924:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V16*/ meltfptr[15] = 0; } ; } else { /*^cond.else */ /*_.IF___V15*/ meltfptr[14] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3924:/ quasiblock"); /*_.PROGN___V17*/ meltfptr[15] = /*_.IF___V15*/ meltfptr[14];; /*^compute */ /*_.IFCPP___V14*/ meltfptr[13] = /*_.PROGN___V17*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3924:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.PROGN___V17*/ meltfptr[15] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[13] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-modes.melt:3927:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_1_st { struct MELT_MULTIPLE_STRUCT (3) rtup_0__TUPLREC__x1; long meltletrec_1_endgap; } *meltletrec_1_ptr = 0; meltletrec_1_ptr = (struct meltletrec_1_st *) meltgc_allocate (sizeof (struct meltletrec_1_st), 0); /*^blockmultialloc.initfill */ /*inimult rtup_0__TUPLREC__x1 */ /*_.TUPLREC___V19*/ meltfptr[15] = (melt_ptr_t) & meltletrec_1_ptr->rtup_0__TUPLREC__x1; meltletrec_1_ptr->rtup_0__TUPLREC__x1.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_MULTIPLE)))); meltletrec_1_ptr->rtup_0__TUPLREC__x1.nbval = 3; /*^putuple */ /*putupl#1 */ melt_assertmsg ("putupl [:3927] #1 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V19*/ meltfptr[15])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:3927] #1 checkoff", (0 >= 0 && 0 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V19*/ meltfptr[15])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V19*/ meltfptr[15]))->tabval[0] = (melt_ptr_t) (( /*!konst_5 */ meltfrout->tabval[5])); ; /*^putuple */ /*putupl#2 */ melt_assertmsg ("putupl [:3927] #2 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V19*/ meltfptr[15])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:3927] #2 checkoff", (1 >= 0 && 1 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V19*/ meltfptr[15])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V19*/ meltfptr[15]))->tabval[1] = (melt_ptr_t) (( /*!konst_6 */ meltfrout->tabval[6])); ; /*^putuple */ /*putupl#3 */ melt_assertmsg ("putupl [:3927] #3 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V19*/ meltfptr[15])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:3927] #3 checkoff", (2 >= 0 && 2 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V19*/ meltfptr[15])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V19*/ meltfptr[15]))->tabval[2] = (melt_ptr_t) (( /*!konst_7 */ meltfrout->tabval[7])); ; /*^touch */ meltgc_touch ( /*_.TUPLREC___V19*/ meltfptr[15]); ; /*_.TUPLE___V18*/ meltfptr[14] = /*_.TUPLREC___V19*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3927:/ clear"); /*clear *//*_.TUPLREC___V19*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.TUPLREC___V19*/ meltfptr[15] = 0; } /*end multiallocblock */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3926:/ apply"); /*apply */ { union meltparam_un argtab[4]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V12*/ meltfptr[11]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.COUTARG__V13*/ meltfptr[12]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.TUPLE___V18*/ meltfptr[14]; /*^apply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.CURENV__V10*/ meltfptr[9]; /*_.TRANSLATE_TO_FLAVORED_MODULE__V20*/ meltfptr[15] = melt_apply ((meltclosure_ptr_t) (( /*!TRANSLATE_TO_FLAVORED_MODULE */ meltfrout-> tabval[4])), (melt_ptr_t) ( /*_.INARG__V11*/ meltfptr[10]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3929:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = ( /*!konst_8_TRUE */ meltfrout->tabval[8]);; { MELT_LOCATION ("warmelt-modes.melt:3929:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V8*/ meltfptr[4] = /*_.RETURN___V21*/ meltfptr[20];; MELT_LOCATION ("warmelt-modes.melt:3917:/ clear"); /*clear *//*_.PARMODENV__V9*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.CURENV__V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_?*/ meltfram__.loc_CSTRING__o0 = 0; /*^clear */ /*clear *//*_.INARG__V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_?*/ meltfram__.loc_CSTRING__o1 = 0; /*^clear */ /*clear *//*_.OUTARG__V12*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_?*/ meltfram__.loc_CSTRING__o2 = 0; /*^clear */ /*clear *//*_.COUTARG__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.TUPLE___V18*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.TRANSLATE_TO_FLAVORED_MODULE__V20*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.RETURN___V21*/ meltfptr[20] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3914:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V8*/ meltfptr[4];; { MELT_LOCATION ("warmelt-modes.melt:3914:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.LET___V8*/ meltfptr[4] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("TRANSLATETOMODULE_DOCMD", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_61_warmelt_modes_TRANSLATETOMODULE_DOCMD_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_61_warmelt_modes_TRANSLATETOMODULE_DOCMD */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_62_warmelt_modes_TRANSLATEDEBUG_DOCMD (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_62_warmelt_modes_TRANSLATEDEBUG_DOCMD_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_62_warmelt_modes_TRANSLATEDEBUG_DOCMD_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 19 melt_ptr_t mcfr_varptr[19]; #define MELTFRAM_NBVARNUM 4 long mcfr_varnum[4]; /*others*/ const char *loc_CSTRING__o0; const char *loc_CSTRING__o1; const char *loc_CSTRING__o2; long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_62_warmelt_modes_TRANSLATEDEBUG_DOCMD is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_62_warmelt_modes_TRANSLATEDEBUG_DOCMD_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 19; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_62_warmelt_modes_TRANSLATEDEBUG_DOCMD nbval 19*/ meltfram__.mcfr_nbvar = 19 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("TRANSLATEDEBUG_DOCMD", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:3943:/ getarg"); /*_.CMD__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MODULDATA__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MODULDATA__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3944:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3944:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3944:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3944; /*^apply.arg */ argtab[3].meltbp_cstring = "start translatedebug_docmd cmd="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CMD__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " moduldata="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.MODULDATA__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3944:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3944:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3944:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-modes.melt:3945:/ quasiblock"); /*_.PARMODENV__V9*/ meltfptr[5] = ( /*!konst_1 */ meltfrout->tabval[1]);; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3947:/ cond"); /*cond */ if ( /*_.MODULDATA__V3*/ meltfptr[2]) /*then */ { /*^cond.then */ /*_.CURENV__V10*/ meltfptr[9] = /*_.MODULDATA__V3*/ meltfptr[2];; } else { MELT_LOCATION ("warmelt-modes.melt:3947:/ cond.else"); /*_.CURENV__V10*/ meltfptr[9] = ( /*!INITIAL_ENVIRONMENT */ meltfrout->tabval[2]);; } ; /*^compute */ /*_?*/ meltfram__.loc_CSTRING__o0 = melt_argument ("arg");; /*^compute */ /*_.INARG__V11*/ meltfptr[10] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[3])), ( /*_?*/ meltfram__.loc_CSTRING__o0)));; /*^compute */ /*_?*/ meltfram__.loc_CSTRING__o1 = melt_argument ("output");; /*^compute */ /*_.OUTARG__V12*/ meltfptr[11] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[3])), ( /*_?*/ meltfram__.loc_CSTRING__o1)));; /*^compute */ /*_?*/ meltfram__.loc_CSTRING__o2 = melt_argument ("coutput");; /*^compute */ /*_.COUTARG__V13*/ meltfptr[12] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[3])), ( /*_?*/ meltfram__.loc_CSTRING__o2)));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3952:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3952:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3952:/ apply"); /*apply */ { union meltparam_un argtab[11]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3952; /*^apply.arg */ argtab[3].meltbp_cstring = "translatedebug_docmd inarg="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.INARG__V11*/ meltfptr[10]; /*^apply.arg */ argtab[5].meltbp_cstring = " outarg="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V12*/ meltfptr[11]; /*^apply.arg */ argtab[7].meltbp_cstring = " coutarg="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.COUTARG__V13*/ meltfptr[12]; /*^apply.arg */ argtab[9].meltbp_cstring = " curenv="; /*^apply.arg */ argtab[10].meltbp_aptr = (melt_ptr_t *) & /*_.CURENV__V10*/ meltfptr[9]; /*_.MELT_DEBUG_FUN__V16*/ meltfptr[15] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V15*/ meltfptr[14] = /*_.MELT_DEBUG_FUN__V16*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3952:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V16*/ meltfptr[15] = 0; } ; } else { /*^cond.else */ /*_.IF___V15*/ meltfptr[14] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3952:/ quasiblock"); /*_.PROGN___V17*/ meltfptr[15] = /*_.IF___V15*/ meltfptr[14];; /*^compute */ /*_.IFCPP___V14*/ meltfptr[13] = /*_.PROGN___V17*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3952:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.PROGN___V17*/ meltfptr[15] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[13] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3954:/ apply"); /*apply */ { union meltparam_un argtab[4]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V12*/ meltfptr[11]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.COUTARG__V13*/ meltfptr[12]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & ( /*!konst_5 */ meltfrout->tabval[5]); /*^apply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.CURENV__V10*/ meltfptr[9]; /*_.TRANSLATE_TO_FLAVORED_MODULE__V18*/ meltfptr[14] = melt_apply ((meltclosure_ptr_t) (( /*!TRANSLATE_TO_FLAVORED_MODULE */ meltfrout-> tabval[4])), (melt_ptr_t) ( /*_.INARG__V11*/ meltfptr[10]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.LET___V8*/ meltfptr[4] = /*_.TRANSLATE_TO_FLAVORED_MODULE__V18*/ meltfptr[14];; MELT_LOCATION ("warmelt-modes.melt:3945:/ clear"); /*clear *//*_.PARMODENV__V9*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.CURENV__V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_?*/ meltfram__.loc_CSTRING__o0 = 0; /*^clear */ /*clear *//*_.INARG__V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_?*/ meltfram__.loc_CSTRING__o1 = 0; /*^clear */ /*clear *//*_.OUTARG__V12*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_?*/ meltfram__.loc_CSTRING__o2 = 0; /*^clear */ /*clear *//*_.COUTARG__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.TRANSLATE_TO_FLAVORED_MODULE__V18*/ meltfptr[14] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3955:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = ( /*!konst_6_TRUE */ meltfrout->tabval[6]);; { MELT_LOCATION ("warmelt-modes.melt:3955:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3943:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.RETURN___V19*/ meltfptr[15];; { MELT_LOCATION ("warmelt-modes.melt:3943:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.LET___V8*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.RETURN___V19*/ meltfptr[15] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("TRANSLATEDEBUG_DOCMD", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_62_warmelt_modes_TRANSLATEDEBUG_DOCMD_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_62_warmelt_modes_TRANSLATEDEBUG_DOCMD */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_63_warmelt_modes_TRANSLATEQUICKLY_DOCMD (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_63_warmelt_modes_TRANSLATEQUICKLY_DOCMD_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_63_warmelt_modes_TRANSLATEQUICKLY_DOCMD_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 19 melt_ptr_t mcfr_varptr[19]; #define MELTFRAM_NBVARNUM 4 long mcfr_varnum[4]; /*others*/ const char *loc_CSTRING__o0; const char *loc_CSTRING__o1; const char *loc_CSTRING__o2; long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_63_warmelt_modes_TRANSLATEQUICKLY_DOCMD is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_63_warmelt_modes_TRANSLATEQUICKLY_DOCMD_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 19; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_63_warmelt_modes_TRANSLATEQUICKLY_DOCMD nbval 19*/ meltfram__.mcfr_nbvar = 19 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("TRANSLATEQUICKLY_DOCMD", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:3972:/ getarg"); /*_.CMD__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MODULDATA__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MODULDATA__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3973:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3973:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3973:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3973; /*^apply.arg */ argtab[3].meltbp_cstring = "start translatequickly_docmd cmd="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CMD__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " moduldata="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.MODULDATA__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3973:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3973:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3973:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-modes.melt:3974:/ quasiblock"); /*_.PARMODENV__V9*/ meltfptr[5] = ( /*!konst_1 */ meltfrout->tabval[1]);; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3976:/ cond"); /*cond */ if ( /*_.MODULDATA__V3*/ meltfptr[2]) /*then */ { /*^cond.then */ /*_.CURENV__V10*/ meltfptr[9] = /*_.MODULDATA__V3*/ meltfptr[2];; } else { MELT_LOCATION ("warmelt-modes.melt:3976:/ cond.else"); /*_.CURENV__V10*/ meltfptr[9] = ( /*!INITIAL_ENVIRONMENT */ meltfrout->tabval[2]);; } ; /*^compute */ /*_?*/ meltfram__.loc_CSTRING__o0 = melt_argument ("arg");; /*^compute */ /*_.INARG__V11*/ meltfptr[10] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[3])), ( /*_?*/ meltfram__.loc_CSTRING__o0)));; /*^compute */ /*_?*/ meltfram__.loc_CSTRING__o1 = melt_argument ("output");; /*^compute */ /*_.OUTARG__V12*/ meltfptr[11] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[3])), ( /*_?*/ meltfram__.loc_CSTRING__o1)));; /*^compute */ /*_?*/ meltfram__.loc_CSTRING__o2 = melt_argument ("coutput");; /*^compute */ /*_.COUTARG__V13*/ meltfptr[12] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[3])), ( /*_?*/ meltfram__.loc_CSTRING__o2)));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:3981:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:3981:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3981:/ apply"); /*apply */ { union meltparam_un argtab[11]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 3981; /*^apply.arg */ argtab[3].meltbp_cstring = "translatequickly_docmd inarg="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.INARG__V11*/ meltfptr[10]; /*^apply.arg */ argtab[5].meltbp_cstring = " outarg="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V12*/ meltfptr[11]; /*^apply.arg */ argtab[7].meltbp_cstring = " coutarg="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.COUTARG__V13*/ meltfptr[12]; /*^apply.arg */ argtab[9].meltbp_cstring = " curenv="; /*^apply.arg */ argtab[10].meltbp_aptr = (melt_ptr_t *) & /*_.CURENV__V10*/ meltfptr[9]; /*_.MELT_DEBUG_FUN__V16*/ meltfptr[15] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V15*/ meltfptr[14] = /*_.MELT_DEBUG_FUN__V16*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3981:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V16*/ meltfptr[15] = 0; } ; } else { /*^cond.else */ /*_.IF___V15*/ meltfptr[14] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:3981:/ quasiblock"); /*_.PROGN___V17*/ meltfptr[15] = /*_.IF___V15*/ meltfptr[14];; /*^compute */ /*_.IFCPP___V14*/ meltfptr[13] = /*_.PROGN___V17*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:3981:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.PROGN___V17*/ meltfptr[15] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[13] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3983:/ apply"); /*apply */ { union meltparam_un argtab[4]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V12*/ meltfptr[11]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.COUTARG__V13*/ meltfptr[12]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & ( /*!konst_5 */ meltfrout->tabval[5]); /*^apply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.CURENV__V10*/ meltfptr[9]; /*_.TRANSLATE_TO_FLAVORED_MODULE__V18*/ meltfptr[14] = melt_apply ((meltclosure_ptr_t) (( /*!TRANSLATE_TO_FLAVORED_MODULE */ meltfrout-> tabval[4])), (melt_ptr_t) ( /*_.INARG__V11*/ meltfptr[10]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3984:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = ( /*!konst_6_TRUE */ meltfrout->tabval[6]);; { MELT_LOCATION ("warmelt-modes.melt:3984:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V8*/ meltfptr[4] = /*_.RETURN___V19*/ meltfptr[15];; MELT_LOCATION ("warmelt-modes.melt:3974:/ clear"); /*clear *//*_.PARMODENV__V9*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.CURENV__V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_?*/ meltfram__.loc_CSTRING__o0 = 0; /*^clear */ /*clear *//*_.INARG__V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_?*/ meltfram__.loc_CSTRING__o1 = 0; /*^clear */ /*clear *//*_.OUTARG__V12*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_?*/ meltfram__.loc_CSTRING__o2 = 0; /*^clear */ /*clear *//*_.COUTARG__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.TRANSLATE_TO_FLAVORED_MODULE__V18*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.RETURN___V19*/ meltfptr[15] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:3972:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V8*/ meltfptr[4];; { MELT_LOCATION ("warmelt-modes.melt:3972:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.LET___V8*/ meltfptr[4] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("TRANSLATEQUICKLY_DOCMD", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_63_warmelt_modes_TRANSLATEQUICKLY_DOCMD_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_63_warmelt_modes_TRANSLATEQUICKLY_DOCMD */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_64_warmelt_modes_TRANSLATEOPTIMIZED_DOCMD (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_64_warmelt_modes_TRANSLATEOPTIMIZED_DOCMD_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_64_warmelt_modes_TRANSLATEOPTIMIZED_DOCMD_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 19 melt_ptr_t mcfr_varptr[19]; #define MELTFRAM_NBVARNUM 4 long mcfr_varnum[4]; /*others*/ const char *loc_CSTRING__o0; const char *loc_CSTRING__o1; const char *loc_CSTRING__o2; long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_64_warmelt_modes_TRANSLATEOPTIMIZED_DOCMD is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_64_warmelt_modes_TRANSLATEOPTIMIZED_DOCMD_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 19; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_64_warmelt_modes_TRANSLATEOPTIMIZED_DOCMD nbval 19*/ meltfram__.mcfr_nbvar = 19 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("TRANSLATEOPTIMIZED_DOCMD", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:4000:/ getarg"); /*_.CMD__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MODULDATA__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MODULDATA__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4001:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4001:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4001:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4001; /*^apply.arg */ argtab[3].meltbp_cstring = "start translateoptimized_docmd cmd="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CMD__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " moduldata="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.MODULDATA__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4001:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4001:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4001:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-modes.melt:4002:/ quasiblock"); /*_.PARMODENV__V9*/ meltfptr[5] = ( /*!konst_1 */ meltfrout->tabval[1]);; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4004:/ cond"); /*cond */ if ( /*_.MODULDATA__V3*/ meltfptr[2]) /*then */ { /*^cond.then */ /*_.CURENV__V10*/ meltfptr[9] = /*_.MODULDATA__V3*/ meltfptr[2];; } else { MELT_LOCATION ("warmelt-modes.melt:4004:/ cond.else"); /*_.CURENV__V10*/ meltfptr[9] = ( /*!INITIAL_ENVIRONMENT */ meltfrout->tabval[2]);; } ; /*^compute */ /*_?*/ meltfram__.loc_CSTRING__o0 = melt_argument ("arg");; /*^compute */ /*_.INARG__V11*/ meltfptr[10] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[3])), ( /*_?*/ meltfram__.loc_CSTRING__o0)));; /*^compute */ /*_?*/ meltfram__.loc_CSTRING__o1 = melt_argument ("output");; /*^compute */ /*_.OUTARG__V12*/ meltfptr[11] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[3])), ( /*_?*/ meltfram__.loc_CSTRING__o1)));; /*^compute */ /*_?*/ meltfram__.loc_CSTRING__o2 = melt_argument ("coutput");; /*^compute */ /*_.COUTARG__V13*/ meltfptr[12] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[3])), ( /*_?*/ meltfram__.loc_CSTRING__o2)));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4009:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4009:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4009:/ apply"); /*apply */ { union meltparam_un argtab[11]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4009; /*^apply.arg */ argtab[3].meltbp_cstring = "translateoptimized_docmd inarg="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.INARG__V11*/ meltfptr[10]; /*^apply.arg */ argtab[5].meltbp_cstring = " outarg="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V12*/ meltfptr[11]; /*^apply.arg */ argtab[7].meltbp_cstring = " coutarg="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.COUTARG__V13*/ meltfptr[12]; /*^apply.arg */ argtab[9].meltbp_cstring = " curenv="; /*^apply.arg */ argtab[10].meltbp_aptr = (melt_ptr_t *) & /*_.CURENV__V10*/ meltfptr[9]; /*_.MELT_DEBUG_FUN__V16*/ meltfptr[15] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V15*/ meltfptr[14] = /*_.MELT_DEBUG_FUN__V16*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4009:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V16*/ meltfptr[15] = 0; } ; } else { /*^cond.else */ /*_.IF___V15*/ meltfptr[14] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4009:/ quasiblock"); /*_.PROGN___V17*/ meltfptr[15] = /*_.IF___V15*/ meltfptr[14];; /*^compute */ /*_.IFCPP___V14*/ meltfptr[13] = /*_.PROGN___V17*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4009:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.PROGN___V17*/ meltfptr[15] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[13] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4011:/ apply"); /*apply */ { union meltparam_un argtab[4]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V12*/ meltfptr[11]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.COUTARG__V13*/ meltfptr[12]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & ( /*!konst_5 */ meltfrout->tabval[5]); /*^apply.arg */ argtab[3].meltbp_aptr = (melt_ptr_t *) & /*_.CURENV__V10*/ meltfptr[9]; /*_.TRANSLATE_TO_FLAVORED_MODULE__V18*/ meltfptr[14] = melt_apply ((meltclosure_ptr_t) (( /*!TRANSLATE_TO_FLAVORED_MODULE */ meltfrout-> tabval[4])), (melt_ptr_t) ( /*_.INARG__V11*/ meltfptr[10]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4012:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = ( /*!konst_6_TRUE */ meltfrout->tabval[6]);; { MELT_LOCATION ("warmelt-modes.melt:4012:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V8*/ meltfptr[4] = /*_.RETURN___V19*/ meltfptr[15];; MELT_LOCATION ("warmelt-modes.melt:4002:/ clear"); /*clear *//*_.PARMODENV__V9*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.CURENV__V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_?*/ meltfram__.loc_CSTRING__o0 = 0; /*^clear */ /*clear *//*_.INARG__V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_?*/ meltfram__.loc_CSTRING__o1 = 0; /*^clear */ /*clear *//*_.OUTARG__V12*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_?*/ meltfram__.loc_CSTRING__o2 = 0; /*^clear */ /*clear *//*_.COUTARG__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.TRANSLATE_TO_FLAVORED_MODULE__V18*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.RETURN___V19*/ meltfptr[15] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4000:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V8*/ meltfptr[4];; { MELT_LOCATION ("warmelt-modes.melt:4000:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.LET___V8*/ meltfptr[4] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("TRANSLATEOPTIMIZED_DOCMD", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_64_warmelt_modes_TRANSLATEOPTIMIZED_DOCMD_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_64_warmelt_modes_TRANSLATEOPTIMIZED_DOCMD */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_65_warmelt_modes_TRANSLATEFILE_DOCMD (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_65_warmelt_modes_TRANSLATEFILE_DOCMD_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_65_warmelt_modes_TRANSLATEFILE_DOCMD_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 35 melt_ptr_t mcfr_varptr[35]; #define MELTFRAM_NBVARNUM 18 long mcfr_varnum[18]; /*others*/ const char *loc_CSTRING__o0; const char *loc_CSTRING__o1; long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_65_warmelt_modes_TRANSLATEFILE_DOCMD is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_65_warmelt_modes_TRANSLATEFILE_DOCMD_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 35; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_65_warmelt_modes_TRANSLATEFILE_DOCMD nbval 35*/ meltfram__.mcfr_nbvar = 35 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("TRANSLATEFILE_DOCMD", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:4029:/ getarg"); /*_.CMD__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MODULDATA__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MODULDATA__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION ("warmelt-modes.melt:4030:/ locexp"); debugeputs (("starting translatefile_docmd")); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4031:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4031:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4031:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4031; /*^apply.arg */ argtab[3].meltbp_cstring = "start translatefile_docmd cmd="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CMD__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " moduldata="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.MODULDATA__V3*/ meltfptr[2]; /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4031:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4031:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4031:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-modes.melt:4032:/ quasiblock"); /*_.PARMODENV__V9*/ meltfptr[5] = ( /*!konst_1 */ meltfrout->tabval[1]);; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4034:/ cond"); /*cond */ if ( /*_.MODULDATA__V3*/ meltfptr[2]) /*then */ { /*^cond.then */ /*_.CURENV__V10*/ meltfptr[9] = /*_.MODULDATA__V3*/ meltfptr[2];; } else { MELT_LOCATION ("warmelt-modes.melt:4034:/ cond.else"); /*_.CURENV__V10*/ meltfptr[9] = ( /*!INITIAL_ENVIRONMENT */ meltfrout->tabval[2]);; } ; /*^compute */ /*_?*/ meltfram__.loc_CSTRING__o0 = melt_argument ("arg");; /*^compute */ /*_.INARG__V11*/ meltfptr[10] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[3])), ( /*_?*/ meltfram__.loc_CSTRING__o0)));; /*^compute */ /*_?*/ meltfram__.loc_CSTRING__o1 = melt_argument ("output");; /*^compute */ /*_.OUTARG__V12*/ meltfptr[11] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[3])), ( /*_?*/ meltfram__.loc_CSTRING__o1)));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4038:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4038:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4038:/ apply"); /*apply */ { union meltparam_un argtab[11]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4038; /*^apply.arg */ argtab[3].meltbp_cstring = "translatefile_docmd inarg="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.INARG__V11*/ meltfptr[10]; /*^apply.arg */ argtab[5].meltbp_cstring = " outarg="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OUTARG__V12*/ meltfptr[11]; /*^apply.arg */ argtab[7].meltbp_cstring = " parmodenv="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.PARMODENV__V9*/ meltfptr[5]; /*^apply.arg */ argtab[9].meltbp_cstring = " initial_environment="; /*^apply.arg */ argtab[10].meltbp_aptr = (melt_ptr_t *) & ( /*!INITIAL_ENVIRONMENT */ meltfrout-> tabval[2]); /*_.MELT_DEBUG_FUN__V15*/ meltfptr[14] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V14*/ meltfptr[13] = /*_.MELT_DEBUG_FUN__V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4038:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V15*/ meltfptr[14] = 0; } ; } else { /*^cond.else */ /*_.IF___V14*/ meltfptr[13] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4038:/ quasiblock"); /*_.PROGN___V16*/ meltfptr[14] = /*_.IF___V14*/ meltfptr[13];; /*^compute */ /*_.IFCPP___V13*/ meltfptr[12] = /*_.PROGN___V16*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4038:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.PROGN___V16*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V13*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4041:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L5*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.CURENV__V10*/ meltfptr[9]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[4])));; MELT_LOCATION ("warmelt-modes.melt:4041:/ cond"); /*cond */ if ( /*_#IS_A__L5*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V18*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:4041:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curenv"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (4041) ? (4041) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V18*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V17*/ meltfptr[13] = /*_.IFELSE___V18*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4041:/ clear"); /*clear *//*_#IS_A__L5*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V18*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V17*/ meltfptr[13] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-modes.melt:4042:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L6*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.OUTARG__V12*/ meltfptr[11])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:4043:/ cond"); /*cond */ if ( /*_#IS_STRING__L6*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.MAKE_STRING_WITHOUT_SUFFIX__V21*/ meltfptr[20] = /*make_string_without_suffix */ (meltgc_new_string_without_suffix ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[3])), melt_string_str ((melt_ptr_t) ( /*_.OUTARG__V12*/ meltfptr[11])), (".c")));; /*^compute */ /*_.BASNAM__V20*/ meltfptr[19] = /*_.MAKE_STRING_WITHOUT_SUFFIX__V21*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4043:/ clear"); /*clear *//*_.MAKE_STRING_WITHOUT_SUFFIX__V21*/ meltfptr[20] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L7*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.INARG__V11*/ meltfptr[10])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:4046:/ cond"); /*cond */ if ( /*_#IS_STRING__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#STRING_SUFFIXED__L8*/ meltfnum[7] = /*string_suffixed: */ (melt_string_is_ending ((melt_ptr_t) /*_.INARG__V11*/ meltfptr[10], ".melt"));; /*^compute */ /*_#NOT__L9*/ meltfnum[8] = (!( /*_#STRING_SUFFIXED__L8*/ meltfnum[7]));; MELT_LOCATION ("warmelt-modes.melt:4047:/ cond"); /*cond */ if ( /*_#NOT__L9*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:4048:/ locexp"); warning (0, "MELT WARNING MSG [#%ld]::: %s - %s", melt_dbgcounter, ("MELT translated input file without .melt suffix"), melt_string_str ((melt_ptr_t) ( /*_.INARG__V11*/ meltfptr[10]))); } ; /*epilog */ } ; } /*noelse */ ; /*_.MAKE_STRING_NAKEDBASENAME__V23*/ meltfptr[22] = (meltgc_new_string_nakedbasename ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[3])), melt_string_str ((melt_ptr_t) ( /*_.INARG__V11*/ meltfptr[10]))));; MELT_LOCATION ("warmelt-modes.melt:4046:/ quasiblock"); /*_.PROGN___V24*/ meltfptr[23] = /*_.MAKE_STRING_NAKEDBASENAME__V23*/ meltfptr[22];; /*^compute */ /*_.IFELSE___V22*/ meltfptr[20] = /*_.PROGN___V24*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4046:/ clear"); /*clear *//*_#STRING_SUFFIXED__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_#NOT__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.MAKE_STRING_NAKEDBASENAME__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.PROGN___V24*/ meltfptr[23] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:4052:/ locexp"); error ("MELT ERROR MSG [#%ld]::: %s", melt_dbgcounter, ("invalid translatefile mode")); } ; MELT_LOCATION ("warmelt-modes.melt:4053:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-modes.melt:4053:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; MELT_LOCATION ("warmelt-modes.melt:4051:/ quasiblock"); /*_.PROGN___V26*/ meltfptr[23] = /*_.RETURN___V25*/ meltfptr[22];; /*^compute */ /*_.IFELSE___V22*/ meltfptr[20] = /*_.PROGN___V26*/ meltfptr[23];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4046:/ clear"); /*clear *//*_.RETURN___V25*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.PROGN___V26*/ meltfptr[23] = 0; } ; } ; /*_.BASNAM__V20*/ meltfptr[19] = /*_.IFELSE___V22*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4043:/ clear"); /*clear *//*_#IS_STRING__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V22*/ meltfptr[20] = 0; } ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4056:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L10*/ meltfnum[7] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4056:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[8] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4056:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L11*/ meltfnum[8]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4056; /*^apply.arg */ argtab[3].meltbp_cstring = "translatefile_mode basnam"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BASNAM__V20*/ meltfptr[19]; /*_.MELT_DEBUG_FUN__V29*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V28*/ meltfptr[23] = /*_.MELT_DEBUG_FUN__V29*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4056:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V29*/ meltfptr[20] = 0; } ; } else { /*^cond.else */ /*_.IF___V28*/ meltfptr[23] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4056:/ quasiblock"); /*_.PROGN___V30*/ meltfptr[20] = /*_.IF___V28*/ meltfptr[23];; /*^compute */ /*_.IFCPP___V27*/ meltfptr[22] = /*_.PROGN___V30*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4056:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IF___V28*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.PROGN___V30*/ meltfptr[20] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V27*/ meltfptr[22] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#STRING_DYNLOADED_SUFFIXED__L12*/ meltfnum[0] = /*string_dynloaded_suffixed: */ (melt_string_is_ending ((melt_ptr_t) /*_.BASNAM__V20*/ meltfptr[19], MELT_DYNLOADED_SUFFIX));; MELT_LOCATION ("warmelt-modes.melt:4057:/ cond"); /*cond */ if ( /*_#STRING_DYNLOADED_SUFFIXED__L12*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_#OR___L13*/ meltfnum[8] = /*_#STRING_DYNLOADED_SUFFIXED__L12*/ meltfnum[0];; } else { MELT_LOCATION ("warmelt-modes.melt:4057:/ cond.else"); /*^block */ /*anyblock */ { /*_#STRING_SUFFIXED__L14*/ meltfnum[7] = /*string_suffixed: */ (melt_string_is_ending ((melt_ptr_t) /*_.BASNAM__V20*/ meltfptr[19], ".melt"));; MELT_LOCATION ("warmelt-modes.melt:4057:/ cond"); /*cond */ if ( /*_#STRING_SUFFIXED__L14*/ meltfnum[7]) /*then */ { /*^cond.then */ /*_#OR___L15*/ meltfnum[14] = /*_#STRING_SUFFIXED__L14*/ meltfnum[7];; } else { MELT_LOCATION ("warmelt-modes.melt:4057:/ cond.else"); /*^block */ /*anyblock */ { /*_#STRING_SUFFIXED__L16*/ meltfnum[15] = /*string_suffixed: */ (melt_string_is_ending ((melt_ptr_t) /*_.BASNAM__V20*/ meltfptr[19], ".o"));; MELT_LOCATION ("warmelt-modes.melt:4057:/ cond"); /*cond */ if ( /*_#STRING_SUFFIXED__L16*/ meltfnum[15]) /*then */ { /*^cond.then */ /*_#OR___L17*/ meltfnum[16] = /*_#STRING_SUFFIXED__L16*/ meltfnum[15];; } else { MELT_LOCATION ("warmelt-modes.melt:4057:/ cond.else"); /*^block */ /*anyblock */ { /*_#STRING_SUFFIXED__L18*/ meltfnum[17] = /*string_suffixed: */ (melt_string_is_ending ((melt_ptr_t) /*_.BASNAM__V20*/ meltfptr[19], ".c"));; /*^compute */ /*_#OR___L17*/ meltfnum[16] = /*_#STRING_SUFFIXED__L18*/ meltfnum[17];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4057:/ clear"); /*clear *//*_#STRING_SUFFIXED__L18*/ meltfnum[17] = 0; } ; } ; /*_#OR___L15*/ meltfnum[14] = /*_#OR___L17*/ meltfnum[16];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4057:/ clear"); /*clear *//*_#STRING_SUFFIXED__L16*/ meltfnum[15] = 0; /*^clear */ /*clear *//*_#OR___L17*/ meltfnum[16] = 0; } ; } ; /*_#OR___L13*/ meltfnum[8] = /*_#OR___L15*/ meltfnum[14];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4057:/ clear"); /*clear *//*_#STRING_SUFFIXED__L14*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_#OR___L15*/ meltfnum[14] = 0; } ; } ; /*^cond */ /*cond */ if ( /*_#OR___L13*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:4062:/ locexp"); error ("MELT ERROR MSG [#%ld]::: %s - %s", melt_dbgcounter, ("tranlatefile mode needs a base name without suffix"), melt_string_str ((melt_ptr_t) ( /*_.BASNAM__V20*/ meltfptr[19]))); } ; MELT_LOCATION ("warmelt-modes.melt:4064:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-modes.melt:4064:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; MELT_LOCATION ("warmelt-modes.melt:4061:/ quasiblock"); /*_.PROGN___V33*/ meltfptr[32] = /*_.RETURN___V32*/ meltfptr[20];; /*^compute */ /*_.IF___V31*/ meltfptr[23] = /*_.PROGN___V33*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4057:/ clear"); /*clear *//*_.RETURN___V32*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.PROGN___V33*/ meltfptr[32] = 0; } ; } else { /*^cond.else */ /*_.IF___V31*/ meltfptr[23] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4066:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.BASNAM__V20*/ meltfptr[19]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.CURENV__V10*/ meltfptr[9]; /*_.TRANSLATE_TO_C_MODULE_MELT_SOURCES__V34*/ meltfptr[20] = melt_apply ((meltclosure_ptr_t) (( /*!TRANSLATE_TO_C_MODULE_MELT_SOURCES */ meltfrout-> tabval[5])), (melt_ptr_t) ( /*_.INARG__V11*/ meltfptr[10]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4067:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = ( /*!konst_6_TRUE */ meltfrout->tabval[6]);; { MELT_LOCATION ("warmelt-modes.melt:4067:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V19*/ meltfptr[14] = /*_.RETURN___V35*/ meltfptr[32];; MELT_LOCATION ("warmelt-modes.melt:4042:/ clear"); /*clear *//*_#IS_STRING__L6*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.BASNAM__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.IFCPP___V27*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_#STRING_DYNLOADED_SUFFIXED__L12*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#OR___L13*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IF___V31*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.TRANSLATE_TO_C_MODULE_MELT_SOURCES__V34*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.RETURN___V35*/ meltfptr[32] = 0; /*_.LET___V8*/ meltfptr[4] = /*_.LET___V19*/ meltfptr[14];; MELT_LOCATION ("warmelt-modes.melt:4032:/ clear"); /*clear *//*_.PARMODENV__V9*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.CURENV__V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_?*/ meltfram__.loc_CSTRING__o0 = 0; /*^clear */ /*clear *//*_.INARG__V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_?*/ meltfram__.loc_CSTRING__o1 = 0; /*^clear */ /*clear *//*_.OUTARG__V12*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_.IFCPP___V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.IFCPP___V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.LET___V19*/ meltfptr[14] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4029:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V8*/ meltfptr[4];; { MELT_LOCATION ("warmelt-modes.melt:4029:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.LET___V8*/ meltfptr[4] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("TRANSLATEFILE_DOCMD", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_65_warmelt_modes_TRANSLATEFILE_DOCMD_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_65_warmelt_modes_TRANSLATEFILE_DOCMD */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_66_warmelt_modes_TRANSLATEINIT_DOCMD (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_66_warmelt_modes_TRANSLATEINIT_DOCMD_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_66_warmelt_modes_TRANSLATEINIT_DOCMD_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 43 melt_ptr_t mcfr_varptr[43]; #define MELTFRAM_NBVARNUM 17 long mcfr_varnum[17]; /*others*/ const char *loc_CSTRING__o0; const char *loc_CSTRING__o1; const char *loc_CSTRING__o2; long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_66_warmelt_modes_TRANSLATEINIT_DOCMD is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_66_warmelt_modes_TRANSLATEINIT_DOCMD_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 43; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_66_warmelt_modes_TRANSLATEINIT_DOCMD nbval 43*/ meltfram__.mcfr_nbvar = 43 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("TRANSLATEINIT_DOCMD", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:4083:/ getarg"); /*_.CMD__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MODULDATA__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MODULDATA__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4084:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4084:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4084:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4084; /*^apply.arg */ argtab[3].meltbp_cstring = "start translateinit_mode cmd="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CMD__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " moduldata="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.MODULDATA__V3*/ meltfptr[2]; /*^apply.arg */ argtab[7].meltbp_cstring = " initial_environment="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & ( /*!INITIAL_ENVIRONMENT */ meltfrout-> tabval[1]); /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4084:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4084:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4084:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-modes.melt:4086:/ quasiblock"); /*_.RLIST__V9*/ meltfptr[5] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[2]))));; /*^compute */ /*_?*/ meltfram__.loc_CSTRING__o0 = melt_argument ("arg");; /*^compute */ /*_?*/ meltfram__.loc_CSTRING__o1 = melt_argument ("arglist");; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4090:/ cond"); /*cond */ if ( /*_?*/ meltfram__.loc_CSTRING__o0) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:4091:/ quasiblock"); /*_.PROGARGSTR__V12*/ meltfptr[11] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[3])), ( /*_?*/ meltfram__.loc_CSTRING__o0)));; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#STRING_SUFFIXED__L3*/ meltfnum[1] = /*string_suffixed: */ (melt_string_is_ending ((melt_ptr_t) /*_.PROGARGSTR__V12*/ meltfptr[11], ".melt"));; /*^compute */ /*_#NOT__L4*/ meltfnum[0] = (!( /*_#STRING_SUFFIXED__L3*/ meltfnum[1]));; MELT_LOCATION ("warmelt-modes.melt:4093:/ cond"); /*cond */ if ( /*_#NOT__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:4094:/ locexp"); warning (0, "MELT WARNING MSG [#%ld]::: %s - %s", melt_dbgcounter, ("MELT translated initial file without .melt suffix"), melt_string_str ((melt_ptr_t) ( /*_.PROGARGSTR__V12*/ meltfptr[11]))); } ; /*epilog */ } ; } /*noelse */ ; /*_.LET___V11*/ meltfptr[10] = /*_.PROGARGSTR__V12*/ meltfptr[11];; MELT_LOCATION ("warmelt-modes.melt:4091:/ clear"); /*clear *//*_.PROGARGSTR__V12*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_#STRING_SUFFIXED__L3*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_#NOT__L4*/ meltfnum[0] = 0; /*_.INARG__V10*/ meltfptr[9] = /*_.LET___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4090:/ clear"); /*clear *//*_.LET___V11*/ meltfptr[10] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4097:/ cond"); /*cond */ if ( /*_?*/ meltfram__.loc_CSTRING__o1) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.MAKE_STRINGCONST__V14*/ meltfptr[10] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[3])), ( /*_?*/ meltfram__.loc_CSTRING__o1)));; /*^compute */ /*_.SPLIT_STRING_COMMA__V15*/ meltfptr[14] = meltgc_new_split_string (melt_string_str ((melt_ptr_t) /*_.MAKE_STRINGCONST__V14*/ meltfptr[10]), ',', (melt_ptr_t) ( /*!DISCR_STRING */ meltfrout-> tabval[3]));; /*^compute */ /*_.IFELSE___V13*/ meltfptr[11] = /*_.SPLIT_STRING_COMMA__V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4097:/ clear"); /*clear *//*_.MAKE_STRINGCONST__V14*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.SPLIT_STRING_COMMA__V15*/ meltfptr[14] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:4101:/ locexp"); error ("MELT ERROR MSG [#%ld]::: %s", melt_dbgcounter, ("invalid arg or arglist to translateinit mode")); } ; MELT_LOCATION ("warmelt-modes.melt:4102:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-modes.melt:4102:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; MELT_LOCATION ("warmelt-modes.melt:4100:/ quasiblock"); /*_.PROGN___V17*/ meltfptr[14] = /*_.RETURN___V16*/ meltfptr[10];; /*^compute */ /*_.IFELSE___V13*/ meltfptr[11] = /*_.PROGN___V17*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4097:/ clear"); /*clear *//*_.RETURN___V16*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.PROGN___V17*/ meltfptr[14] = 0; } ; } ; /*_.INARG__V10*/ meltfptr[9] = /*_.IFELSE___V13*/ meltfptr[11];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4090:/ clear"); /*clear *//*_.IFELSE___V13*/ meltfptr[11] = 0; } ; } ; /*_?*/ meltfram__.loc_CSTRING__o2 = melt_argument ("output");; /*^compute */ /*_.OUTARG__V18*/ meltfptr[10] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[3])), ( /*_?*/ meltfram__.loc_CSTRING__o2)));; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_STRING__L5*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.OUTARG__V18*/ meltfptr[10])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:4105:/ cond"); /*cond */ if ( /*_#IS_STRING__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.BASNAM__V19*/ meltfptr[14] = /*_.OUTARG__V18*/ meltfptr[10];; } else { MELT_LOCATION ("warmelt-modes.melt:4105:/ cond.else"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L6*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.INARG__V10*/ meltfptr[9])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:4106:/ cond"); /*cond */ if ( /*_#IS_STRING__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.MAKE_STRING_NAKEDBASENAME__V21*/ meltfptr[20] = (meltgc_new_string_nakedbasename ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[3])), melt_string_str ((melt_ptr_t) ( /*_.INARG__V10*/ meltfptr[9]))));; /*^compute */ /*_.IFELSE___V20*/ meltfptr[11] = /*_.MAKE_STRING_NAKEDBASENAME__V21*/ meltfptr[20];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4106:/ clear"); /*clear *//*_.MAKE_STRING_NAKEDBASENAME__V21*/ meltfptr[20] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:4108:/ locexp"); error ("MELT ERROR MSG [#%ld]::: %s", melt_dbgcounter, ("invalid translateinit mode")); } ; MELT_LOCATION ("warmelt-modes.melt:4109:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-modes.melt:4109:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; MELT_LOCATION ("warmelt-modes.melt:4107:/ quasiblock"); /*_.PROGN___V23*/ meltfptr[22] = /*_.RETURN___V22*/ meltfptr[20];; /*^compute */ /*_.IFELSE___V20*/ meltfptr[11] = /*_.PROGN___V23*/ meltfptr[22];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4106:/ clear"); /*clear *//*_.RETURN___V22*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.PROGN___V23*/ meltfptr[22] = 0; } ; } ; /*_.BASNAM__V19*/ meltfptr[14] = /*_.IFELSE___V20*/ meltfptr[11];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4105:/ clear"); /*clear *//*_#IS_STRING__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V20*/ meltfptr[11] = 0; } ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4112:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L7*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4112:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4112:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4112; /*^apply.arg */ argtab[3].meltbp_cstring = "translateinit_mode basnam="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BASNAM__V19*/ meltfptr[14]; /*_.MELT_DEBUG_FUN__V26*/ meltfptr[11] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V25*/ meltfptr[22] = /*_.MELT_DEBUG_FUN__V26*/ meltfptr[11];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4112:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V26*/ meltfptr[11] = 0; } ; } else { /*^cond.else */ /*_.IF___V25*/ meltfptr[22] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4112:/ quasiblock"); /*_.PROGN___V27*/ meltfptr[11] = /*_.IF___V25*/ meltfptr[22];; /*^compute */ /*_.IFCPP___V24*/ meltfptr[20] = /*_.PROGN___V27*/ meltfptr[11];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4112:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V25*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.PROGN___V27*/ meltfptr[11] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V24*/ meltfptr[20] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#STRING_DYNLOADED_SUFFIXED__L9*/ meltfnum[7] = /*string_dynloaded_suffixed: */ (melt_string_is_ending ((melt_ptr_t) /*_.BASNAM__V19*/ meltfptr[14], MELT_DYNLOADED_SUFFIX));; MELT_LOCATION ("warmelt-modes.melt:4113:/ cond"); /*cond */ if ( /*_#STRING_DYNLOADED_SUFFIXED__L9*/ meltfnum[7]) /*then */ { /*^cond.then */ /*_#OR___L10*/ meltfnum[0] = /*_#STRING_DYNLOADED_SUFFIXED__L9*/ meltfnum[7];; } else { MELT_LOCATION ("warmelt-modes.melt:4113:/ cond.else"); /*^block */ /*anyblock */ { /*_#STRING_SUFFIXED__L11*/ meltfnum[10] = /*string_suffixed: */ (melt_string_is_ending ((melt_ptr_t) /*_.BASNAM__V19*/ meltfptr[14], ".melt"));; MELT_LOCATION ("warmelt-modes.melt:4113:/ cond"); /*cond */ if ( /*_#STRING_SUFFIXED__L11*/ meltfnum[10]) /*then */ { /*^cond.then */ /*_#OR___L12*/ meltfnum[11] = /*_#STRING_SUFFIXED__L11*/ meltfnum[10];; } else { MELT_LOCATION ("warmelt-modes.melt:4113:/ cond.else"); /*^block */ /*anyblock */ { /*_#STRING_SUFFIXED__L13*/ meltfnum[12] = /*string_suffixed: */ (melt_string_is_ending ((melt_ptr_t) /*_.BASNAM__V19*/ meltfptr[14], ".c"));; /*^compute */ /*_#OR___L12*/ meltfnum[11] = /*_#STRING_SUFFIXED__L13*/ meltfnum[12];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4113:/ clear"); /*clear *//*_#STRING_SUFFIXED__L13*/ meltfnum[12] = 0; } ; } ; /*_#OR___L10*/ meltfnum[0] = /*_#OR___L12*/ meltfnum[11];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4113:/ clear"); /*clear *//*_#STRING_SUFFIXED__L11*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_#OR___L12*/ meltfnum[11] = 0; } ; } ; /*^cond */ /*cond */ if ( /*_#OR___L10*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:4117:/ locexp"); error ("MELT ERROR MSG [#%ld]::: %s - %s", melt_dbgcounter, ("tranlateinit mode needs a base name without suffix"), melt_string_str ((melt_ptr_t) ( /*_.BASNAM__V19*/ meltfptr[14]))); } ; MELT_LOCATION ("warmelt-modes.melt:4119:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-modes.melt:4119:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; MELT_LOCATION ("warmelt-modes.melt:4116:/ quasiblock"); /*_.PROGN___V30*/ meltfptr[29] = /*_.RETURN___V29*/ meltfptr[11];; /*^compute */ /*_.IF___V28*/ meltfptr[22] = /*_.PROGN___V30*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4113:/ clear"); /*clear *//*_.RETURN___V29*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_.PROGN___V30*/ meltfptr[29] = 0; } ; } else { /*^cond.else */ /*_.IF___V28*/ meltfptr[22] = NULL;; } ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_STRING__L14*/ meltfnum[12] = (melt_magic_discr ((melt_ptr_t) ( /*_.INARG__V10*/ meltfptr[9])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:4122:/ cond"); /*cond */ if ( /*_#IS_STRING__L14*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.READ_FILE__V32*/ meltfptr[29] = (meltgc_read_file (melt_string_str ((melt_ptr_t) ( /*_.INARG__V10*/ meltfptr[9])), (char *) 0));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4123:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.READ_FILE__V32*/ meltfptr[29]; /*_.LIST_APPEND2LIST__V33*/ meltfptr[32] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout->tabval[4])), (melt_ptr_t) ( /*_.RLIST__V9*/ meltfptr[5]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IFELSE___V31*/ meltfptr[11] = /*_.LIST_APPEND2LIST__V33*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4122:/ clear"); /*clear *//*_.READ_FILE__V32*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.LIST_APPEND2LIST__V33*/ meltfptr[32] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_LIST__L15*/ meltfnum[10] = (melt_magic_discr ((melt_ptr_t) ( /*_.INARG__V10*/ meltfptr[9])) == MELTOBMAG_LIST);; MELT_LOCATION ("warmelt-modes.melt:4124:/ cond"); /*cond */ if ( /*_#IS_LIST__L15*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:4126:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V36*/ meltfptr[35] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_8 */ meltfrout-> tabval[8])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V36*/ meltfptr[35])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V36*/ meltfptr[35]))); ((meltclosure_ptr_t) /*_.LAMBDA___V36*/ meltfptr[35])-> tabval[0] = (melt_ptr_t) ( /*_.RLIST__V9*/ meltfptr[5]); ; /*_.LAMBDA___V35*/ meltfptr[32] = /*_.LAMBDA___V36*/ meltfptr[35];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4125:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V35*/ meltfptr[32]; /*_.LIST_EVERY__V37*/ meltfptr[36] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_EVERY */ meltfrout->tabval[5])), (melt_ptr_t) ( /*_.INARG__V10*/ meltfptr[9]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IFELSE___V34*/ meltfptr[29] = /*_.LIST_EVERY__V37*/ meltfptr[36];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4124:/ clear"); /*clear *//*_.LAMBDA___V35*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.LIST_EVERY__V37*/ meltfptr[36] = 0; } ; } else { /*^cond.else */ /*_.IFELSE___V34*/ meltfptr[29] = NULL;; } ; /*^compute */ /*_.IFELSE___V31*/ meltfptr[11] = /*_.IFELSE___V34*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4122:/ clear"); /*clear *//*_#IS_LIST__L15*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IFELSE___V34*/ meltfptr[29] = 0; } ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4135:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L16*/ meltfnum[11] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4135:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L16*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[10] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4135:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[10]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4135; /*^apply.arg */ argtab[3].meltbp_cstring = "after read translateinit_mode rlist="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RLIST__V9*/ meltfptr[5]; /*_.MELT_DEBUG_FUN__V40*/ meltfptr[29] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V39*/ meltfptr[36] = /*_.MELT_DEBUG_FUN__V40*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4135:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L17*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V40*/ meltfptr[29] = 0; } ; } else { /*^cond.else */ /*_.IF___V39*/ meltfptr[36] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4135:/ quasiblock"); /*_.PROGN___V41*/ meltfptr[29] = /*_.IF___V39*/ meltfptr[36];; /*^compute */ /*_.IFCPP___V38*/ meltfptr[32] = /*_.PROGN___V41*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4135:/ clear"); /*clear *//*_#MELT_NEED_DBG__L16*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.IF___V39*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.PROGN___V41*/ meltfptr[29] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V38*/ meltfptr[32] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4141:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = /*nil */ (melt_ptr_t *) NULL; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.BASNAM__V19*/ meltfptr[14]; /*_.COMPILE_LIST_SEXPR__V42*/ meltfptr[36] = melt_apply ((meltclosure_ptr_t) (( /*!COMPILE_LIST_SEXPR */ meltfrout->tabval[9])), (melt_ptr_t) ( /*_.RLIST__V9*/ meltfptr[5]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; { MELT_LOCATION ("warmelt-modes.melt:4144:/ locexp"); melt_garbcoll ((10000), MELT_NEED_FULL); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4145:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = ( /*!konst_10_TRUE */ meltfrout->tabval[10]);; { MELT_LOCATION ("warmelt-modes.melt:4145:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V8*/ meltfptr[4] = /*_.RETURN___V43*/ meltfptr[29];; MELT_LOCATION ("warmelt-modes.melt:4086:/ clear"); /*clear *//*_.RLIST__V9*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_?*/ meltfram__.loc_CSTRING__o0 = 0; /*^clear */ /*clear *//*_?*/ meltfram__.loc_CSTRING__o1 = 0; /*^clear */ /*clear *//*_.INARG__V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_?*/ meltfram__.loc_CSTRING__o2 = 0; /*^clear */ /*clear *//*_.OUTARG__V18*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_#IS_STRING__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.BASNAM__V19*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.IFCPP___V24*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_#STRING_DYNLOADED_SUFFIXED__L9*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_#OR___L10*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V28*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_#IS_STRING__L14*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.IFELSE___V31*/ meltfptr[11] = 0; /*^clear */ /*clear *//*_.IFCPP___V38*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.COMPILE_LIST_SEXPR__V42*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.RETURN___V43*/ meltfptr[29] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4083:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V8*/ meltfptr[4];; { MELT_LOCATION ("warmelt-modes.melt:4083:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.LET___V8*/ meltfptr[4] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("TRANSLATEINIT_DOCMD", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_66_warmelt_modes_TRANSLATEINIT_DOCMD_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_66_warmelt_modes_TRANSLATEINIT_DOCMD */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_67_warmelt_modes_LAMBDA___21__ (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_67_warmelt_modes_LAMBDA___21___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_67_warmelt_modes_LAMBDA___21___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 13 melt_ptr_t mcfr_varptr[13]; #define MELTFRAM_NBVARNUM 4 long mcfr_varnum[4]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_67_warmelt_modes_LAMBDA___21__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_67_warmelt_modes_LAMBDA___21___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 13; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_67_warmelt_modes_LAMBDA___21__ nbval 13*/ meltfram__.mcfr_nbvar = 13 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:4126:/ getarg"); /*_.CURARG__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION ("warmelt-modes.melt:4127:/ locexp"); inform (UNKNOWN_LOCATION, "MELT INFORM [#%ld]: %s - %s", melt_dbgcounter, ("reading from file"), melt_string_str ((melt_ptr_t) ( /*_.CURARG__V2*/ meltfptr[1]))); } ; MELT_LOCATION ("warmelt-modes.melt:4128:/ quasiblock"); /*_.CUREAD__V4*/ meltfptr[3] = (meltgc_read_file (melt_string_str ((melt_ptr_t) ( /*_.CURARG__V2*/ meltfptr[1])), (char *) 0));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4130:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_LIST__L1*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) (( /*~RLIST */ meltfclos->tabval[0]))) == MELTOBMAG_LIST);; MELT_LOCATION ("warmelt-modes.melt:4130:/ cond"); /*cond */ if ( /*_#IS_LIST__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V6*/ meltfptr[5] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:4130:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check rlist"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (4130) ? (4130) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V6*/ meltfptr[5] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V5*/ meltfptr[4] = /*_.IFELSE___V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4130:/ clear"); /*clear *//*_#IS_LIST__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V6*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V5*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4131:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L2*/ meltfnum[0] = (( /*_.CUREAD__V4*/ meltfptr[3]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.CUREAD__V4*/ meltfptr[3])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-modes.melt:4131:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V8*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:4131:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curead"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (4131) ? (4131) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V8*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V7*/ meltfptr[5] = /*_.IFELSE___V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4131:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V8*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V7*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4132:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4132:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4132:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4132; /*^apply.arg */ argtab[3].meltbp_cstring = "translateinit_mode curead="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CUREAD__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V11*/ meltfptr[10] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V10*/ meltfptr[9] = /*_.MELT_DEBUG_FUN__V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4132:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V11*/ meltfptr[10] = 0; } ; } else { /*^cond.else */ /*_.IF___V10*/ meltfptr[9] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4132:/ quasiblock"); /*_.PROGN___V12*/ meltfptr[10] = /*_.IF___V10*/ meltfptr[9];; /*^compute */ /*_.IFCPP___V9*/ meltfptr[7] = /*_.PROGN___V12*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4132:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.PROGN___V12*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V9*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4133:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.CUREAD__V4*/ meltfptr[3]; /*_.LIST_APPEND2LIST__V13*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout->tabval[1])), (melt_ptr_t) (( /*~RLIST */ meltfclos->tabval[0])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.LET___V3*/ meltfptr[2] = /*_.LIST_APPEND2LIST__V13*/ meltfptr[9];; MELT_LOCATION ("warmelt-modes.melt:4128:/ clear"); /*clear *//*_.CUREAD__V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V7*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V9*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.LIST_APPEND2LIST__V13*/ meltfptr[9] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4126:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V3*/ meltfptr[2];; { MELT_LOCATION ("warmelt-modes.melt:4126:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.LET___V3*/ meltfptr[2] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_67_warmelt_modes_LAMBDA___21___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_67_warmelt_modes_LAMBDA___21__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_68_warmelt_modes_TRANSLATEINIT_FLAVORED (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_68_warmelt_modes_TRANSLATEINIT_FLAVORED_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_68_warmelt_modes_TRANSLATEINIT_FLAVORED_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 66 melt_ptr_t mcfr_varptr[66]; #define MELTFRAM_NBVARNUM 28 long mcfr_varnum[28]; /*others*/ const char *loc_CSTRING__o0; const char *loc_CSTRING__o1; const char *loc_CSTRING__o2; long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_68_warmelt_modes_TRANSLATEINIT_FLAVORED is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_68_warmelt_modes_TRANSLATEINIT_FLAVORED_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 66; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_68_warmelt_modes_TRANSLATEINIT_FLAVORED nbval 66*/ meltfram__.mcfr_nbvar = 66 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("TRANSLATEINIT_FLAVORED", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:4162:/ getarg"); /*_.FLAVOR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_LOCATION ("warmelt-modes.melt:4163:/ quasiblock"); /*_.RLIST__V4*/ meltfptr[3] = (meltgc_new_list ((meltobject_ptr_t) (( /*!DISCR_LIST */ meltfrout->tabval[0]))));; /*^compute */ /*_?*/ meltfram__.loc_CSTRING__o0 = melt_argument ("arg");; /*^compute */ /*_?*/ meltfram__.loc_CSTRING__o1 = melt_argument ("arglist");; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4167:/ cond"); /*cond */ if ( /*_?*/ meltfram__.loc_CSTRING__o0) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:4168:/ quasiblock"); /*_.PROGARGSTR__V7*/ meltfptr[6] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[1])), ( /*_?*/ meltfram__.loc_CSTRING__o0)));; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#STRING_SUFFIXED__L1*/ meltfnum[0] = /*string_suffixed: */ (melt_string_is_ending ((melt_ptr_t) /*_.PROGARGSTR__V7*/ meltfptr[6], ".melt"));; /*^compute */ /*_#NOT__L2*/ meltfnum[1] = (!( /*_#STRING_SUFFIXED__L1*/ meltfnum[0]));; MELT_LOCATION ("warmelt-modes.melt:4170:/ cond"); /*cond */ if ( /*_#NOT__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:4171:/ locexp"); warning (0, "MELT WARNING MSG [#%ld]::: %s - %s", melt_dbgcounter, ("MELT translated initial file without .melt suffix"), melt_string_str ((melt_ptr_t) ( /*_.PROGARGSTR__V7*/ meltfptr[6]))); } ; /*epilog */ } ; } /*noelse */ ; /*_.LET___V6*/ meltfptr[5] = /*_.PROGARGSTR__V7*/ meltfptr[6];; MELT_LOCATION ("warmelt-modes.melt:4168:/ clear"); /*clear *//*_.PROGARGSTR__V7*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_#STRING_SUFFIXED__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_#NOT__L2*/ meltfnum[1] = 0; /*_.INARG__V5*/ meltfptr[4] = /*_.LET___V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4167:/ clear"); /*clear *//*_.LET___V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4174:/ cond"); /*cond */ if ( /*_?*/ meltfram__.loc_CSTRING__o1) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.MAKE_STRINGCONST__V9*/ meltfptr[5] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[1])), ( /*_?*/ meltfram__.loc_CSTRING__o1)));; /*^compute */ /*_.SPLIT_STRING_COMMA__V10*/ meltfptr[9] = meltgc_new_split_string (melt_string_str ((melt_ptr_t) /*_.MAKE_STRINGCONST__V9*/ meltfptr[5]), ',', (melt_ptr_t) ( /*!DISCR_STRING */ meltfrout-> tabval[1]));; /*^compute */ /*_.IFELSE___V8*/ meltfptr[6] = /*_.SPLIT_STRING_COMMA__V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4174:/ clear"); /*clear *//*_.MAKE_STRINGCONST__V9*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.SPLIT_STRING_COMMA__V10*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:4178:/ locexp"); error ("MELT ERROR MSG [#%ld]::: %s", melt_dbgcounter, ("invalid arg or arglist to translateinitmodule mode")); } ; MELT_LOCATION ("warmelt-modes.melt:4179:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-modes.melt:4179:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; MELT_LOCATION ("warmelt-modes.melt:4177:/ quasiblock"); /*_.PROGN___V12*/ meltfptr[9] = /*_.RETURN___V11*/ meltfptr[5];; /*^compute */ /*_.IFELSE___V8*/ meltfptr[6] = /*_.PROGN___V12*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4174:/ clear"); /*clear *//*_.RETURN___V11*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.PROGN___V12*/ meltfptr[9] = 0; } ; } ; /*_.INARG__V5*/ meltfptr[4] = /*_.IFELSE___V8*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4167:/ clear"); /*clear *//*_.IFELSE___V8*/ meltfptr[6] = 0; } ; } ; /*_?*/ meltfram__.loc_CSTRING__o2 = melt_argument ("output");; /*^compute */ /*_.OUTARG__V13*/ meltfptr[5] = (meltgc_new_stringdup ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[1])), ( /*_?*/ meltfram__.loc_CSTRING__o2)));; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_STRING__L3*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.OUTARG__V13*/ meltfptr[5])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:4182:/ cond"); /*cond */ if ( /*_#IS_STRING__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.BASNAM__V14*/ meltfptr[9] = /*_.OUTARG__V13*/ meltfptr[5];; } else { MELT_LOCATION ("warmelt-modes.melt:4182:/ cond.else"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L4*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.INARG__V5*/ meltfptr[4])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:4183:/ cond"); /*cond */ if ( /*_#IS_STRING__L4*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.MAKE_STRING_NAKEDBASENAME__V16*/ meltfptr[15] = (meltgc_new_string_nakedbasename ((meltobject_ptr_t) (( /*!DISCR_STRING */ meltfrout->tabval[1])), melt_string_str ((melt_ptr_t) ( /*_.INARG__V5*/ meltfptr[4]))));; /*^compute */ /*_.IFELSE___V15*/ meltfptr[6] = /*_.MAKE_STRING_NAKEDBASENAME__V16*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4183:/ clear"); /*clear *//*_.MAKE_STRING_NAKEDBASENAME__V16*/ meltfptr[15] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:4185:/ locexp"); error ("MELT ERROR MSG [#%ld]::: %s", melt_dbgcounter, ("invalid translateinitmodule mode")); } ; MELT_LOCATION ("warmelt-modes.melt:4186:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-modes.melt:4186:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; MELT_LOCATION ("warmelt-modes.melt:4184:/ quasiblock"); /*_.PROGN___V18*/ meltfptr[17] = /*_.RETURN___V17*/ meltfptr[15];; /*^compute */ /*_.IFELSE___V15*/ meltfptr[6] = /*_.PROGN___V18*/ meltfptr[17];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4183:/ clear"); /*clear *//*_.RETURN___V17*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.PROGN___V18*/ meltfptr[17] = 0; } ; } ; /*_.BASNAM__V14*/ meltfptr[9] = /*_.IFELSE___V15*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4182:/ clear"); /*clear *//*_#IS_STRING__L4*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V15*/ meltfptr[6] = 0; } ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4189:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4189:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[5] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4189:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[5]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4189; /*^apply.arg */ argtab[3].meltbp_cstring = "translateinitmodule_flavored basnam="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BASNAM__V14*/ meltfptr[9]; /*^apply.arg */ argtab[5].meltbp_cstring = " flavor="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.FLAVOR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V21*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V20*/ meltfptr[17] = /*_.MELT_DEBUG_FUN__V21*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4189:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V21*/ meltfptr[6] = 0; } ; } else { /*^cond.else */ /*_.IF___V20*/ meltfptr[17] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4189:/ quasiblock"); /*_.PROGN___V22*/ meltfptr[6] = /*_.IF___V20*/ meltfptr[17];; /*^compute */ /*_.IFCPP___V19*/ meltfptr[15] = /*_.PROGN___V22*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4189:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V20*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.PROGN___V22*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V19*/ meltfptr[15] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#STRING_DYNLOADED_SUFFIXED__L7*/ meltfnum[5] = /*string_dynloaded_suffixed: */ (melt_string_is_ending ((melt_ptr_t) /*_.BASNAM__V14*/ meltfptr[9], MELT_DYNLOADED_SUFFIX));; MELT_LOCATION ("warmelt-modes.melt:4190:/ cond"); /*cond */ if ( /*_#STRING_DYNLOADED_SUFFIXED__L7*/ meltfnum[5]) /*then */ { /*^cond.then */ /*_#OR___L8*/ meltfnum[1] = /*_#STRING_DYNLOADED_SUFFIXED__L7*/ meltfnum[5];; } else { MELT_LOCATION ("warmelt-modes.melt:4190:/ cond.else"); /*^block */ /*anyblock */ { /*_#STRING_SUFFIXED__L9*/ meltfnum[8] = /*string_suffixed: */ (melt_string_is_ending ((melt_ptr_t) /*_.BASNAM__V14*/ meltfptr[9], ".melt"));; MELT_LOCATION ("warmelt-modes.melt:4190:/ cond"); /*cond */ if ( /*_#STRING_SUFFIXED__L9*/ meltfnum[8]) /*then */ { /*^cond.then */ /*_#OR___L10*/ meltfnum[9] = /*_#STRING_SUFFIXED__L9*/ meltfnum[8];; } else { MELT_LOCATION ("warmelt-modes.melt:4190:/ cond.else"); /*^block */ /*anyblock */ { /*_#STRING_SUFFIXED__L11*/ meltfnum[10] = /*string_suffixed: */ (melt_string_is_ending ((melt_ptr_t) /*_.BASNAM__V14*/ meltfptr[9], ".c"));; /*^compute */ /*_#OR___L10*/ meltfnum[9] = /*_#STRING_SUFFIXED__L11*/ meltfnum[10];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4190:/ clear"); /*clear *//*_#STRING_SUFFIXED__L11*/ meltfnum[10] = 0; } ; } ; /*_#OR___L8*/ meltfnum[1] = /*_#OR___L10*/ meltfnum[9];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4190:/ clear"); /*clear *//*_#STRING_SUFFIXED__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_#OR___L10*/ meltfnum[9] = 0; } ; } ; /*^cond */ /*cond */ if ( /*_#OR___L8*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:4194:/ locexp"); error ("MELT ERROR MSG [#%ld]::: %s - %s", melt_dbgcounter, ("tranlateinit mode needs a base name without suffix"), melt_string_str ((melt_ptr_t) ( /*_.BASNAM__V14*/ meltfptr[9]))); } ; MELT_LOCATION ("warmelt-modes.melt:4196:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-modes.melt:4196:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; MELT_LOCATION ("warmelt-modes.melt:4193:/ quasiblock"); /*_.PROGN___V25*/ meltfptr[24] = /*_.RETURN___V24*/ meltfptr[6];; /*^compute */ /*_.IF___V23*/ meltfptr[17] = /*_.PROGN___V25*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4190:/ clear"); /*clear *//*_.RETURN___V24*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V25*/ meltfptr[24] = 0; } ; } else { /*^cond.else */ /*_.IF___V23*/ meltfptr[17] = NULL;; } ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_STRING__L12*/ meltfnum[10] = (melt_magic_discr ((melt_ptr_t) ( /*_.INARG__V5*/ meltfptr[4])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:4199:/ cond"); /*cond */ if ( /*_#IS_STRING__L12*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.READ_FILE__V27*/ meltfptr[24] = (meltgc_read_file (melt_string_str ((melt_ptr_t) ( /*_.INARG__V5*/ meltfptr[4])), (char *) 0));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4200:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.READ_FILE__V27*/ meltfptr[24]; /*_.LIST_APPEND2LIST__V28*/ meltfptr[27] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout->tabval[3])), (melt_ptr_t) ( /*_.RLIST__V4*/ meltfptr[3]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IFELSE___V26*/ meltfptr[6] = /*_.LIST_APPEND2LIST__V28*/ meltfptr[27];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4199:/ clear"); /*clear *//*_.READ_FILE__V27*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.LIST_APPEND2LIST__V28*/ meltfptr[27] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_LIST__L13*/ meltfnum[8] = (melt_magic_discr ((melt_ptr_t) ( /*_.INARG__V5*/ meltfptr[4])) == MELTOBMAG_LIST);; MELT_LOCATION ("warmelt-modes.melt:4201:/ cond"); /*cond */ if ( /*_#IS_LIST__L13*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:4203:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V31*/ meltfptr[30] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_7 */ meltfrout-> tabval[7])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V31*/ meltfptr[30])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V31*/ meltfptr[30]))); ((meltclosure_ptr_t) /*_.LAMBDA___V31*/ meltfptr[30])-> tabval[0] = (melt_ptr_t) ( /*_.RLIST__V4*/ meltfptr[3]); ; /*_.LAMBDA___V30*/ meltfptr[27] = /*_.LAMBDA___V31*/ meltfptr[30];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4202:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V30*/ meltfptr[27]; /*_.LIST_EVERY__V32*/ meltfptr[31] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_EVERY */ meltfrout->tabval[4])), (melt_ptr_t) ( /*_.INARG__V5*/ meltfptr[4]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IFELSE___V29*/ meltfptr[24] = /*_.LIST_EVERY__V32*/ meltfptr[31];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4201:/ clear"); /*clear *//*_.LAMBDA___V30*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.LIST_EVERY__V32*/ meltfptr[31] = 0; } ; } else { /*^cond.else */ /*_.IFELSE___V29*/ meltfptr[24] = NULL;; } ; /*^compute */ /*_.IFELSE___V26*/ meltfptr[6] = /*_.IFELSE___V29*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4199:/ clear"); /*clear *//*_#IS_LIST__L13*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IFELSE___V29*/ meltfptr[24] = 0; } ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4212:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L14*/ meltfnum[9] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4212:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L14*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[8] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4212:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L15*/ meltfnum[8]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4212; /*^apply.arg */ argtab[3].meltbp_cstring = "after read translateinitmodule_flavored rlist="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RLIST__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V35*/ meltfptr[24] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V34*/ meltfptr[31] = /*_.MELT_DEBUG_FUN__V35*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4212:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L15*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V35*/ meltfptr[24] = 0; } ; } else { /*^cond.else */ /*_.IF___V34*/ meltfptr[31] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4212:/ quasiblock"); /*_.PROGN___V36*/ meltfptr[24] = /*_.IF___V34*/ meltfptr[31];; /*^compute */ /*_.IFCPP___V33*/ meltfptr[27] = /*_.PROGN___V36*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4212:/ clear"); /*clear *//*_#MELT_NEED_DBG__L14*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IF___V34*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.PROGN___V36*/ meltfptr[24] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V33*/ meltfptr[27] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4215:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = /*nil */ (melt_ptr_t *) NULL; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.BASNAM__V14*/ meltfptr[9]; /*_.COMPILE_LIST_SEXPR__V37*/ meltfptr[31] = melt_apply ((meltclosure_ptr_t) (( /*!COMPILE_LIST_SEXPR */ meltfrout->tabval[8])), (melt_ptr_t) ( /*_.RLIST__V4*/ meltfptr[3]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; { MELT_LOCATION ("warmelt-modes.melt:4218:/ locexp"); melt_garbcoll ((10000), MELT_NEED_FULL); } ; MELT_LOCATION ("warmelt-modes.melt:4219:/ quasiblock"); MELT_LOCATION ("warmelt-modes.melt:4220:/ cond"); /*cond */ if ( /*_.OUTARG__V13*/ meltfptr[5]) /*then */ { /*^cond.then */ /*_.OUTBASE__V39*/ meltfptr[38] = /*_.OUTARG__V13*/ meltfptr[5];; } else { MELT_LOCATION ("warmelt-modes.melt:4220:/ cond.else"); /*_.OUTBASE__V39*/ meltfptr[38] = /*_.BASNAM__V14*/ meltfptr[9];; } ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_MULTIPLE__L16*/ meltfnum[8] = (melt_magic_discr ((melt_ptr_t) ( /*_.FLAVOR__V2*/ meltfptr[1])) == MELTOBMAG_MULTIPLE);; MELT_LOCATION ("warmelt-modes.melt:4223:/ cond"); /*cond */ if ( /*_#IS_MULTIPLE__L16*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*citerblock FOREACH_IN_MULTIPLE */ { /* start foreach_in_multiple meltcit1__EACHTUP */ long meltcit1__EACHTUP_ln = melt_multiple_length ((melt_ptr_t) /*_.FLAVOR__V2*/ meltfptr[1]); for ( /*_#FLAVIX__L17*/ meltfnum[9] = 0; ( /*_#FLAVIX__L17*/ meltfnum[9] >= 0) && ( /*_#FLAVIX__L17*/ meltfnum[9] < meltcit1__EACHTUP_ln); /*_#FLAVIX__L17*/ meltfnum[9]++) { /*_.CURFLAVOR__V41*/ meltfptr[40] = melt_multiple_nth ((melt_ptr_t) ( /*_.FLAVOR__V2*/ meltfptr[1]), /*_#FLAVIX__L17*/ meltfnum[9]); #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4227:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L18*/ meltfnum[17] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4227:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L18*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L19*/ meltfnum[18] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4227:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L19*/ meltfnum[18]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4227; /*^apply.arg */ argtab[3].meltbp_cstring = "translateinitmodule_flavored before module generation basnam="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BASNAM__V14*/ meltfptr[9]; /*^apply.arg */ argtab[5].meltbp_cstring = " outbase="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OUTBASE__V39*/ meltfptr[38]; /*^apply.arg */ argtab[7].meltbp_cstring = " curflavor="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.CURFLAVOR__V41*/ meltfptr[40]; /*_.MELT_DEBUG_FUN__V44*/ meltfptr[43] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V43*/ meltfptr[42] = /*_.MELT_DEBUG_FUN__V44*/ meltfptr[43];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4227:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L19*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V44*/ meltfptr[43] = 0; } ; } else { /*^cond.else */ /*_.IF___V43*/ meltfptr[42] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4227:/ quasiblock"); /*_.PROGN___V45*/ meltfptr[43] = /*_.IF___V43*/ meltfptr[42];; /*^compute */ /*_.IFCPP___V42*/ meltfptr[41] = /*_.PROGN___V45*/ meltfptr[43];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4227:/ clear"); /*clear *//*_#MELT_NEED_DBG__L18*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.IF___V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.PROGN___V45*/ meltfptr[43] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V42*/ meltfptr[41] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:4229:/ locexp"); /*generate_flavored_melt_module */ melt_compile_source (melt_string_str ((melt_ptr_t) /*_.BASNAM__V14*/ meltfptr[9]), melt_string_str ((melt_ptr_t) /*_.OUTBASE__V39*/ meltfptr[38]), NULL, melt_string_str ((melt_ptr_t) /*_.CURFLAVOR__V41*/ meltfptr[40])); /*generate_flavored_melt_module */ ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4230:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L20*/ meltfnum[18] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4230:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L20*/ meltfnum[18]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L21*/ meltfnum[17] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4230:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L21*/ meltfnum[17]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4230; /*^apply.arg */ argtab[3].meltbp_cstring = "translateinitmodule_flavored after module generation basnam="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BASNAM__V14*/ meltfptr[9]; /*^apply.arg */ argtab[5].meltbp_cstring = " outbase="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OUTBASE__V39*/ meltfptr[38]; /*^apply.arg */ argtab[7].meltbp_cstring = " curflavor="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.CURFLAVOR__V41*/ meltfptr[40]; /*_.MELT_DEBUG_FUN__V48*/ meltfptr[47] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V47*/ meltfptr[43] = /*_.MELT_DEBUG_FUN__V48*/ meltfptr[47];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4230:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L21*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V48*/ meltfptr[47] = 0; } ; } else { /*^cond.else */ /*_.IF___V47*/ meltfptr[43] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4230:/ quasiblock"); /*_.PROGN___V49*/ meltfptr[47] = /*_.IF___V47*/ meltfptr[43];; /*^compute */ /*_.IFCPP___V46*/ meltfptr[42] = /*_.PROGN___V49*/ meltfptr[47];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4230:/ clear"); /*clear *//*_#MELT_NEED_DBG__L20*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_.IF___V47*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.PROGN___V49*/ meltfptr[47] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V46*/ meltfptr[42] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.IFELSE___V40*/ meltfptr[39] = /*_.IFCPP___V46*/ meltfptr[42];; if ( /*_#FLAVIX__L17*/ meltfnum[9] < 0) break; } /* end foreach_in_multiple meltcit1__EACHTUP */ /*citerepilog */ MELT_LOCATION ("warmelt-modes.melt:4224:/ clear"); /*clear *//*_.CURFLAVOR__V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_#FLAVIX__L17*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IFCPP___V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.IFCPP___V46*/ meltfptr[42] = 0; } /*endciterblock FOREACH_IN_MULTIPLE */ ; /*epilog */ } ; } else { MELT_LOCATION ("warmelt-modes.melt:4223:/ cond.else"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_STRING__L22*/ meltfnum[17] = (melt_magic_discr ((melt_ptr_t) ( /*_.FLAVOR__V2*/ meltfptr[1])) == MELTOBMAG_STRING);; MELT_LOCATION ("warmelt-modes.melt:4234:/ cond"); /*cond */ if ( /*_#IS_STRING__L22*/ meltfnum[17]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4235:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L23*/ meltfnum[18] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4235:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L23*/ meltfnum[18]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L24*/ meltfnum[23] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4235:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L24*/ meltfnum[23]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4235; /*^apply.arg */ argtab[3].meltbp_cstring = "translateinitmodule_flavored before module generation basnam="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BASNAM__V14*/ meltfptr[9]; /*^apply.arg */ argtab[5].meltbp_cstring = " outbase="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OUTBASE__V39*/ meltfptr[38]; /*^apply.arg */ argtab[7].meltbp_cstring = " flavor="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.FLAVOR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V53*/ meltfptr[52] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V52*/ meltfptr[51] = /*_.MELT_DEBUG_FUN__V53*/ meltfptr[52];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4235:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L24*/ meltfnum[23] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V53*/ meltfptr[52] = 0; } ; } else { /*^cond.else */ /*_.IF___V52*/ meltfptr[51] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4235:/ quasiblock"); /*_.PROGN___V54*/ meltfptr[52] = /*_.IF___V52*/ meltfptr[51];; /*^compute */ /*_.IFCPP___V51*/ meltfptr[47] = /*_.PROGN___V54*/ meltfptr[52];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4235:/ clear"); /*clear *//*_#MELT_NEED_DBG__L23*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_.IF___V52*/ meltfptr[51] = 0; /*^clear */ /*clear *//*_.PROGN___V54*/ meltfptr[52] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V51*/ meltfptr[47] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:4237:/ locexp"); /*generate_flavored_melt_module */ melt_compile_source (melt_string_str ((melt_ptr_t) /*_.BASNAM__V14*/ meltfptr[9]), melt_string_str ((melt_ptr_t) /*_.OUTBASE__V39*/ meltfptr[38]), NULL, melt_string_str ((melt_ptr_t) /*_.FLAVOR__V2*/ meltfptr[1])); /*generate_flavored_melt_module */ ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4238:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L25*/ meltfnum[23] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4238:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L25*/ meltfnum[23]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L26*/ meltfnum[18] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4238:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L26*/ meltfnum[18]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4238; /*^apply.arg */ argtab[3].meltbp_cstring = "translateinitmodule_flavored after module generation basnam="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.BASNAM__V14*/ meltfptr[9]; /*^apply.arg */ argtab[5].meltbp_cstring = " outbase="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.OUTBASE__V39*/ meltfptr[38]; /*^apply.arg */ argtab[7].meltbp_cstring = " flavor="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & /*_.FLAVOR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V57*/ meltfptr[56] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V56*/ meltfptr[52] = /*_.MELT_DEBUG_FUN__V57*/ meltfptr[56];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4238:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L26*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V57*/ meltfptr[56] = 0; } ; } else { /*^cond.else */ /*_.IF___V56*/ meltfptr[52] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4238:/ quasiblock"); /*_.PROGN___V58*/ meltfptr[56] = /*_.IF___V56*/ meltfptr[52];; /*^compute */ /*_.IFCPP___V55*/ meltfptr[51] = /*_.PROGN___V58*/ meltfptr[56];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4238:/ clear"); /*clear *//*_#MELT_NEED_DBG__L25*/ meltfnum[23] = 0; /*^clear */ /*clear *//*_.IF___V56*/ meltfptr[52] = 0; /*^clear */ /*clear *//*_.PROGN___V58*/ meltfptr[56] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V55*/ meltfptr[51] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-modes.melt:4234:/ quasiblock"); /*_.PROGN___V59*/ meltfptr[52] = /*_.IFCPP___V55*/ meltfptr[51];; /*^compute */ /*_.IFELSE___V50*/ meltfptr[43] = /*_.PROGN___V59*/ meltfptr[52];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4234:/ clear"); /*clear *//*_.IFCPP___V51*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.IFCPP___V55*/ meltfptr[51] = 0; /*^clear */ /*clear *//*_.PROGN___V59*/ meltfptr[52] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4242:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L27*/ meltfnum[18] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4242:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L27*/ meltfnum[18]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L28*/ meltfnum[23] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4242:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L28*/ meltfnum[23]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4242; /*^apply.arg */ argtab[3].meltbp_cstring = "translateinitmodule_flavored bad flavor="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.FLAVOR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V62*/ meltfptr[51] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V61*/ meltfptr[47] = /*_.MELT_DEBUG_FUN__V62*/ meltfptr[51];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4242:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L28*/ meltfnum[23] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V62*/ meltfptr[51] = 0; } ; } else { /*^cond.else */ /*_.IF___V61*/ meltfptr[47] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4242:/ quasiblock"); /*_.PROGN___V63*/ meltfptr[52] = /*_.IF___V61*/ meltfptr[47];; /*^compute */ /*_.IFCPP___V60*/ meltfptr[56] = /*_.PROGN___V63*/ meltfptr[52];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4242:/ clear"); /*clear *//*_#MELT_NEED_DBG__L27*/ meltfnum[18] = 0; /*^clear */ /*clear *//*_.IF___V61*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.PROGN___V63*/ meltfptr[52] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V60*/ meltfptr[56] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; { MELT_LOCATION ("warmelt-modes.melt:4243:/ locexp"); error ("MELT ERROR MSG [#%ld]::: %s", melt_dbgcounter, ("bad flavor for translating initial module")); } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4244:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if (( /*nil */ NULL)) /*then */ { /*^cond.then */ /*_.IFELSE___V65*/ meltfptr[47] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:4244:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("translateinitmodule_flavored bad flavor"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (4244) ? (4244) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V65*/ meltfptr[47] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V64*/ meltfptr[51] = /*_.IFELSE___V65*/ meltfptr[47];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4244:/ clear"); /*clear *//*_.IFELSE___V65*/ meltfptr[47] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V64*/ meltfptr[51] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-modes.melt:4241:/ quasiblock"); /*_.PROGN___V66*/ meltfptr[52] = /*_.IFCPP___V64*/ meltfptr[51];; /*^compute */ /*_.IFELSE___V50*/ meltfptr[43] = /*_.PROGN___V66*/ meltfptr[52];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4234:/ clear"); /*clear *//*_.IFCPP___V60*/ meltfptr[56] = 0; /*^clear */ /*clear *//*_.IFCPP___V64*/ meltfptr[51] = 0; /*^clear */ /*clear *//*_.PROGN___V66*/ meltfptr[52] = 0; } ; } ; /*_.IFELSE___V40*/ meltfptr[39] = /*_.IFELSE___V50*/ meltfptr[43];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4223:/ clear"); /*clear *//*_#IS_STRING__L22*/ meltfnum[17] = 0; /*^clear */ /*clear *//*_.IFELSE___V50*/ meltfptr[43] = 0; } ; } ; /*_.LET___V38*/ meltfptr[24] = /*_.IFELSE___V40*/ meltfptr[39];; MELT_LOCATION ("warmelt-modes.melt:4219:/ clear"); /*clear *//*_.OUTBASE__V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_#IS_MULTIPLE__L16*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.IFELSE___V40*/ meltfptr[39] = 0; /*_.LET___V3*/ meltfptr[2] = /*_.LET___V38*/ meltfptr[24];; MELT_LOCATION ("warmelt-modes.melt:4163:/ clear"); /*clear *//*_.RLIST__V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_?*/ meltfram__.loc_CSTRING__o0 = 0; /*^clear */ /*clear *//*_?*/ meltfram__.loc_CSTRING__o1 = 0; /*^clear */ /*clear *//*_.INARG__V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_?*/ meltfram__.loc_CSTRING__o2 = 0; /*^clear */ /*clear *//*_.OUTARG__V13*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_#IS_STRING__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.BASNAM__V14*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.IFCPP___V19*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_#STRING_DYNLOADED_SUFFIXED__L7*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_#OR___L8*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V23*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_#IS_STRING__L12*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IFELSE___V26*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V33*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.COMPILE_LIST_SEXPR__V37*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.LET___V38*/ meltfptr[24] = 0; MELT_LOCATION ("warmelt-modes.melt:4162:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V3*/ meltfptr[2];; { MELT_LOCATION ("warmelt-modes.melt:4162:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.LET___V3*/ meltfptr[2] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("TRANSLATEINIT_FLAVORED", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_68_warmelt_modes_TRANSLATEINIT_FLAVORED_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_68_warmelt_modes_TRANSLATEINIT_FLAVORED */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_69_warmelt_modes_LAMBDA___22__ (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_69_warmelt_modes_LAMBDA___22___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_69_warmelt_modes_LAMBDA___22___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 13 melt_ptr_t mcfr_varptr[13]; #define MELTFRAM_NBVARNUM 4 long mcfr_varnum[4]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_69_warmelt_modes_LAMBDA___22__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_69_warmelt_modes_LAMBDA___22___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 13; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_69_warmelt_modes_LAMBDA___22__ nbval 13*/ meltfram__.mcfr_nbvar = 13 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:4203:/ getarg"); /*_.CURARG__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { { MELT_LOCATION ("warmelt-modes.melt:4204:/ locexp"); inform (UNKNOWN_LOCATION, "MELT INFORM [#%ld]: %s - %s", melt_dbgcounter, ("reading from file"), melt_string_str ((melt_ptr_t) ( /*_.CURARG__V2*/ meltfptr[1]))); } ; MELT_LOCATION ("warmelt-modes.melt:4205:/ quasiblock"); /*_.CUREAD__V4*/ meltfptr[3] = (meltgc_read_file (melt_string_str ((melt_ptr_t) ( /*_.CURARG__V2*/ meltfptr[1])), (char *) 0));; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4207:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_LIST__L1*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) (( /*~RLIST */ meltfclos->tabval[0]))) == MELTOBMAG_LIST);; MELT_LOCATION ("warmelt-modes.melt:4207:/ cond"); /*cond */ if ( /*_#IS_LIST__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V6*/ meltfptr[5] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:4207:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check rlist"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (4207) ? (4207) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V6*/ meltfptr[5] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V5*/ meltfptr[4] = /*_.IFELSE___V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4207:/ clear"); /*clear *//*_#IS_LIST__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V6*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V5*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4208:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_LIST_OR_NULL__L2*/ meltfnum[0] = (( /*_.CUREAD__V4*/ meltfptr[3]) == NULL || (melt_unsafe_magic_discr ((melt_ptr_t) ( /*_.CUREAD__V4*/ meltfptr[3])) == MELTOBMAG_LIST));; MELT_LOCATION ("warmelt-modes.melt:4208:/ cond"); /*cond */ if ( /*_#IS_LIST_OR_NULL__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V8*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:4208:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check curead"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (4208) ? (4208) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V8*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V7*/ meltfptr[5] = /*_.IFELSE___V8*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4208:/ clear"); /*clear *//*_#IS_LIST_OR_NULL__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V8*/ meltfptr[7] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V7*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4209:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L3*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4209:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4209:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4209; /*^apply.arg */ argtab[3].meltbp_cstring = "translateinitmodule_flavored curead="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CUREAD__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V11*/ meltfptr[10] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V10*/ meltfptr[9] = /*_.MELT_DEBUG_FUN__V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4209:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V11*/ meltfptr[10] = 0; } ; } else { /*^cond.else */ /*_.IF___V10*/ meltfptr[9] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4209:/ quasiblock"); /*_.PROGN___V12*/ meltfptr[10] = /*_.IF___V10*/ meltfptr[9];; /*^compute */ /*_.IFCPP___V9*/ meltfptr[7] = /*_.PROGN___V12*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4209:/ clear"); /*clear *//*_#MELT_NEED_DBG__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V10*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.PROGN___V12*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V9*/ meltfptr[7] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4210:/ apply"); /*apply */ { union meltparam_un argtab[1]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.CUREAD__V4*/ meltfptr[3]; /*_.LIST_APPEND2LIST__V13*/ meltfptr[9] = melt_apply ((meltclosure_ptr_t) (( /*!LIST_APPEND2LIST */ meltfrout->tabval[1])), (melt_ptr_t) (( /*~RLIST */ meltfclos->tabval[0])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.LET___V3*/ meltfptr[2] = /*_.LIST_APPEND2LIST__V13*/ meltfptr[9];; MELT_LOCATION ("warmelt-modes.melt:4205:/ clear"); /*clear *//*_.CUREAD__V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.IFCPP___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V7*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V9*/ meltfptr[7] = 0; /*^clear */ /*clear *//*_.LIST_APPEND2LIST__V13*/ meltfptr[9] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4203:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V3*/ meltfptr[2];; { MELT_LOCATION ("warmelt-modes.melt:4203:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.LET___V3*/ meltfptr[2] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_69_warmelt_modes_LAMBDA___22___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_69_warmelt_modes_LAMBDA___22__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_70_warmelt_modes_TRANSLATEINITMODULE_DOCMD (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_70_warmelt_modes_TRANSLATEINITMODULE_DOCMD_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_70_warmelt_modes_TRANSLATEINITMODULE_DOCMD_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 10 melt_ptr_t mcfr_varptr[10]; #define MELTFRAM_NBVARNUM 2 long mcfr_varnum[2]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_70_warmelt_modes_TRANSLATEINITMODULE_DOCMD is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_70_warmelt_modes_TRANSLATEINITMODULE_DOCMD_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 10; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_70_warmelt_modes_TRANSLATEINITMODULE_DOCMD nbval 10*/ meltfram__.mcfr_nbvar = 10 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("TRANSLATEINITMODULE_DOCMD", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:4251:/ getarg"); /*_.CMD__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MODULDATA__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MODULDATA__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4252:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4252:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4252:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4252; /*^apply.arg */ argtab[3].meltbp_cstring = "start translateinitmodule_mode cmd="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CMD__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " moduldata="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.MODULDATA__V3*/ meltfptr[2]; /*^apply.arg */ argtab[7].meltbp_cstring = " initial_environment="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & ( /*!INITIAL_ENVIRONMENT */ meltfrout-> tabval[1]); /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4252:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4252:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4252:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-modes.melt:4254:/ blockmultialloc"); /*multiallocblock */ { struct meltletrec_1_st { struct MELT_MULTIPLE_STRUCT (3) rtup_0__TUPLREC__x2; long meltletrec_1_endgap; } *meltletrec_1_ptr = 0; meltletrec_1_ptr = (struct meltletrec_1_st *) meltgc_allocate (sizeof (struct meltletrec_1_st), 0); /*^blockmultialloc.initfill */ /*inimult rtup_0__TUPLREC__x2 */ /*_.TUPLREC___V9*/ meltfptr[5] = (melt_ptr_t) & meltletrec_1_ptr->rtup_0__TUPLREC__x2; meltletrec_1_ptr->rtup_0__TUPLREC__x2.discr = (meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_MULTIPLE)))); meltletrec_1_ptr->rtup_0__TUPLREC__x2.nbval = 3; /*^putuple */ /*putupl#4 */ melt_assertmsg ("putupl [:4254] #4 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V9*/ meltfptr[5])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:4254] #4 checkoff", (0 >= 0 && 0 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V9*/ meltfptr[5])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V9*/ meltfptr[5]))->tabval[0] = (melt_ptr_t) (( /*!konst_3 */ meltfrout->tabval[3])); ; /*^putuple */ /*putupl#5 */ melt_assertmsg ("putupl [:4254] #5 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V9*/ meltfptr[5])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:4254] #5 checkoff", (1 >= 0 && 1 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V9*/ meltfptr[5])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V9*/ meltfptr[5]))->tabval[1] = (melt_ptr_t) (( /*!konst_4 */ meltfrout->tabval[4])); ; /*^putuple */ /*putupl#6 */ melt_assertmsg ("putupl [:4254] #6 checktup", melt_magic_discr ((melt_ptr_t) ( /*_.TUPLREC___V9*/ meltfptr[5])) == MELTOBMAG_MULTIPLE); melt_assertmsg ("putupl [:4254] #6 checkoff", (2 >= 0 && 2 < melt_multiple_length ((melt_ptr_t) ( /*_.TUPLREC___V9*/ meltfptr[5])))); ((meltmultiple_ptr_t) ( /*_.TUPLREC___V9*/ meltfptr[5]))->tabval[2] = (melt_ptr_t) (( /*!konst_5 */ meltfrout->tabval[5])); ; /*^touch */ meltgc_touch ( /*_.TUPLREC___V9*/ meltfptr[5]); ; /*_.TUPLE___V8*/ meltfptr[4] = /*_.TUPLREC___V9*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4254:/ clear"); /*clear *//*_.TUPLREC___V9*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.TUPLREC___V9*/ meltfptr[5] = 0; } /*end multiallocblock */ ; MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.TRANSLATEINIT_FLAVORED__V10*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!TRANSLATEINIT_FLAVORED */ meltfrout->tabval[2])), (melt_ptr_t) ( /*_.TUPLE___V8*/ meltfptr[4]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4251:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.TRANSLATEINIT_FLAVORED__V10*/ meltfptr[5];; { MELT_LOCATION ("warmelt-modes.melt:4251:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.TUPLE___V8*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.TRANSLATEINIT_FLAVORED__V10*/ meltfptr[5] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("TRANSLATEINITMODULE_DOCMD", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_70_warmelt_modes_TRANSLATEINITMODULE_DOCMD_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_70_warmelt_modes_TRANSLATEINITMODULE_DOCMD */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_71_warmelt_modes_TRANSLATEINITMODULEQUICKLYBUILT_DOCMD (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_71_warmelt_modes_TRANSLATEINITMODULEQUICKLYBUILT_DOCMD_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_71_warmelt_modes_TRANSLATEINITMODULEQUICKLYBUILT_DOCMD_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 8 melt_ptr_t mcfr_varptr[8]; #define MELTFRAM_NBVARNUM 2 long mcfr_varnum[2]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_71_warmelt_modes_TRANSLATEINITMODULEQUICKLYBUILT_DOCMD is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_71_warmelt_modes_TRANSLATEINITMODULEQUICKLYBUILT_DOCMD_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 8; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_71_warmelt_modes_TRANSLATEINITMODULEQUICKLYBUILT_DOCMD nbval 8*/ meltfram__.mcfr_nbvar = 8 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("TRANSLATEINITMODULEQUICKLYBUILT_DOCMD", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:4271:/ getarg"); /*_.CMD__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MODULDATA__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MODULDATA__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4272:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4272:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4272:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4272; /*^apply.arg */ argtab[3].meltbp_cstring = "start translateinitmodulequicklybuild_mode cmd="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CMD__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " moduldata="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.MODULDATA__V3*/ meltfptr[2]; /*^apply.arg */ argtab[7].meltbp_cstring = " initial_environment="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & ( /*!INITIAL_ENVIRONMENT */ meltfrout-> tabval[1]); /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4272:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4272:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4272:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4274:/ apply"); /*apply */ { /*_.TRANSLATEINIT_FLAVORED__V8*/ meltfptr[4] = melt_apply ((meltclosure_ptr_t) (( /*!TRANSLATEINIT_FLAVORED */ meltfrout->tabval[2])), (melt_ptr_t) (( /*!konst_3 */ meltfrout->tabval[3])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4271:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.TRANSLATEINIT_FLAVORED__V8*/ meltfptr[4];; { MELT_LOCATION ("warmelt-modes.melt:4271:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.TRANSLATEINIT_FLAVORED__V8*/ meltfptr[4] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("TRANSLATEINITMODULEQUICKLYBUILT_DOCMD", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_71_warmelt_modes_TRANSLATEINITMODULEQUICKLYBUILT_DOCMD_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_71_warmelt_modes_TRANSLATEINITMODULEQUICKLYBUILT_DOCMD */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_72_warmelt_modes_TRANSLATEINITMODULEDEBUGNOLINE_DOCMD (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_72_warmelt_modes_TRANSLATEINITMODULEDEBUGNOLINE_DOCMD_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_72_warmelt_modes_TRANSLATEINITMODULEDEBUGNOLINE_DOCMD_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 8 melt_ptr_t mcfr_varptr[8]; #define MELTFRAM_NBVARNUM 2 long mcfr_varnum[2]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_72_warmelt_modes_TRANSLATEINITMODULEDEBUGNOLINE_DOCMD is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_72_warmelt_modes_TRANSLATEINITMODULEDEBUGNOLINE_DOCMD_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 8; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_72_warmelt_modes_TRANSLATEINITMODULEDEBUGNOLINE_DOCMD nbval 8*/ meltfram__.mcfr_nbvar = 8 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("TRANSLATEINITMODULEDEBUGNOLINE_DOCMD", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:4289:/ getarg"); /*_.CMD__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MODULDATA__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MODULDATA__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4290:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4290:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4290:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4290; /*^apply.arg */ argtab[3].meltbp_cstring = "start translateinitmodulequicklybuild_mode cmd="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CMD__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " moduldata="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.MODULDATA__V3*/ meltfptr[2]; /*^apply.arg */ argtab[7].meltbp_cstring = " initial_environment="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & ( /*!INITIAL_ENVIRONMENT */ meltfrout-> tabval[1]); /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4290:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4290:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4290:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4292:/ apply"); /*apply */ { /*_.TRANSLATEINIT_FLAVORED__V8*/ meltfptr[4] = melt_apply ((meltclosure_ptr_t) (( /*!TRANSLATEINIT_FLAVORED */ meltfrout->tabval[2])), (melt_ptr_t) (( /*!konst_3 */ meltfrout->tabval[3])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4289:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.TRANSLATEINIT_FLAVORED__V8*/ meltfptr[4];; { MELT_LOCATION ("warmelt-modes.melt:4289:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.TRANSLATEINIT_FLAVORED__V8*/ meltfptr[4] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("TRANSLATEINITMODULEDEBUGNOLINE_DOCMD", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_72_warmelt_modes_TRANSLATEINITMODULEDEBUGNOLINE_DOCMD_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_72_warmelt_modes_TRANSLATEINITMODULEDEBUGNOLINE_DOCMD */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_73_warmelt_modes_TRANSLATEINITMODULEOPTIMIZED_DOCMD (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_73_warmelt_modes_TRANSLATEINITMODULEOPTIMIZED_DOCMD_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_73_warmelt_modes_TRANSLATEINITMODULEOPTIMIZED_DOCMD_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 8 melt_ptr_t mcfr_varptr[8]; #define MELTFRAM_NBVARNUM 2 long mcfr_varnum[2]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_73_warmelt_modes_TRANSLATEINITMODULEOPTIMIZED_DOCMD is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_73_warmelt_modes_TRANSLATEINITMODULEOPTIMIZED_DOCMD_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 8; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_73_warmelt_modes_TRANSLATEINITMODULEOPTIMIZED_DOCMD nbval 8*/ meltfram__.mcfr_nbvar = 8 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("TRANSLATEINITMODULEOPTIMIZED_DOCMD", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:4307:/ getarg"); /*_.CMD__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MODULDATA__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MODULDATA__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4308:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L1*/ meltfnum[0] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4308:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4308:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4308; /*^apply.arg */ argtab[3].meltbp_cstring = "start translateinitmodulequicklybuild_mode cmd="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CMD__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " moduldata="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.MODULDATA__V3*/ meltfptr[2]; /*^apply.arg */ argtab[7].meltbp_cstring = " initial_environment="; /*^apply.arg */ argtab[8].meltbp_aptr = (melt_ptr_t *) & ( /*!INITIAL_ENVIRONMENT */ meltfrout-> tabval[1]); /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4308:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4308:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4308:/ clear"); /*clear *//*_#MELT_NEED_DBG__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4310:/ apply"); /*apply */ { /*_.TRANSLATEINIT_FLAVORED__V8*/ meltfptr[4] = melt_apply ((meltclosure_ptr_t) (( /*!TRANSLATEINIT_FLAVORED */ meltfrout->tabval[2])), (melt_ptr_t) (( /*!konst_3 */ meltfrout->tabval[3])), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4307:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.TRANSLATEINIT_FLAVORED__V8*/ meltfptr[4];; { MELT_LOCATION ("warmelt-modes.melt:4307:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.TRANSLATEINIT_FLAVORED__V8*/ meltfptr[4] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("TRANSLATEINITMODULEOPTIMIZED_DOCMD", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_73_warmelt_modes_TRANSLATEINITMODULEOPTIMIZED_DOCMD_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_73_warmelt_modes_TRANSLATEINITMODULEOPTIMIZED_DOCMD */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_74_warmelt_modes_REGISTER_INPUT_CHANNEL_HANDLER (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_74_warmelt_modes_REGISTER_INPUT_CHANNEL_HANDLER_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_74_warmelt_modes_REGISTER_INPUT_CHANNEL_HANDLER_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 19 melt_ptr_t mcfr_varptr[19]; #define MELTFRAM_NBVARNUM 10 long mcfr_varnum[10]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_74_warmelt_modes_REGISTER_INPUT_CHANNEL_HANDLER is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_74_warmelt_modes_REGISTER_INPUT_CHANNEL_HANDLER_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 19; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_74_warmelt_modes_REGISTER_INPUT_CHANNEL_HANDLER nbval 19*/ meltfram__.mcfr_nbvar = 19 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("REGISTER_INPUT_CHANNEL_HANDLER", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:4326:/ getarg"); /*_.CLOS__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.DATA__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.DATA__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_LONG) goto lab_endgetargs; /*_#INCHFD__L1*/ meltfnum[0] = meltxargtab_[1].meltbp_long; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4337:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L2*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4337:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4337:/ apply"); /*apply */ { union meltparam_un argtab[9]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4337; /*^apply.arg */ argtab[3].meltbp_cstring = "register_input_channel_handler clos="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOS__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " data="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.DATA__V3*/ meltfptr[2]; /*^apply.arg */ argtab[7].meltbp_cstring = " inchfd="; /*^apply.arg */ argtab[8].meltbp_long = /*_#INCHFD__L1*/ meltfnum[0]; /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4337:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4337:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4337:/ clear"); /*clear *//*_#MELT_NEED_DBG__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-modes.melt:4339:/ quasiblock"); /*_#GOODINCHFD__L4*/ meltfnum[2] = 0;; MELT_CHECK_SIGNAL (); ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_CLOSURE__L5*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.CLOS__V2*/ meltfptr[1])) == MELTOBMAG_CLOSURE);; MELT_LOCATION ("warmelt-modes.melt:4340:/ cond"); /*cond */ if ( /*_#IS_CLOSURE__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#I__L7*/ meltfnum[6] = (( /*_#INCHFD__L1*/ meltfnum[0]) >= (0));; /*^compute */ /*_#IF___L6*/ meltfnum[5] = /*_#I__L7*/ meltfnum[6];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4340:/ clear"); /*clear *//*_#I__L7*/ meltfnum[6] = 0; } ; } else { /*^cond.else */ /*_#IF___L6*/ meltfnum[5] = 0;; } ; MELT_LOCATION ("warmelt-modes.melt:4340:/ cond"); /*cond */ if ( /*_#IF___L6*/ meltfnum[5]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:4344:/ locexp"); /*register_input_channel_handler STATINCHFDCHK__1 */ { struct stat STATINCHFDCHK__1_stat; memset (&STATINCHFDCHK__1_stat, 0, sizeof (struct stat)); if (fstat ( /*_#INCHFD__L1*/ meltfnum[0], &STATINCHFDCHK__1_stat)) warning (0, "MELT bad registered input channel fd#%d - %s", (int) /*_#INCHFD__L1*/ meltfnum[0], xstrerror (errno)); else /*_#GOODINCHFD__L4*/ meltfnum[2] = 1; } /* end STATINCHFDCHK__1 */ ; } ; /*epilog */ } ; } /*noelse */ ; MELT_CHECK_SIGNAL (); ; /*_#NOT__L8*/ meltfnum[6] = (!( /*_#GOODINCHFD__L4*/ meltfnum[2]));; MELT_LOCATION ("warmelt-modes.melt:4354:/ cond"); /*cond */ if ( /*_#NOT__L8*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-modes.melt:4354:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.IF___V9*/ meltfptr[5] = /*_.RETURN___V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4354:/ clear"); /*clear *//*_.RETURN___V10*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*_.IF___V9*/ meltfptr[5] = NULL;; } ; /*^compute */ /*_.LET___V8*/ meltfptr[4] = /*_.IF___V9*/ meltfptr[5];; MELT_LOCATION ("warmelt-modes.melt:4339:/ clear"); /*clear *//*_#GOODINCHFD__L4*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_#IS_CLOSURE__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_#IF___L6*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_#NOT__L8*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IF___V9*/ meltfptr[5] = 0; MELT_LOCATION ("warmelt-modes.melt:4355:/ quasiblock"); /*_.INSBUF__V11*/ meltfptr[9] = (melt_ptr_t) meltgc_new_strbuf ((meltobject_ptr_t) (( /*!DISCR_STRBUF */ meltfrout->tabval[1])), (const char *) 0);; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4356:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_INPUT_CHANNEL_HANDLER */ meltfrout->tabval[2])), (4), "CLASS_INPUT_CHANNEL_HANDLER"); /*_.INST__V13*/ meltfptr[12] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @INCH_SBUF", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V13*/ meltfptr[12])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V13*/ meltfptr[12]), (1), ( /*_.INSBUF__V11*/ meltfptr[9]), "INCH_SBUF"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @INCH_CLOS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V13*/ meltfptr[12])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V13*/ meltfptr[12]), (2), ( /*_.CLOS__V2*/ meltfptr[1]), "INCH_CLOS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @INCH_DATA", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V13*/ meltfptr[12])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V13*/ meltfptr[12]), (3), ( /*_.DATA__V3*/ meltfptr[2]), "INCH_DATA"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V13*/ meltfptr[12], "newly made instance"); ; /*_.INCHDLR__V12*/ meltfptr[5] = /*_.INST__V13*/ meltfptr[12];; MELT_LOCATION ("warmelt-modes.melt:4360:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*!INITIAL_SYSTEM_DATA */ meltfrout->tabval[3])), (melt_ptr_t) (( /*!CLASS_SYSTEM_DATA */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) (( /*!INITIAL_SYSTEM_DATA */ meltfrout-> tabval[3])) /*=obj*/ ; melt_object_get_field (slot, obj, 36, "SYSDATA_INCHANNEL_DATA"); /*_.INBUCK__V14*/ meltfptr[13] = slot; }; ; } else { /*^cond.else */ /*_.INBUCK__V14*/ meltfptr[13] = NULL;; } ; { MELT_LOCATION ("warmelt-modes.melt:4362:/ locexp"); melt_put_int ((melt_ptr_t) ( /*_.INCHDLR__V12*/ meltfptr[5]), ( /*_#INCHFD__L1*/ meltfnum[0])); } ; MELT_CHECK_SIGNAL (); ; /*_#IS_BUCKETLONG__L9*/ meltfnum[2] = (melt_magic_discr ((melt_ptr_t) ( /*_.INBUCK__V14*/ meltfptr[13])) == MELTOBMAG_BUCKETLONGS);; /*^compute */ /*_#NOT__L10*/ meltfnum[1] = (!( /*_#IS_BUCKETLONG__L9*/ meltfnum[2]));; MELT_LOCATION ("warmelt-modes.melt:4363:/ cond"); /*cond */ if ( /*_#NOT__L10*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:4364:/ quasiblock"); /*_.NEWINBUCK__V17*/ meltfptr[16] = (meltgc_new_longsbucket ((meltobject_ptr_t) ( /*!DISCR_BUCKET_LONGS */ meltfrout->tabval[5]), (50)));; MELT_LOCATION ("warmelt-modes.melt:4366:/ compute"); /*_.INBUCK__V14*/ meltfptr[13] = /*_.SETQ___V18*/ meltfptr[17] = /*_.NEWINBUCK__V17*/ meltfptr[16];; /*_.LET___V16*/ meltfptr[15] = /*_.SETQ___V18*/ meltfptr[17];; MELT_LOCATION ("warmelt-modes.melt:4364:/ clear"); /*clear *//*_.NEWINBUCK__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.SETQ___V18*/ meltfptr[17] = 0; /*_.IF___V15*/ meltfptr[14] = /*_.LET___V16*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4363:/ clear"); /*clear *//*_.LET___V16*/ meltfptr[15] = 0; } ; } else { /*^cond.else */ /*_.IF___V15*/ meltfptr[14] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4367:/ quasiblock"); /*_.UPDATEDINBUCK__V19*/ meltfptr[16] = meltgc_longsbucket_put ((melt_ptr_t) /*_.INBUCK__V14*/ meltfptr[13], ( /*_#INCHFD__L1*/ meltfnum[0]), (melt_ptr_t) /*_.INCHDLR__V12*/ meltfptr[5]);; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4369:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*!INITIAL_SYSTEM_DATA */ meltfrout->tabval[3])), (melt_ptr_t) (( /*!CLASS_SYSTEM_DATA */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @SYSDATA_INCHANNEL_DATA", melt_magic_discr ((melt_ptr_t) (( /*!INITIAL_SYSTEM_DATA */ meltfrout->tabval[3]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*!INITIAL_SYSTEM_DATA */ meltfrout-> tabval[3])), (36), ( /*_.UPDATEDINBUCK__V19*/ meltfptr[16]), "SYSDATA_INCHANNEL_DATA"); ; /*^touch */ meltgc_touch (( /*!INITIAL_SYSTEM_DATA */ meltfrout->tabval[3])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*!INITIAL_SYSTEM_DATA */ meltfrout->tabval[3]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; { MELT_LOCATION ("warmelt-modes.melt:4372:/ locexp"); /* FCNTLINCHFDCHK__1 start */ if (fcntl ( /*_#INCHFD__L1*/ meltfnum[0], F_SETOWN, getpid ())) melt_fatal_error ("MELT failed to set ownership (F_SETOWN) fd #%d - %s", (int) /*_#INCHFD__L1*/ meltfnum[0], xstrerror (errno)); /* end FCNTLINCHFDCHK__1 */ ; } ; MELT_LOCATION ("warmelt-modes.melt:4367:/ clear"); /*clear *//*_.UPDATEDINBUCK__V19*/ meltfptr[16] = 0; MELT_LOCATION ("warmelt-modes.melt:4355:/ clear"); /*clear *//*_.INSBUF__V11*/ meltfptr[9] = 0; /*^clear */ /*clear *//*_.INCHDLR__V12*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.INBUCK__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_#IS_BUCKETLONG__L9*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_#NOT__L10*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V15*/ meltfptr[14] = 0; MELT_CHECK_SIGNAL (); ; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4326:/ clear"); /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_.LET___V8*/ meltfptr[4] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("REGISTER_INPUT_CHANNEL_HANDLER", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_74_warmelt_modes_REGISTER_INPUT_CHANNEL_HANDLER_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_74_warmelt_modes_REGISTER_INPUT_CHANNEL_HANDLER */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_75_warmelt_modes_HANDLE_ALARM_SIGNAL (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_75_warmelt_modes_HANDLE_ALARM_SIGNAL_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_75_warmelt_modes_HANDLE_ALARM_SIGNAL_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 41 melt_ptr_t mcfr_varptr[41]; #define MELTFRAM_NBVARNUM 19 long mcfr_varnum[19]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_75_warmelt_modes_HANDLE_ALARM_SIGNAL is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_75_warmelt_modes_HANDLE_ALARM_SIGNAL_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 41; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_75_warmelt_modes_HANDLE_ALARM_SIGNAL nbval 41*/ meltfram__.mcfr_nbvar = 41 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("HANDLE_ALARM_SIGNAL", meltcallcount); /*getargs*/ ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION ("warmelt-modes.melt:4384:/ block"); /*anyblock*/ { MELT_LOCATION ("warmelt-modes.melt:4385:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*!ALARM_BUCKET_REFERENCE */ meltfrout->tabval[0])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) (( /*!ALARM_BUCKET_REFERENCE */ meltfrout-> tabval[0])) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.ALARMBUCK__V2*/ meltfptr[1] = slot; }; ; } else { /*^cond.else */ /*_.ALARMBUCK__V2*/ meltfptr[1] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4386:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[1])), (1), "CLASS_REFERENCE"); /*_.INST__V4*/ meltfptr[3] = newobj; }; ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V4*/ meltfptr[3], "newly made instance"); ; /*_.GOTALARM_CONT__V3*/ meltfptr[2] = /*_.INST__V4*/ meltfptr[3];; /*^compute */ /*_#CURELTIM__L1*/ meltfnum[0] = melt_relative_time_millisec ();; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4389:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L2*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4389:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4389:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4389; /*^apply.arg */ argtab[3].meltbp_cstring = "handle_alarm_signal start alarmbuck="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.ALARMBUCK__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " cureltim="; /*^apply.arg */ argtab[6].meltbp_long = /*_#CURELTIM__L1*/ meltfnum[0]; /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V6*/ meltfptr[5] = /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4389:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = 0; } ; } else { /*^cond.else */ /*_.IF___V6*/ meltfptr[5] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4389:/ quasiblock"); /*_.PROGN___V8*/ meltfptr[6] = /*_.IF___V6*/ meltfptr[5];; /*^compute */ /*_.IFCPP___V5*/ meltfptr[4] = /*_.PROGN___V8*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4389:/ clear"); /*clear *//*_#MELT_NEED_DBG__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V6*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.PROGN___V8*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V5*/ meltfptr[4] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4390:/ cond"); /*cond */ if ( /*_.ALARMBUCK__V2*/ meltfptr[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[5] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:4390:/ cond.else"); /*^block */ /*anyblock */ { /*^quasiblock */ /*_.RETVAL___V1*/ meltfptr[0] = NULL;; { MELT_LOCATION ("warmelt-modes.melt:4390:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*^quasiblock */ /*_.PROGN___V11*/ meltfptr[10] = /*_.RETURN___V10*/ meltfptr[6];; /*^compute */ /*_.IFELSE___V9*/ meltfptr[5] = /*_.PROGN___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4390:/ clear"); /*clear *//*_.RETURN___V10*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.PROGN___V11*/ meltfptr[10] = 0; } ; } ; MELT_LOCATION ("warmelt-modes.melt:4391:/ loop"); /*loop */ { labloop_HANDLELOOP_1:; /*^loopbody */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4392:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_BUCKETLONG__L4*/ meltfnum[2] = (melt_magic_discr ((melt_ptr_t) ( /*_.ALARMBUCK__V2*/ meltfptr[1])) == MELTOBMAG_BUCKETLONGS);; MELT_LOCATION ("warmelt-modes.melt:4392:/ cond"); /*cond */ if ( /*_#IS_BUCKETLONG__L4*/ meltfnum[2]) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:4392:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check alarmbuck"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (4392) ? (4392) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[13] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4392:/ clear"); /*clear *//*_#IS_BUCKETLONG__L4*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[13] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4396:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V17*/ meltfptr[16] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_5 */ meltfrout-> tabval[5])), (1)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V17*/ meltfptr[16])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V17*/ meltfptr[16]))); ((meltclosure_ptr_t) /*_.LAMBDA___V17*/ meltfptr[16])->tabval[0] = (melt_ptr_t) ( /*_.GOTALARM_CONT__V3*/ meltfptr[2]); ; /*_.LAMBDA___V16*/ meltfptr[14] = /*_.LAMBDA___V17*/ meltfptr[16];; MELT_LOCATION ("warmelt-modes.melt:4394:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*!INITIAL_SYSTEM_DATA */ meltfrout->tabval[3])), (melt_ptr_t) (( /*!CLASS_SYSTEM_DATA */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @SYSDATA_ALARM_HOOK", melt_magic_discr ((melt_ptr_t) (( /*!INITIAL_SYSTEM_DATA */ meltfrout->tabval[3]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*!INITIAL_SYSTEM_DATA */ meltfrout-> tabval[3])), (37), ( /*_.LAMBDA___V16*/ meltfptr[14]), "SYSDATA_ALARM_HOOK"); ; /*^touch */ meltgc_touch (( /*!INITIAL_SYSTEM_DATA */ meltfrout-> tabval[3])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*!INITIAL_SYSTEM_DATA */ meltfrout->tabval[3]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; MELT_CHECK_SIGNAL (); ; /*_#BUCKETLONG_COUNT__L5*/ meltfnum[1] = melt_longsbucket_count ((melt_ptr_t) /*_.ALARMBUCK__V2*/ meltfptr[1]);; MELT_LOCATION ("warmelt-modes.melt:4397:/ cond"); /*cond */ if ( /*_#BUCKETLONG_COUNT__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V18*/ meltfptr[17] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:4397:/ cond.else"); /*^block */ /*anyblock */ { /*^quasiblock */ /*^compute */ /*_.HANDLELOOP__V13*/ meltfptr[10] = NULL;; /*^exit */ /*exit */ { goto labexit_HANDLELOOP_1; } ; /*^quasiblock */ /*epilog */ } ; } ; MELT_LOCATION ("warmelt-modes.melt:4398:/ quasiblock"); /*_#NEXTIM__L6*/ meltfnum[2] = melt_longsbucket_nth_key ((melt_ptr_t) /*_.ALARMBUCK__V2*/ meltfptr[1], (int) 0);; /*^compute */ /*_.NEXTALHD__V19*/ meltfptr[18] = melt_longsbucket_nth_val ((melt_ptr_t) /*_.ALARMBUCK__V2*/ meltfptr[1], (int) 0);; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4401:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L7*/ meltfnum[6] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4401:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4401:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4401; /*^apply.arg */ argtab[3].meltbp_cstring = "handle_alarm_signal nextim="; /*^apply.arg */ argtab[4].meltbp_long = /*_#NEXTIM__L6*/ meltfnum[2]; /*^apply.arg */ argtab[5].meltbp_cstring = " nextalhd="; /*^apply.arg */ argtab[6].meltbp_aptr = (melt_ptr_t *) & /*_.NEXTALHD__V19*/ meltfptr[18]; /*_.MELT_DEBUG_FUN__V22*/ meltfptr[21] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[2])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V21*/ meltfptr[20] = /*_.MELT_DEBUG_FUN__V22*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4401:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V22*/ meltfptr[21] = 0; } ; } else { /*^cond.else */ /*_.IF___V21*/ meltfptr[20] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4401:/ quasiblock"); /*_.PROGN___V23*/ meltfptr[21] = /*_.IF___V21*/ meltfptr[20];; /*^compute */ /*_.IFCPP___V20*/ meltfptr[19] = /*_.PROGN___V23*/ meltfptr[21];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4401:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IF___V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.PROGN___V23*/ meltfptr[21] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V20*/ meltfptr[19] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4402:/ cond"); /*cond */ if ( /*_#NEXTIM__L6*/ meltfnum[2]) /*then */ { /*^cond.then */ /*_.IFELSE___V24*/ meltfptr[20] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:4402:/ cond.else"); /*^block */ /*anyblock */ { /*^quasiblock */ /*^compute */ /*_.HANDLELOOP__V13*/ meltfptr[10] = NULL;; /*^exit */ /*exit */ { goto labexit_HANDLELOOP_1; } ; /*^quasiblock */ /*epilog */ } ; } ; MELT_CHECK_SIGNAL (); ; /*_#I__L9*/ meltfnum[7] = (( /*_#NEXTIM__L6*/ meltfnum[2]) > ( /*_#CURELTIM__L1*/ meltfnum[0]));; MELT_LOCATION ("warmelt-modes.melt:4403:/ cond"); /*cond */ if ( /*_#I__L9*/ meltfnum[7]) /*then */ { /*^cond.then */ /*_.IFELSE___V25*/ meltfptr[21] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:4403:/ cond.else"); /*^block */ /*anyblock */ { /*^quasiblock */ /*^compute */ /*_.HANDLELOOP__V13*/ meltfptr[10] = NULL;; /*^exit */ /*exit */ { goto labexit_HANDLELOOP_1; } ; /*^quasiblock */ /*epilog */ } ; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4404:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L10*/ meltfnum[6] = melt_is_instance_of ((melt_ptr_t) ( /*_.NEXTALHD__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_ALARM_HANDLER */ meltfrout->tabval[7])));; MELT_LOCATION ("warmelt-modes.melt:4404:/ cond"); /*cond */ if ( /*_#IS_A__L10*/ meltfnum[6]) /*then */ { /*^cond.then */ /*_.IFELSE___V27*/ meltfptr[26] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-modes.melt:4404:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check mextalhd"), ("warmelt-modes.melt") ? ("warmelt-modes.melt") : __FILE__, (4404) ? (4404) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V27*/ meltfptr[26] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V26*/ meltfptr[25] = /*_.IFELSE___V27*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4404:/ clear"); /*clear *//*_#IS_A__L10*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IFELSE___V27*/ meltfptr[26] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V26*/ meltfptr[25] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; /*^compute */ /*_.BUCKETLONG_REMOVE__V28*/ meltfptr[26] = meltgc_longsbucket_remove ((melt_ptr_t) /*_.ALARMBUCK__V2*/ meltfptr[1], ( /*_#NEXTIM__L6*/ meltfnum[2]));; MELT_LOCATION ("warmelt-modes.melt:4405:/ compute"); /*_.ALARMBUCK__V2*/ meltfptr[1] = /*_.SETQ___V29*/ meltfptr[28] = /*_.BUCKETLONG_REMOVE__V28*/ meltfptr[26];; MELT_LOCATION ("warmelt-modes.melt:4406:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NEXTALHD__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_ALARM_HANDLER */ meltfrout->tabval[7]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NEXTALHD__V19*/ meltfptr[18]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "ALARMH_CLOS"); /*_.CLOS__V31*/ meltfptr[30] = slot; }; ; } else { /*^cond.else */ /*_.CLOS__V31*/ meltfptr[30] = NULL;; } ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_CLOSURE__L11*/ meltfnum[6] = (melt_magic_discr ((melt_ptr_t) ( /*_.CLOS__V31*/ meltfptr[30])) == MELTOBMAG_CLOSURE);; MELT_LOCATION ("warmelt-modes.melt:4408:/ cond"); /*cond */ if ( /*_#IS_CLOSURE__L11*/ meltfnum[6]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:4409:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { /*_.RES__V34*/ meltfptr[33] = melt_apply ((meltclosure_ptr_t) ( /*_.CLOS__V31*/ meltfptr[30]), (melt_ptr_t) ( /*_.NEXTALHD__V19*/ meltfptr[18]), (""), (union meltparam_un *) 0, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4411:/ cond"); /*cond */ if ( /*_.RES__V34*/ meltfptr[33]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:4412:/ quasiblock"); /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.NEXTALHD__V19*/ meltfptr[18]), (melt_ptr_t) (( /*!CLASS_ALARM_HANDLER */ meltfrout->tabval[7]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.NEXTALHD__V19*/ meltfptr[18]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "ALARMH_PERIOD"); /*_.ALARMH_PERIOD__V37*/ meltfptr[36] = slot; }; ; } else { /*^cond.else */ /*_.ALARMH_PERIOD__V37*/ meltfptr[36] = NULL;; } ; /*^compute */ /*_#NEWPERIOD__L12*/ meltfnum[11] = (melt_get_int ((melt_ptr_t) ( /*_.ALARMH_PERIOD__V37*/ meltfptr[36])));; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#I__L13*/ meltfnum[12] = (( /*_#NEWPERIOD__L12*/ meltfnum[11]) > (10));; MELT_LOCATION ("warmelt-modes.melt:4414:/ cond"); /*cond */ if ( /*_#I__L13*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#I__L14*/ meltfnum[13] = (( /*_#NEWPERIOD__L12*/ meltfnum[11]) + ( /*_#CURELTIM__L1*/ meltfnum[0]));; /*^compute */ /*_.BUCKETLONG_PUT__V39*/ meltfptr[38] = meltgc_longsbucket_put ((melt_ptr_t) /*_.ALARMBUCK__V2*/ meltfptr[1], ( /*_#I__L14*/ meltfnum[13]), (melt_ptr_t) /*_.NEXTALHD__V19*/ meltfptr[18]);; MELT_LOCATION ("warmelt-modes.melt:4415:/ compute"); /*_.ALARMBUCK__V2*/ meltfptr[1] = /*_.SETQ___V40*/ meltfptr[39] = /*_.BUCKETLONG_PUT__V39*/ meltfptr[38];; /*_.IF___V38*/ meltfptr[37] = /*_.SETQ___V40*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4414:/ clear"); /*clear *//*_#I__L14*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.BUCKETLONG_PUT__V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.SETQ___V40*/ meltfptr[39] = 0; } ; } else { /*^cond.else */ /*_.IF___V38*/ meltfptr[37] = NULL;; } ; /*^compute */ /*_.LET___V36*/ meltfptr[35] = /*_.IF___V38*/ meltfptr[37];; MELT_LOCATION ("warmelt-modes.melt:4412:/ clear"); /*clear *//*_.ALARMH_PERIOD__V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_#NEWPERIOD__L12*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_#I__L13*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.IF___V38*/ meltfptr[37] = 0; /*_.IF___V35*/ meltfptr[34] = /*_.LET___V36*/ meltfptr[35];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4411:/ clear"); /*clear *//*_.LET___V36*/ meltfptr[35] = 0; } ; } else { /*^cond.else */ /*_.IF___V35*/ meltfptr[34] = NULL;; } ; /*^compute */ /*_.LET___V33*/ meltfptr[32] = /*_.IF___V35*/ meltfptr[34];; MELT_LOCATION ("warmelt-modes.melt:4409:/ clear"); /*clear *//*_.RES__V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.IF___V35*/ meltfptr[34] = 0; /*_.IF___V32*/ meltfptr[31] = /*_.LET___V33*/ meltfptr[32];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4408:/ clear"); /*clear *//*_.LET___V33*/ meltfptr[32] = 0; } ; } else { /*^cond.else */ /*_.IF___V32*/ meltfptr[31] = NULL;; } ; /*^compute */ /*_.LET___V30*/ meltfptr[29] = /*_.IF___V32*/ meltfptr[31];; MELT_LOCATION ("warmelt-modes.melt:4406:/ clear"); /*clear *//*_.CLOS__V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_#IS_CLOSURE__L11*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.IF___V32*/ meltfptr[31] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4418:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.GOTALARM_CONT__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.GOTALARM_CONT__V3*/ meltfptr[2]) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.REFERENCED_VALUE__V41*/ meltfptr[38] = slot; }; ; } else { /*^cond.else */ /*_.REFERENCED_VALUE__V41*/ meltfptr[38] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4418:/ cond"); /*cond */ if ( /*_.REFERENCED_VALUE__V41*/ meltfptr[38]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4419:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) ( /*_.GOTALARM_CONT__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) ( /*_.GOTALARM_CONT__V3*/ meltfptr[2])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.GOTALARM_CONT__V3*/ meltfptr[2]), (0), (( /*nil */ NULL)), "REFERENCED_VALUE"); ; /*^touch */ meltgc_touch ( /*_.GOTALARM_CONT__V3*/ meltfptr[2]); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.GOTALARM_CONT__V3*/ meltfptr[2], "put-fields"); ; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-modes.melt:4420:/ again"); /*again */ { goto labloop_HANDLELOOP_1; } ; MELT_LOCATION ("warmelt-modes.melt:4418:/ quasiblock"); /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-modes.melt:4398:/ clear"); /*clear *//*_#NEXTIM__L6*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.NEXTALHD__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.IFCPP___V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.IFELSE___V24*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_#I__L9*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.IFELSE___V25*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.IFCPP___V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.BUCKETLONG_REMOVE__V28*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.SETQ___V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.LET___V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.REFERENCED_VALUE__V41*/ meltfptr[38] = 0; MELT_CHECK_SIGNAL (); ; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4391:/ clear"); /*clear *//*_.IFCPP___V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.LAMBDA___V16*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_#BUCKETLONG_COUNT__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IFELSE___V18*/ meltfptr[17] = 0; } ; ; goto labloop_HANDLELOOP_1; labexit_HANDLELOOP_1:; /*^loopepilog */ /*loopepilog */ /*_.FOREVER___V12*/ meltfptr[6] = /*_.HANDLELOOP__V13*/ meltfptr[10];; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4422:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*!ALARM_BUCKET_REFERENCE */ meltfrout->tabval[0])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) (( /*!ALARM_BUCKET_REFERENCE */ meltfrout->tabval[0]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*!ALARM_BUCKET_REFERENCE */ meltfrout-> tabval[0])), (0), ( /*_.ALARMBUCK__V2*/ meltfptr[1]), "REFERENCED_VALUE"); ; /*^touch */ meltgc_touch (( /*!ALARM_BUCKET_REFERENCE */ meltfrout->tabval[0])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*!ALARM_BUCKET_REFERENCE */ meltfrout->tabval[0]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-modes.melt:4423:/ quasiblock"); /*_#NOWTIM__L15*/ meltfnum[13] = melt_relative_time_millisec ();; /*^compute */ /*_#NEXTALARM__L16*/ meltfnum[11] = melt_longsbucket_nth_key ((melt_ptr_t) /*_.ALARMBUCK__V2*/ meltfptr[1], (int) 0);; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4426:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*!INITIAL_SYSTEM_DATA */ meltfrout->tabval[3])), (melt_ptr_t) (( /*!CLASS_SYSTEM_DATA */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @SYSDATA_ALARM_HOOK", melt_magic_discr ((melt_ptr_t) (( /*!INITIAL_SYSTEM_DATA */ meltfrout->tabval[3]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*!INITIAL_SYSTEM_DATA */ meltfrout-> tabval[3])), (37), (( /*!HANDLE_ALARM_SIGNAL */ meltfrout-> tabval[8])), "SYSDATA_ALARM_HOOK"); ; /*^touch */ meltgc_touch (( /*!INITIAL_SYSTEM_DATA */ meltfrout->tabval[3])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*!INITIAL_SYSTEM_DATA */ meltfrout->tabval[3]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; MELT_CHECK_SIGNAL (); ; /*_#I__L17*/ meltfnum[12] = (( /*_#NEXTALARM__L16*/ meltfnum[11]) > ( /*_#NOWTIM__L15*/ meltfnum[13]));; MELT_LOCATION ("warmelt-modes.melt:4428:/ cond"); /*cond */ if ( /*_#I__L17*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#I__L18*/ meltfnum[6] = (( /*_#NEXTALARM__L16*/ meltfnum[11]) - ( /*_#NOWTIM__L15*/ meltfnum[13]));; { MELT_LOCATION ("warmelt-modes.melt:4430:/ locexp"); melt_set_real_timer_millisec ( /*_#I__L18*/ meltfnum[6]); } ; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4428:/ clear"); /*clear *//*_#I__L18*/ meltfnum[6] = 0; } ; } else { /*^cond.else */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#I__L19*/ meltfnum[2] = (( /*_#NEXTALARM__L16*/ meltfnum[11]) > (0));; MELT_LOCATION ("warmelt-modes.melt:4431:/ cond"); /*cond */ if ( /*_#I__L19*/ meltfnum[2]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:4433:/ locexp"); melt_set_real_timer_millisec (30); } ; /*epilog */ } ; } else { MELT_LOCATION ("warmelt-modes.melt:4431:/ cond.else"); /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-modes.melt:4436:/ locexp"); melt_set_real_timer_millisec (0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4437:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*!INITIAL_SYSTEM_DATA */ meltfrout->tabval[3])), (melt_ptr_t) (( /*!CLASS_SYSTEM_DATA */ meltfrout->tabval[6]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @SYSDATA_ALARM_HOOK", melt_magic_discr ((melt_ptr_t) (( /*!INITIAL_SYSTEM_DATA */ meltfrout->tabval[3]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*!INITIAL_SYSTEM_DATA */ meltfrout->tabval[3])), (37), (( /*nil */ NULL)), "SYSDATA_ALARM_HOOK"); ; /*^touch */ meltgc_touch (( /*!INITIAL_SYSTEM_DATA */ meltfrout-> tabval[3])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*!INITIAL_SYSTEM_DATA */ meltfrout->tabval[3]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-modes.melt:4434:/ quasiblock"); /*epilog */ } ; } ; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4428:/ clear"); /*clear *//*_#I__L19*/ meltfnum[2] = 0; } ; } ; MELT_LOCATION ("warmelt-modes.melt:4423:/ clear"); /*clear *//*_#NOWTIM__L15*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_#NEXTALARM__L16*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_#I__L17*/ meltfnum[12] = 0; MELT_LOCATION ("warmelt-modes.melt:4385:/ clear"); /*clear *//*_.ALARMBUCK__V2*/ meltfptr[1] = 0; /*^clear */ /*clear *//*_.GOTALARM_CONT__V3*/ meltfptr[2] = 0; /*^clear */ /*clear *//*_#CURELTIM__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFCPP___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[5] = 0; /*^clear */ /*clear *//*_.FOREVER___V12*/ meltfptr[6] = 0; /*epilog */ } ; goto labend_rout; labend_rout: melt_trace_end ("HANDLE_ALARM_SIGNAL", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_75_warmelt_modes_HANDLE_ALARM_SIGNAL_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_75_warmelt_modes_HANDLE_ALARM_SIGNAL */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_76_warmelt_modes_LAMBDA___23__ (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_76_warmelt_modes_LAMBDA___23___melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_76_warmelt_modes_LAMBDA___23___st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 1 melt_ptr_t mcfr_varptr[1]; /*no varnum*/ #define MELTFRAM_NBVARNUM /*none*/0 /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_76_warmelt_modes_LAMBDA___23__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_76_warmelt_modes_LAMBDA___23___st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 1; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_76_warmelt_modes_LAMBDA___23__ nbval 1*/ meltfram__.mcfr_nbvar = 1 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("LAMBDA_", meltcallcount); /*getargs*/ ; goto lab_endgetargs; lab_endgetargs:; /*body*/ MELT_LOCATION ("warmelt-modes.melt:4396:/ block"); /*anyblock*/ { MELT_CHECK_SIGNAL (); ; /*^cond */ /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*~GOTALARM_CONT */ meltfclos-> tabval[0])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[1]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) (( /*~GOTALARM_CONT */ meltfclos-> tabval[0]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*~GOTALARM_CONT */ meltfclos->tabval[0])), (0), (( /*!konst_0_TRUE */ meltfrout->tabval[0])), "REFERENCED_VALUE"); ; /*^touch */ meltgc_touch (( /*~GOTALARM_CONT */ meltfclos->tabval[0])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*~GOTALARM_CONT */ meltfclos-> tabval[0]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; /*epilog */ } ; goto labend_rout; labend_rout: melt_trace_end ("LAMBDA_", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_76_warmelt_modes_LAMBDA___23___melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*noretval */ NULL); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_76_warmelt_modes_LAMBDA___23__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_77_warmelt_modes_REGISTER_ALARM_TIMER (meltclosure_ptr_t 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_) { long current_blocklevel_signals_meltrout_77_warmelt_modes_REGISTER_ALARM_TIMER_melt = melt_blocklevel_signals; #if MELT_HAVE_DEBUG static long call_counter__; long thiscallcounter__ ATTRIBUTE_UNUSED = ++call_counter__; #undef meltcallcount #define meltcallcount thiscallcounter__ #else #undef meltcallcount #define meltcallcount 0L #endif struct frame_meltrout_77_warmelt_modes_REGISTER_ALARM_TIMER_st { int mcfr_nbvar; #if MELT_HAVE_DEBUG const char *mcfr_flocs; #else /*!MELT_HAVE_DEBUG */ const char *mcfr_unusedflocs; #endif /*MELT_HAVE_DEBUG */ struct meltclosure_st *mcfr_clos; struct excepth_melt_st *mcfr_exh; struct melt_callframe_st *mcfr_prev; #undef MELTFRAM_NBVARPTR #undef MELTFRAM_NBVARNUM #define MELTFRAM_NBVARPTR 21 melt_ptr_t mcfr_varptr[21]; #define MELTFRAM_NBVARNUM 10 long mcfr_varnum[10]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_77_warmelt_modes_REGISTER_ALARM_TIMER is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_77_warmelt_modes_REGISTER_ALARM_TIMER_st *) meltfirstargp_; /* use arguments output_curframe_declstruct_init */ (void) meltclosp_; (void) meltfirstargp_; (void) meltxargdescr_; (void) meltxargtab_; (void) meltxresdescr_; (void) meltxrestab_; gt_ggc_mx_melt_un (meltframptr_->mcfr_clos); for (ix = 0; ix < 21; ix++) if (meltframptr_->mcfr_varptr[ix]) gt_ggc_mx_melt_un (meltframptr_->mcfr_varptr[ix]); return NULL; } /*end markggc */ ; memset (&meltfram__, 0, sizeof (meltfram__)); /* declstructinit plain routine meltrout_77_warmelt_modes_REGISTER_ALARM_TIMER nbval 21*/ meltfram__.mcfr_nbvar = 21 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("REGISTER_ALARM_TIMER", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-modes.melt:4441:/ getarg"); /*_.CLOS__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_LONG) goto lab_endgetargs; /*_#PERIODMS__L1*/ meltfnum[0] = meltxargtab_[0].meltbp_long; /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.DATA__V3*/ meltfptr[2] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.DATA__V3*/ meltfptr[2])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-modes.melt:4447:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L2*/ meltfnum[1] = /*MELT_NEED_DBG */ #if MELT_HAVE_DEBUG ( /*melt_need_dbg */ melt_need_debug ((int) 0)) #else 0 /* no melt_need_dbg */ #endif /*MELT_HAVE_DEBUG */ ;; MELT_LOCATION ("warmelt-modes.melt:4447:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L2*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4447:/ apply"); /*apply */ { union meltparam_un argtab[7]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-modes.melt"; /*^apply.arg */ argtab[2].meltbp_long = 4447; /*^apply.arg */ argtab[3].meltbp_cstring = "register_alarm_timer clos="; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.CLOS__V2*/ meltfptr[1]; /*^apply.arg */ argtab[5].meltbp_cstring = " periodms="; /*^apply.arg */ argtab[6].meltbp_long = /*_#PERIODMS__L1*/ meltfnum[0]; /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[0])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR MELTBPARSTR_CSTRING MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V5*/ meltfptr[4] = /*_.MELT_DEBUG_FUN__V6*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4447:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V6*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V5*/ meltfptr[4] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4447:/ quasiblock"); /*_.PROGN___V7*/ meltfptr[5] = /*_.IF___V5*/ meltfptr[4];; /*^compute */ /*_.IFCPP___V4*/ meltfptr[3] = /*_.PROGN___V7*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4447:/ clear"); /*clear *//*_#MELT_NEED_DBG__L2*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V5*/ meltfptr[4] = 0; /*^clear */ /*clear *//*_.PROGN___V7*/ meltfptr[5] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V4*/ meltfptr[3] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_CLOSURE__L4*/ meltfnum[2] = (melt_magic_discr ((melt_ptr_t) ( /*_.CLOS__V2*/ meltfptr[1])) == MELTOBMAG_CLOSURE);; MELT_LOCATION ("warmelt-modes.melt:4448:/ cond"); /*cond */ if ( /*_#IS_CLOSURE__L4*/ meltfnum[2]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#I__L5*/ meltfnum[1] = (( /*_#PERIODMS__L1*/ meltfnum[0]) >= (50));; MELT_LOCATION ("warmelt-modes.melt:4449:/ cond"); /*cond */ if ( /*_#I__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { MELT_LOCATION ("warmelt-modes.melt:4450:/ quasiblock"); /*_.RES__V11*/ meltfptr[10] = ( /*nil */ NULL);; /*citerblock BLOCK_SIGNALS */ { /* block_signals meltcit1__BLKSIGNAL start */ long meltcit1__BLKSIGNAL_lev = melt_blocklevel_signals; melt_blocklevel_signals = meltcit1__BLKSIGNAL_lev + 1; MELT_LOCATION ("warmelt-modes.melt:4454:/ quasiblock"); /*_.PERIODBOX__V13*/ meltfptr[12] = (meltgc_new_int ((meltobject_ptr_t) (( /*!DISCR_CONSTANT_INTEGER */ meltfrout->tabval[1])), ( /*_#PERIODMS__L1*/ meltfnum[0])));; MELT_LOCATION ("warmelt-modes.melt:4455:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*!ALARM_BUCKET_REFERENCE */ meltfrout->tabval[3])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^getslot */ { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) (( /*!ALARM_BUCKET_REFERENCE */ meltfrout->tabval[3])) /*=obj*/ ; melt_object_get_field (slot, obj, 0, "REFERENCED_VALUE"); /*_.REFERENCED_VALUE__V14*/ meltfptr[13] = slot; }; ; } else { /*^cond.else */ /*_.REFERENCED_VALUE__V14*/ meltfptr[13] = NULL;; } ; MELT_LOCATION ("warmelt-modes.melt:4455:/ cond"); /*cond */ if ( /*_.REFERENCED_VALUE__V14*/ meltfptr[13]) /*then */ { /*^cond.then */ /*_.OLDBUCK__V15*/ meltfptr[14] = /*_.REFERENCED_VALUE__V14*/ meltfptr[13];; } else { MELT_LOCATION ("warmelt-modes.melt:4455:/ cond.else"); /*^block */ /*anyblock */ { /*_.MAKE_BUCKETLONG__V16*/ meltfptr[15] = (meltgc_new_longsbucket ((meltobject_ptr_t) ( /*!DISCR_BUCKET_LONGS */ meltfrout->tabval[2]), (31)));; /*^compute */ /*_.OLDBUCK__V15*/ meltfptr[14] = /*_.MAKE_BUCKETLONG__V16*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4455:/ clear"); /*clear *//*_.MAKE_BUCKETLONG__V16*/ meltfptr[15] = 0; } ; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4456:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_ALARM_HANDLER */ meltfrout->tabval[5])), (4), "CLASS_ALARM_HANDLER"); /*_.INST__V18*/ meltfptr[17] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @ALARMH_PERIOD", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V18*/ meltfptr[17])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V18*/ meltfptr[17]), (1), ( /*_.PERIODBOX__V13*/ meltfptr[12]), "ALARMH_PERIOD"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @ALARMH_CLOS", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V18*/ meltfptr[17])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V18*/ meltfptr[17]), (2), ( /*_.CLOS__V2*/ meltfptr[1]), "ALARMH_CLOS"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @ALARMH_DATA", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V18*/ meltfptr[17])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V18*/ meltfptr[17]), (3), ( /*_.DATA__V3*/ meltfptr[2]), "ALARMH_DATA"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V18*/ meltfptr[17], "newly made instance"); ; /*_.ALHD__V17*/ meltfptr[15] = /*_.INST__V18*/ meltfptr[17];; /*^compute */ /*_#CURELTIM__L6*/ meltfnum[5] = melt_relative_time_millisec ();; /*^compute */ /*_#NEXTIM__L7*/ meltfnum[6] = (( /*_#CURELTIM__L6*/ meltfnum[5]) + ( /*_#PERIODMS__L1*/ meltfnum[0]));; /*^compute */ /*_.NEWBUCK__V19*/ meltfptr[18] = meltgc_longsbucket_put ((melt_ptr_t) /*_.OLDBUCK__V15*/ meltfptr[14], ( /*_#NEXTIM__L7*/ meltfnum[6]), (melt_ptr_t) /*_.ALHD__V17*/ meltfptr[15]);; /*^compute */ /*_#FIRSTKEY__L8*/ meltfnum[7] = melt_longsbucket_nth_key ((melt_ptr_t) /*_.NEWBUCK__V19*/ meltfptr[18], (int) 0);; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4464:/ cond"); /*cond */ if ( /*_#FIRSTKEY__L8*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#I__L10*/ meltfnum[9] = (( /*_#FIRSTKEY__L8*/ meltfnum[7]) - ( /*_#CURELTIM__L6*/ meltfnum[5]));; /*^compute */ /*_#FIRSTDELAY__L9*/ meltfnum[8] = /*_#I__L10*/ meltfnum[9];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4464:/ clear"); /*clear *//*_#I__L10*/ meltfnum[9] = 0; } ; } else { /*^cond.else */ /*_#FIRSTDELAY__L9*/ meltfnum[8] = 0;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4466:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*!ALARM_BUCKET_REFERENCE */ meltfrout->tabval[3])), (melt_ptr_t) (( /*!CLASS_REFERENCE */ meltfrout->tabval[4]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @REFERENCED_VALUE", melt_magic_discr ((melt_ptr_t) (( /*!ALARM_BUCKET_REFERENCE */ meltfrout->tabval[3]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*!ALARM_BUCKET_REFERENCE */ meltfrout->tabval[3])), (0), ( /*_.NEWBUCK__V19*/ meltfptr[18]), "REFERENCED_VALUE"); ; /*^touch */ meltgc_touch (( /*!ALARM_BUCKET_REFERENCE */ meltfrout->tabval[3])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*!ALARM_BUCKET_REFERENCE */ meltfrout->tabval[3]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4467:/ cond"); /*cond */ if ( /*ifisa */ melt_is_instance_of ((melt_ptr_t) (( /*!INITIAL_SYSTEM_DATA */ meltfrout->tabval[6])), (melt_ptr_t) (( /*!CLASS_SYSTEM_DATA */ meltfrout->tabval[8]))) ) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @SYSDATA_ALARM_HOOK", melt_magic_discr ((melt_ptr_t) (( /*!INITIAL_SYSTEM_DATA */ meltfrout->tabval[6]))) == MELTOBMAG_OBJECT); melt_putfield_object ((( /*!INITIAL_SYSTEM_DATA */ meltfrout->tabval[6])), (37), (( /*!HANDLE_ALARM_SIGNAL */ meltfrout->tabval[7])), "SYSDATA_ALARM_HOOK"); ; /*^touch */ meltgc_touch (( /*!INITIAL_SYSTEM_DATA */ meltfrout-> tabval[6])); ; /*^touchobj */ melt_dbgtrace_written_object (( /*!INITIAL_SYSTEM_DATA */ meltfrout->tabval[6]), "put-fields"); ; /*epilog */ } ; } /*noelse */ ; { MELT_LOCATION ("warmelt-modes.melt:4468:/ locexp"); melt_set_real_timer_millisec ( /*_#FIRSTDELAY__L9*/ meltfnum[8]); } ; MELT_LOCATION ("warmelt-modes.melt:4469:/ compute"); /*_.RES__V11*/ meltfptr[10] = /*_.SETQ___V20*/ meltfptr[19] = /*_.ALHD__V17*/ meltfptr[15];; /*_.LET___V12*/ meltfptr[11] = /*_.SETQ___V20*/ meltfptr[19];; MELT_LOCATION ("warmelt-modes.melt:4454:/ clear"); /*clear *//*_.PERIODBOX__V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.REFERENCED_VALUE__V14*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.OLDBUCK__V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.ALHD__V17*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_#CURELTIM__L6*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_#NEXTIM__L7*/ meltfnum[6] = 0; /*^clear */ /*clear *//*_.NEWBUCK__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_#FIRSTKEY__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_#FIRSTDELAY__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.SETQ___V20*/ meltfptr[19] = 0; /* block_signals meltcit1__BLKSIGNAL end */ melt_blocklevel_signals = meltcit1__BLKSIGNAL_lev; MELT_CHECK_SIGNAL (); /*citerepilog */ MELT_LOCATION ("warmelt-modes.melt:4452:/ clear"); /*clear *//*_.LET___V12*/ meltfptr[11] = 0; } /*endciterblock BLOCK_SIGNALS */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4470:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.RES__V11*/ meltfptr[10];; { MELT_LOCATION ("warmelt-modes.melt:4470:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*_.LET___V10*/ meltfptr[9] = /*_.RETURN___V21*/ meltfptr[12];; MELT_LOCATION ("warmelt-modes.melt:4450:/ clear"); /*clear *//*_.RES__V11*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.RETURN___V21*/ meltfptr[12] = 0; /*_.IF___V9*/ meltfptr[5] = /*_.LET___V10*/ meltfptr[9];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4449:/ clear"); /*clear *//*_.LET___V10*/ meltfptr[9] = 0; } ; } else { /*^cond.else */ /*_.IF___V9*/ meltfptr[5] = NULL;; } ; /*^compute */ /*_.IF___V8*/ meltfptr[4] = /*_.IF___V9*/ meltfptr[5];; /*epilog */ MELT_LOCATION ("warmelt-modes.melt:4448:/ clear"); /*clear *//*_#I__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V9*/ meltfptr[5] = 0; } ; } else { /*^cond.else */ /*_.IF___V8*/ meltfptr[4] = NULL;; } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-modes.melt:4441:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.IF___V8*/ meltfptr[4];; { MELT_LOCATION ("warmelt-modes.melt:4441:/ locexp"); /*ochecknores compilobj_nrep_return */ #if MELT_HAVE_DEBUG if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_) melt_warn_for_no_expected_secondary_results (); /* we warned when secondary results are expected but not returned. */ #endif /*MELT_HAVE_DEBUG */ ; } ; /*^finalreturn */ ; /*finalret */ goto labend_rout; /*epilog */ /*^clear */ /*clear *//*_.IFCPP___V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_#IS_CLOSURE__L4*/ meltfnum[2] = 0; /*^clear */ /*clear *//*_.IF___V8*/ meltfptr[4] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("REGISTER_ALARM_TIMER", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_77_warmelt_modes_REGISTER_ALARM_TIMER_melt; melt_topframe = (struct melt_callframe_st *) meltfram__.mcfr_prev; return (melt_ptr_t) ( /*_.RETVAL___V1*/ meltfptr[0]); #undef meltcallcount #undef meltfram__ #undef MELTFRAM_NBVARNUM #undef MELTFRAM_NBVARPTR } /*end meltrout_77_warmelt_modes_REGISTER_ALARM_TIMER */ /**** end of warmelt-modes+02.c ****/