/* GCC MELT GENERATED FILE warmelt-macro+05.c - DO NOT EDIT */ /* secondary MELT generated C file of rank #5 */ #include "melt-run.h" /* used hash from melt-run.h when compiling this file: */ MELT_EXTERN const char meltrun_used_md5_melt_f5[] = MELT_RUN_HASHMD5 /* from melt-run.h */ ; /**** warmelt-macro+05.c declarations ****/ /*************************************************** *** Copyright 2008 - 2013 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_macro_S_EXPR_WEIGHT (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_macro_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_3_warmelt_macro_EXPAND_RESTLIST_AS_LIST (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_macro_EXPAND_RESTLIST_AS_TUPLE (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_macro_EXPAND_PAIRLIST_AS_LIST (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_macro_EXPAND_PAIRLIST_AS_TUPLE (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_macro_REGISTER_GENERATOR_DEVICE (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_macro_EXPAND_APPLY (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_macro_EXPAND_MSEND (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_macro_EXPAND_FIELDEXPR (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_macro_EXPAND_CITERATION (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_macro_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_13_warmelt_macro_EXPAND_CMATCHEXPR (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_macro_EXPAND_FUNMATCHEXPR (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_macro_EXPAND_KEYWORDFUN (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_macro_MACROEXPAND_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_17_warmelt_macro_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_18_warmelt_macro_EXPAND_PRIMITIVE (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_macro_PATTERNEXPAND_PAIRLIST_AS_TUPLE (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_macro_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_21_warmelt_macro_PATMACEXPAND_FOR_MATCHER (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_macro_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_23_warmelt_macro_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_24_warmelt_macro_PATTERN_WEIGHT_TUPLE (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_macro_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_26_warmelt_macro_PATTERNEXPAND_EXPR (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_macro_PATTERNEXPAND_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_28_warmelt_macro_MACROEXPAND_TOPLEVEL_LIST (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_macro_LAMBDA_ARG_BINDINGS (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_macro_INSTALL_INITIAL_MACRO (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_macro_INSTALL_INITIAL_PATMACRO (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_macro_WARN_IF_REDEFINED (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_macro_FLATTEN_FOR_C_CODE_EXPANSION (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_macro_PARSE_PAIRLIST_C_CODE_EXPANSION (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_macro_CHECK_C_EXPANSION (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_macro_MEXPAND_DEFPRIMITIVE (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_macro_MEXPAND_DEFCITERATOR (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_macro_MEXPAND_DEFCMATCHER (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_macro_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_40_warmelt_macro_MEXPAND_DEFUNMATCHER (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_macro_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_42_warmelt_macro_MEXPAND_DEFUN (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_macro_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_44_warmelt_macro_MEXPAND_DEFINE (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_macro_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_46_warmelt_macro_SCAN_DEFCLASS (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_macro_MEXPAND_DEFCLASS (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_macro_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_49_warmelt_macro_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_50_warmelt_macro_PARSE_FIELD_ASSIGNMENT (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_macro_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_52_warmelt_macro_MEXPAND_DEFINSTANCE (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_macro_MEXPAND_DEFSELECTOR (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_macro_MEXPAND_INSTANCE (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_macro_MEXPAND_LOAD (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_macro_PARSE_FIELD_PATTERN (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_macro_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_58_warmelt_macro_PATEXPAND_INSTANCE (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_macro_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_60_warmelt_macro_PATEXPAND_OBJECT (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_macro_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_62_warmelt_macro_MEXPAND_OBJECT (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_macro_MEXPAND_CODE_CHUNK (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_macro_MEXPAND_UNSAFE_PUT_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_65_warmelt_macro_MEXPAND_PUT_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_66_warmelt_macro_MEXPAND_UNSAFE_GET_FIELD (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_macro_MEXPAND_GET_FIELD (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_macro_PAIRLIST_TO_PROGN (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_macro_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_70_warmelt_macro_MEXPAND_SETQ (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_macro_MEXPAND_IF (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_macro_MEXPAND_WHEN (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_macro_MEXPAND_UNLESS (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_macro_MEXPAND_CPPIF (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_macro_FILTERGCCVERSION (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_macro_MEXPAND_GCCIF (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_macro_MEXPAND_COND (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_macro_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_79_warmelt_macro_MEXPAND_AND (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_macro_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_81_warmelt_macro_PATEXPAND_AS (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_82_warmelt_macro_MEXPAND_AS (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_83_warmelt_macro_PATEXPAND_WHEN (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_84_warmelt_macro_MEXPAND_WHEN (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_85_warmelt_macro_PATEXPAND_AND (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_86_warmelt_macro_MEXPAND_OR (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_87_warmelt_macro_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_88_warmelt_macro_PATEXPAND_OR (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_89_warmelt_macro_MEXPAND_REFERENCE (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_90_warmelt_macro_PATEXPAND_REFERENCE (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_91_warmelt_macro_MEXPANDOBSOLETE_CONTAINER (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_92_warmelt_macro_PATEXPANDOBSOLETE_CONTAINER (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_93_warmelt_macro_MEXPAND_DEREF (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_94_warmelt_macro_MEXPANDOBSOLETE_CONTENT (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_95_warmelt_macro_MEXPAND_SET_REF (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_96_warmelt_macro_MEXPAND_TUPLE (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_97_warmelt_macro_PATEXPAND_TUPLE (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_98_warmelt_macro_MEXPAND_LIST (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_99_warmelt_macro_PATEXPAND_LIST (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_100_warmelt_macro_MEXPAND_MATCH (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_101_warmelt_macro_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_102_warmelt_macro_MEXPAND_MATCHALT (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_103_warmelt_macro_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_104_warmelt_macro_MEXPAND_LETBINDING (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_105_warmelt_macro_MEXPAND_LET (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_106_warmelt_macro_LAMBDA___24__ (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_107_warmelt_macro_LAMBDA___25__ (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_108_warmelt_macro_LAMBDA___26__ (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_109_warmelt_macro_YES_RECURSIVELY_CONSTRUCTIBLE (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_110_warmelt_macro_MEXPAND_LETREC (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_111_warmelt_macro_LAMBDA___27__ (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_112_warmelt_macro_LAMBDA___28__ (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_113_warmelt_macro_MEXPAND_LAMBDA (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_114_warmelt_macro_LAMBDA___29__ (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_115_warmelt_macro_MEXPAND_VARIADIC (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_116_warmelt_macro_LAMBDA___30__ (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_117_warmelt_macro_LAMBDA___31__ (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_118_warmelt_macro_LAMBDA___32__ (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_119_warmelt_macro_LAMBDA___33__ (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_120_warmelt_macro_MEXPAND_MULTICALL (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_121_warmelt_macro_LAMBDA___34__ (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_122_warmelt_macro_LAMBDA___35__ (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_123_warmelt_macro_MEXPAND_QUOTE (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_124_warmelt_macro_MEXPAND_BOX (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_125_warmelt_macro_MEXPAND_CONSTANT_BOX (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_126_warmelt_macro_MEXPAND_UNBOX (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_127_warmelt_macro_MEXPAND_COMMENT (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_128_warmelt_macro_MEXPAND_CHEADER (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_129_warmelt_macro_MEXPAND_USE_PACKAGE_FROM_PKG_CONFIG (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_130_warmelt_macro_PAIRLIST_TO_RETURN (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_131_warmelt_macro_LAMBDA___36__ (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_132_warmelt_macro_MEXPAND_PROGN (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_133_warmelt_macro_MEXPAND_RETURN (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_134_warmelt_macro_MEXPAND_FOREVER (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_135_warmelt_macro_LAMBDA___37__ (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_136_warmelt_macro_MEXPAND_EXIT (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_137_warmelt_macro_LAMBDA___38__ (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_138_warmelt_macro_MEXPAND_AGAIN (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_139_warmelt_macro_MEXPAND_COMPILE_WARNING (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_140_warmelt_macro_MEXPAND_ASSERT_MSG (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_141_warmelt_macro_MEXPAND_DEBUG_MSG (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_142_warmelt_macro_MEXPAND_DEBUG (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_143_warmelt_macro_MEXPAND_EXPORT_VALUES (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_144_warmelt_macro_LAMBDA___39__ (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_145_warmelt_macro_MEXPAND_EXPORT_MACRO (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_146_warmelt_macro_MEXPAND_EXPORT_PATMACRO (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_147_warmelt_macro_MEXPAND_EXPORT_CLASS (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_148_warmelt_macro_LAMBDA___40__ (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_149_warmelt_macro_MEXPAND_EXPORT_SYNONYM (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_150_warmelt_macro_MEXPAND_CURRENT_MODULE_ENVIRONMENT_CONTAINER (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_151_warmelt_macro_MEXPAND_PARENT_MODULE_ENVIRONMENT (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_152_warmelt_macro_MEXPAND_UPDATE_CURRENT_MODULE_ENVIRONMENT_CONTAINER (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_153_warmelt_macro_MEXPAND_FETCH_PREDEFINED (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_154_warmelt_macro_MEXPAND_STORE_PREDEFINED (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_macro__melt_have_debug_enabled[]; #define melt_have_debug_string meltmodule_warmelt_macro__melt_have_debug_enabled #else /*!MELT_HAVE_DEBUG */ MELT_EXTERN const char meltmodule_warmelt_macro__melt_have_debug_disabled[]; #define melt_have_debug_string meltmodule_warmelt_macro__melt_have_debug_disabled #endif /*!MELT_HAVE_DEBUG */ struct frame_melt_start_this_module_st; void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_0 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_1 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_2 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_3 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_4 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_5 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_6 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_7 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_8 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_9 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_10 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_11 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_12 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_13 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_14 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_15 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_16 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_17 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_18 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_19 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_20 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_21 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_22 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_23 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_24 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_25 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_26 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_27 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_28 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_29 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_30 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_31 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_32 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_33 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_34 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_35 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_36 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_37 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_38 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_39 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_40 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__initialmeltchunk_41 (struct frame_melt_start_this_module_st *, char *); void MELT_MODULE_VISIBILITY meltmod__warmelt_macro__forward_or_mark_module_start_frame (struct melt_callframe_st *fp, int marking); #define meltmarking_melt_start_this_module meltmod__warmelt_macro__forward_or_mark_module_start_frame /**** warmelt-macro+05.c implementations ****/ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_143_warmelt_macro_MEXPAND_EXPORT_VALUES (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_143_warmelt_macro_MEXPAND_EXPORT_VALUES_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_143_warmelt_macro_MEXPAND_EXPORT_VALUES_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 8 long mcfr_varnum[8]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_143_warmelt_macro_MEXPAND_EXPORT_VALUES is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_143_warmelt_macro_MEXPAND_EXPORT_VALUES_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_143_warmelt_macro_MEXPAND_EXPORT_VALUES 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 ("MEXPAND_EXPORT_VALUES", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-macro.melt:6782:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:6783:/ 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-macro.melt:6783:/ 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-macro.melt:6783:/ 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-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 6783; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpand_export_values sexpr"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SEXPR__V2*/ meltfptr[1]; /*_.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-macro.melt:6783:/ 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-macro.melt:6783:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6783:/ 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-macro.melt:6784:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SEXPR */ meltfrout-> tabval[1])));; MELT_LOCATION ("warmelt-macro.melt:6784:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:6784:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sexpr"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (6784) ? (6784) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6784:/ clear"); /*clear *//*_#IS_A__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-macro.melt:6785:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-macro.melt:6785:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:6785:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (6785) ? (6785) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6785:/ clear"); /*clear *//*_#IS_A__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-macro.melt:6786:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_CLOSURE__L5*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3])) == MELTOBMAG_CLOSURE);; MELT_LOCATION ("warmelt-macro.melt:6786:/ cond"); /*cond */ if ( /*_#IS_CLOSURE__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:6786:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check mexpander"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (6786) ? (6786) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6786:/ clear"); /*clear *//*_#IS_CLOSURE__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 */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:6787:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_OBJECT__L6*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);; MELT_LOCATION ("warmelt-macro.melt:6787:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V17*/ meltfptr[16] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:6787:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check modctx"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (6787) ? (6787) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V17*/ meltfptr[16] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V16*/ meltfptr[14] = /*_.IFELSE___V17*/ meltfptr[16];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6787:/ clear"); /*clear *//*_#IS_OBJECT__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V17*/ meltfptr[16] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V16*/ meltfptr[14] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-macro.melt:6788:/ quasiblock"); MELT_LOCATION ("warmelt-macro.melt:6789:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SEXP_CONTENTS"); /*_.CONT__V19*/ meltfptr[18] = slot; }; ; MELT_LOCATION ("warmelt-macro.melt:6790:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.LOC__V20*/ meltfptr[19] = slot; }; ; /*_.LIST_FIRST__V21*/ meltfptr[20] = (melt_list_first ((melt_ptr_t) ( /*_.CONT__V19*/ meltfptr[18])));; /*^compute */ /*_.CURPAIR__V22*/ meltfptr[21] = (melt_pair_tail ((melt_ptr_t) ( /*_.LIST_FIRST__V21*/ meltfptr[20])));; MELT_LOCATION ("warmelt-macro.melt:6794:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V24*/ meltfptr[23] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_7 */ meltfrout-> tabval[7])), (4)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V24*/ meltfptr[23])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V24*/ meltfptr[23]))); ((meltclosure_ptr_t) /*_.LAMBDA___V24*/ meltfptr[23])->tabval[0] = (melt_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V24*/ meltfptr[23])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V24*/ meltfptr[23]))); ((meltclosure_ptr_t) /*_.LAMBDA___V24*/ meltfptr[23])->tabval[1] = (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V24*/ meltfptr[23])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 2 >= 0 && 2 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V24*/ meltfptr[23]))); ((meltclosure_ptr_t) /*_.LAMBDA___V24*/ meltfptr[23])->tabval[2] = (melt_ptr_t) ( /*_.MODCTX__V5*/ meltfptr[4]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V24*/ meltfptr[23])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 3 >= 0 && 3 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V24*/ meltfptr[23]))); ((meltclosure_ptr_t) /*_.LAMBDA___V24*/ meltfptr[23])->tabval[3] = (melt_ptr_t) ( /*_.LOC__V20*/ meltfptr[19]); ; /*_.LAMBDA___V23*/ meltfptr[22] = /*_.LAMBDA___V24*/ meltfptr[23];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6792:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*!DISCR_MULTIPLE */ meltfrout->tabval[4]); /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V23*/ meltfptr[22]; /*_.SYMBTUP__V25*/ meltfptr[24] = melt_apply ((meltclosure_ptr_t) (( /*!PAIRLIST_TO_MULTIPLE */ meltfrout->tabval[3])), (melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6802:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_SOURCE_EXPORT_VALUES */ meltfrout->tabval[8])), (3), "CLASS_SOURCE_EXPORT_VALUES"); /*_.INST__V27*/ meltfptr[26] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LOCA_LOCATION", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V27*/ meltfptr[26]), (1), ( /*_.LOC__V20*/ meltfptr[19]), "LOCA_LOCATION"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @SEXPORT_NAMES", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V27*/ meltfptr[26]), (2), ( /*_.SYMBTUP__V25*/ meltfptr[24]), "SEXPORT_NAMES"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V27*/ meltfptr[26], "newly made instance"); ; /*_.RES__V26*/ meltfptr[25] = /*_.INST__V27*/ meltfptr[26];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:6806:/ 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-macro.melt:6806:/ 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-macro.melt:6806:/ 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-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 6806; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpand_export_values result res"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RES__V26*/ meltfptr[25]; /*_.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-macro.melt:6806:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V30*/ meltfptr[29] = 0; } ; } else { /*^cond.else */ /*_.IF___V29*/ meltfptr[28] = NULL;; } ; MELT_LOCATION ("warmelt-macro.melt:6806:/ quasiblock"); /*_.PROGN___V31*/ meltfptr[29] = /*_.IF___V29*/ meltfptr[28];; /*^compute */ /*_.IFCPP___V28*/ meltfptr[27] = /*_.PROGN___V31*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6806:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[1] = 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 */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6807:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.RES__V26*/ meltfptr[25];; { MELT_LOCATION ("warmelt-macro.melt:6807:/ 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___V18*/ meltfptr[16] = /*_.RETURN___V32*/ meltfptr[28];; MELT_LOCATION ("warmelt-macro.melt:6788:/ clear"); /*clear *//*_.CONT__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.LOC__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.LIST_FIRST__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.CURPAIR__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.LAMBDA___V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.SYMBTUP__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.RES__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.IFCPP___V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.RETURN___V32*/ meltfptr[28] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6782:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V18*/ meltfptr[16];; { MELT_LOCATION ("warmelt-macro.melt:6782:/ 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___V16*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.LET___V18*/ meltfptr[16] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("MEXPAND_EXPORT_VALUES", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_143_warmelt_macro_MEXPAND_EXPORT_VALUES_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_143_warmelt_macro_MEXPAND_EXPORT_VALUES */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_144_warmelt_macro_LAMBDA___39__ (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_144_warmelt_macro_LAMBDA___39___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_144_warmelt_macro_LAMBDA___39___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 3 long mcfr_varnum[3]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_144_warmelt_macro_LAMBDA___39__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_144_warmelt_macro_LAMBDA___39___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_144_warmelt_macro_LAMBDA___39__ 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 ("LAMBDA_", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-macro.melt:6794:/ getarg"); /*_.S__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_LOCATION ("warmelt-macro.melt:6795:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*~ENV */ meltfclos->tabval[1]); /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & ( /*~MEXPANDER */ meltfclos->tabval[0]); /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & ( /*~MODCTX */ meltfclos->tabval[2]); /*_.SYM__V4*/ meltfptr[3] = melt_apply ((meltclosure_ptr_t) (( /*~MEXPANDER */ meltfclos->tabval[0])), (melt_ptr_t) ( /*_.S__V2*/ meltfptr[1]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; /*_#IS_NOT_A__L1*/ meltfnum[0] = !melt_is_instance_of ((melt_ptr_t) ( /*_.SYM__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_SYMBOL */ meltfrout-> tabval[0])));; MELT_LOCATION ("warmelt-macro.melt:6796:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:6798:/ 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-macro.melt:6798:/ 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-macro.melt:6798:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L3*/ meltfnum[2]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 6798; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpand_export_values bad sym"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SYM__V4*/ meltfptr[3]; /*_.MELT_DEBUG_FUN__V7*/ meltfptr[6] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout-> tabval[1])), (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-macro.melt:6798:/ 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-macro.melt:6798:/ quasiblock"); /*_.PROGN___V8*/ meltfptr[6] = /*_.IF___V6*/ meltfptr[5];; /*^compute */ /*_.IFCPP___V5*/ meltfptr[4] = /*_.PROGN___V8*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6798:/ 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_LOCATION ("warmelt-macro.melt:6799:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) (( /*~LOC */ meltfclos->tabval[3])), ("(EXPORT_VALUES ...) expecting symbol"), (melt_ptr_t) 0); } ; MELT_LOCATION ("warmelt-macro.melt:6797:/ quasiblock"); /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6796:/ clear"); /*clear *//*_.IFCPP___V5*/ meltfptr[4] = 0; } ; } /*noelse */ ; /*_.LET___V3*/ meltfptr[2] = /*_.SYM__V4*/ meltfptr[3];; MELT_LOCATION ("warmelt-macro.melt:6795:/ clear"); /*clear *//*_.SYM__V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_#IS_NOT_A__L1*/ meltfnum[0] = 0; MELT_LOCATION ("warmelt-macro.melt:6794:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V3*/ meltfptr[2];; { MELT_LOCATION ("warmelt-macro.melt:6794:/ 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_144_warmelt_macro_LAMBDA___39___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_144_warmelt_macro_LAMBDA___39__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_145_warmelt_macro_MEXPAND_EXPORT_MACRO (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_145_warmelt_macro_MEXPAND_EXPORT_MACRO_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_145_warmelt_macro_MEXPAND_EXPORT_MACRO_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 47 melt_ptr_t mcfr_varptr[47]; #define MELTFRAM_NBVARNUM 11 long mcfr_varnum[11]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_145_warmelt_macro_MEXPAND_EXPORT_MACRO is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_145_warmelt_macro_MEXPAND_EXPORT_MACRO_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 < 47; 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_145_warmelt_macro_MEXPAND_EXPORT_MACRO nbval 47*/ meltfram__.mcfr_nbvar = 47 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("MEXPAND_EXPORT_MACRO", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-macro.melt:6820:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:6821:/ 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-macro.melt:6821:/ 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-macro.melt:6821:/ 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-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 6821; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpand_export_macro sexpr"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SEXPR__V2*/ meltfptr[1]; /*_.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-macro.melt:6821:/ 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-macro.melt:6821:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6821:/ 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-macro.melt:6822:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SEXPR */ meltfrout-> tabval[1])));; MELT_LOCATION ("warmelt-macro.melt:6822:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:6822:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sexpr"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (6822) ? (6822) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6822:/ clear"); /*clear *//*_#IS_A__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-macro.melt:6823:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-macro.melt:6823:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:6823:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (6823) ? (6823) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6823:/ clear"); /*clear *//*_#IS_A__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-macro.melt:6824:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_CLOSURE__L5*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3])) == MELTOBMAG_CLOSURE);; MELT_LOCATION ("warmelt-macro.melt:6824:/ cond"); /*cond */ if ( /*_#IS_CLOSURE__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:6824:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check mexpander"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (6824) ? (6824) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6824:/ clear"); /*clear *//*_#IS_CLOSURE__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 */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:6825:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_OBJECT__L6*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);; MELT_LOCATION ("warmelt-macro.melt:6825:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V17*/ meltfptr[16] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:6825:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check modctx"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (6825) ? (6825) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V17*/ meltfptr[16] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V16*/ meltfptr[14] = /*_.IFELSE___V17*/ meltfptr[16];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6825:/ clear"); /*clear *//*_#IS_OBJECT__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V17*/ meltfptr[16] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V16*/ meltfptr[14] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-macro.melt:6826:/ quasiblock"); MELT_LOCATION ("warmelt-macro.melt:6827:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SEXP_CONTENTS"); /*_.CONT__V19*/ meltfptr[18] = slot; }; ; MELT_LOCATION ("warmelt-macro.melt:6828:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.LOC__V20*/ meltfptr[19] = slot; }; ; /*_.LIST_FIRST__V21*/ meltfptr[20] = (melt_list_first ((melt_ptr_t) ( /*_.CONT__V19*/ meltfptr[18])));; /*^compute */ /*_.CURPAIR__V22*/ meltfptr[21] = (melt_pair_tail ((melt_ptr_t) ( /*_.LIST_FIRST__V21*/ meltfptr[20])));; /*^compute */ /*_.PAIR_HEAD__V23*/ meltfptr[22] = (melt_pair_head ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6830:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.MODCTX__V5*/ meltfptr[4]; /*_.SYMB__V24*/ meltfptr[23] = melt_apply ((meltclosure_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3]), (melt_ptr_t) ( /*_.PAIR_HEAD__V23*/ meltfptr[22]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.DOC__V25*/ meltfptr[24] = ( /*nil */ NULL);; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_NOT_A__L7*/ meltfnum[1] = !melt_is_instance_of ((melt_ptr_t) ( /*_.SYMB__V24*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_SYMBOL */ meltfrout-> tabval[3])));; MELT_LOCATION ("warmelt-macro.melt:6833:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L7*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-macro.melt:6834:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.LOC__V20*/ meltfptr[19]), ("(EXPORT_MACRO ) expecting symbol"), (melt_ptr_t) 0); } ; /*epilog */ } ; } /*noelse */ ; /*_.PAIR_TAIL__V26*/ meltfptr[25] = (melt_pair_tail ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_LOCATION ("warmelt-macro.melt:6835:/ compute"); /*_.CURPAIR__V22*/ meltfptr[21] = /*_.SETQ___V27*/ meltfptr[26] = /*_.PAIR_TAIL__V26*/ meltfptr[25];; MELT_LOCATION ("warmelt-macro.melt:6836:/ quasiblock"); /*_.PAIR_HEAD__V29*/ meltfptr[28] = (melt_pair_head ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6836:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.MODCTX__V5*/ meltfptr[4]; /*_.EXPV__V30*/ meltfptr[29] = melt_apply ((meltclosure_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3]), (melt_ptr_t) ( /*_.PAIR_HEAD__V29*/ meltfptr[28]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.PAIR_TAIL__V31*/ meltfptr[30] = (melt_pair_tail ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_LOCATION ("warmelt-macro.melt:6838:/ compute"); /*_.CURPAIR__V22*/ meltfptr[21] = /*_.SETQ___V32*/ meltfptr[31] = /*_.PAIR_TAIL__V31*/ meltfptr[30];; MELT_CHECK_SIGNAL (); ; /*_.PAIR_HEAD__V33*/ meltfptr[32] = (melt_pair_head ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; /*^compute */ /*_#__L8*/ meltfnum[0] = (( /*_.PAIR_HEAD__V33*/ meltfptr[32]) == (( /*!konst_4_DOC */ meltfrout->tabval[4])));; MELT_LOCATION ("warmelt-macro.melt:6839:/ cond"); /*cond */ if ( /*_#__L8*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.PAIR_TAIL__V35*/ meltfptr[34] = (melt_pair_tail ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_LOCATION ("warmelt-macro.melt:6841:/ compute"); /*_.CURPAIR__V22*/ meltfptr[21] = /*_.SETQ___V36*/ meltfptr[35] = /*_.PAIR_TAIL__V35*/ meltfptr[34];; /*_.PAIR_HEAD__V37*/ meltfptr[36] = (melt_pair_head ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_LOCATION ("warmelt-macro.melt:6842:/ compute"); /*_.DOC__V25*/ meltfptr[24] = /*_.SETQ___V38*/ meltfptr[37] = /*_.PAIR_HEAD__V37*/ meltfptr[36];; MELT_LOCATION ("warmelt-macro.melt:6840:/ quasiblock"); /*_.PROGN___V39*/ meltfptr[38] = /*_.SETQ___V38*/ meltfptr[37];; /*^compute */ /*_.IF___V34*/ meltfptr[33] = /*_.PROGN___V39*/ meltfptr[38];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6839:/ clear"); /*clear *//*_.PAIR_TAIL__V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.SETQ___V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.PAIR_HEAD__V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.SETQ___V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.PROGN___V39*/ meltfptr[38] = 0; } ; } else { /*^cond.else */ /*_.IF___V34*/ meltfptr[33] = NULL;; } ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#NULL__L9*/ meltfnum[8] = (( /*_.EXPV__V30*/ meltfptr[29]) == NULL);; MELT_LOCATION ("warmelt-macro.melt:6843:/ cond"); /*cond */ if ( /*_#NULL__L9*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-macro.melt:6844:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.LOC__V20*/ meltfptr[19]), ("(EXPORT_MACRO [:doc ]) expecting expander"), (melt_ptr_t) 0); } ; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-macro.melt:6845:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_SOURCE_EXPORT_MACRO */ meltfrout->tabval[5])), (5), "CLASS_SOURCE_EXPORT_MACRO"); /*_.INST__V42*/ meltfptr[36] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LOCA_LOCATION", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V42*/ meltfptr[36])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V42*/ meltfptr[36]), (1), ( /*_.LOC__V20*/ meltfptr[19]), "LOCA_LOCATION"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @SEXPMAC_MNAME", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V42*/ meltfptr[36])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V42*/ meltfptr[36]), (2), ( /*_.SYMB__V24*/ meltfptr[23]), "SEXPMAC_MNAME"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @SEXPMAC_MVAL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V42*/ meltfptr[36])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V42*/ meltfptr[36]), (3), ( /*_.EXPV__V30*/ meltfptr[29]), "SEXPMAC_MVAL"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @SEXPMAC_DOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V42*/ meltfptr[36])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V42*/ meltfptr[36]), (4), ( /*_.DOC__V25*/ meltfptr[24]), "SEXPMAC_DOC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V42*/ meltfptr[36], "newly made instance"); ; /*_.RES__V41*/ meltfptr[35] = /*_.INST__V42*/ meltfptr[36];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:6852:/ 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-macro.melt:6852:/ 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-macro.melt:6852:/ 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-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 6852; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpand_export_macro result res"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RES__V41*/ meltfptr[35]; /*_.MELT_DEBUG_FUN__V45*/ meltfptr[44] = 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___V44*/ meltfptr[38] = /*_.MELT_DEBUG_FUN__V45*/ meltfptr[44];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6852:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V45*/ meltfptr[44] = 0; } ; } else { /*^cond.else */ /*_.IF___V44*/ meltfptr[38] = NULL;; } ; MELT_LOCATION ("warmelt-macro.melt:6852:/ quasiblock"); /*_.PROGN___V46*/ meltfptr[44] = /*_.IF___V44*/ meltfptr[38];; /*^compute */ /*_.IFCPP___V43*/ meltfptr[37] = /*_.PROGN___V46*/ meltfptr[44];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6852:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IF___V44*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.PROGN___V46*/ meltfptr[44] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V43*/ meltfptr[37] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6853:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.RES__V41*/ meltfptr[35];; { MELT_LOCATION ("warmelt-macro.melt:6853:/ 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___V40*/ meltfptr[34] = /*_.RETURN___V47*/ meltfptr[38];; MELT_LOCATION ("warmelt-macro.melt:6845:/ clear"); /*clear *//*_.RES__V41*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.IFCPP___V43*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.RETURN___V47*/ meltfptr[38] = 0; /*_.LET___V28*/ meltfptr[27] = /*_.LET___V40*/ meltfptr[34];; MELT_LOCATION ("warmelt-macro.melt:6836:/ clear"); /*clear *//*_.PAIR_HEAD__V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.EXPV__V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.PAIR_TAIL__V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.SETQ___V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_.PAIR_HEAD__V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_#__L8*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_#NULL__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.LET___V40*/ meltfptr[34] = 0; /*_.LET___V18*/ meltfptr[16] = /*_.LET___V28*/ meltfptr[27];; MELT_LOCATION ("warmelt-macro.melt:6826:/ clear"); /*clear *//*_.CONT__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.LOC__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.LIST_FIRST__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.CURPAIR__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.PAIR_HEAD__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.SYMB__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.DOC__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_#IS_NOT_A__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.PAIR_TAIL__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.SETQ___V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.LET___V28*/ meltfptr[27] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6820:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V18*/ meltfptr[16];; { MELT_LOCATION ("warmelt-macro.melt:6820:/ 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___V16*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.LET___V18*/ meltfptr[16] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("MEXPAND_EXPORT_MACRO", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_145_warmelt_macro_MEXPAND_EXPORT_MACRO_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_145_warmelt_macro_MEXPAND_EXPORT_MACRO */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_146_warmelt_macro_MEXPAND_EXPORT_PATMACRO (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_146_warmelt_macro_MEXPAND_EXPORT_PATMACRO_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_146_warmelt_macro_MEXPAND_EXPORT_PATMACRO_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 12 long mcfr_varnum[12]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_146_warmelt_macro_MEXPAND_EXPORT_PATMACRO is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_146_warmelt_macro_MEXPAND_EXPORT_PATMACRO_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_146_warmelt_macro_MEXPAND_EXPORT_PATMACRO 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 ("MEXPAND_EXPORT_PATMACRO", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-macro.melt:6864:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:6865:/ 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-macro.melt:6865:/ 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-macro.melt:6865:/ 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-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 6865; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpand_export_patmacro sexpr"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SEXPR__V2*/ meltfptr[1]; /*_.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-macro.melt:6865:/ 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-macro.melt:6865:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6865:/ 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-macro.melt:6866:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SEXPR */ meltfrout-> tabval[1])));; MELT_LOCATION ("warmelt-macro.melt:6866:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:6866:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sexpr"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (6866) ? (6866) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6866:/ clear"); /*clear *//*_#IS_A__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-macro.melt:6867:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-macro.melt:6867:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:6867:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (6867) ? (6867) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6867:/ clear"); /*clear *//*_#IS_A__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-macro.melt:6868:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_CLOSURE__L5*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3])) == MELTOBMAG_CLOSURE);; MELT_LOCATION ("warmelt-macro.melt:6868:/ cond"); /*cond */ if ( /*_#IS_CLOSURE__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:6868:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check mexpander"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (6868) ? (6868) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6868:/ clear"); /*clear *//*_#IS_CLOSURE__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 */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:6869:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_OBJECT__L6*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);; MELT_LOCATION ("warmelt-macro.melt:6869:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V17*/ meltfptr[16] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:6869:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check modctx"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (6869) ? (6869) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V17*/ meltfptr[16] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V16*/ meltfptr[14] = /*_.IFELSE___V17*/ meltfptr[16];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6869:/ clear"); /*clear *//*_#IS_OBJECT__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V17*/ meltfptr[16] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V16*/ meltfptr[14] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-macro.melt:6870:/ quasiblock"); MELT_LOCATION ("warmelt-macro.melt:6871:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SEXP_CONTENTS"); /*_.CONT__V19*/ meltfptr[18] = slot; }; ; MELT_LOCATION ("warmelt-macro.melt:6872:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.LOC__V20*/ meltfptr[19] = slot; }; ; /*_.LIST_FIRST__V21*/ meltfptr[20] = (melt_list_first ((melt_ptr_t) ( /*_.CONT__V19*/ meltfptr[18])));; /*^compute */ /*_.CURPAIR__V22*/ meltfptr[21] = (melt_pair_tail ((melt_ptr_t) ( /*_.LIST_FIRST__V21*/ meltfptr[20])));; /*^compute */ /*_.PAIR_HEAD__V23*/ meltfptr[22] = (melt_pair_head ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6874:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.MODCTX__V5*/ meltfptr[4]; /*_.SYMB__V24*/ meltfptr[23] = melt_apply ((meltclosure_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3]), (melt_ptr_t) ( /*_.PAIR_HEAD__V23*/ meltfptr[22]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.PATEXPV__V25*/ meltfptr[24] = ( /*nil */ NULL);; /*^compute */ /*_.MACEXPV__V26*/ meltfptr[25] = ( /*nil */ NULL);; /*^compute */ /*_.DOC__V27*/ meltfptr[26] = ( /*nil */ NULL);; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_NOT_A__L7*/ meltfnum[1] = !melt_is_instance_of ((melt_ptr_t) ( /*_.SYMB__V24*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_SYMBOL */ meltfrout-> tabval[3])));; MELT_LOCATION ("warmelt-macro.melt:6879:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L7*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-macro.melt:6880:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.LOC__V20*/ meltfptr[19]), ("(EXPORT_PATMACRO [:doc ])\ expecting symbol"), (melt_ptr_t) 0); } ; /*epilog */ } ; } /*noelse */ ; /*_.PAIR_TAIL__V28*/ meltfptr[27] = (melt_pair_tail ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_LOCATION ("warmelt-macro.melt:6881:/ compute"); /*_.CURPAIR__V22*/ meltfptr[21] = /*_.SETQ___V29*/ meltfptr[28] = /*_.PAIR_TAIL__V28*/ meltfptr[27];; /*_.PAIR_HEAD__V30*/ meltfptr[29] = (melt_pair_head ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6882:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.MODCTX__V5*/ meltfptr[4]; /*_.MEXPANDER__V31*/ meltfptr[30] = melt_apply ((meltclosure_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3]), (melt_ptr_t) ( /*_.PAIR_HEAD__V30*/ meltfptr[29]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*^compute */ /*_.PATEXPV__V25*/ meltfptr[24] = /*_.SETQ___V32*/ meltfptr[31] = /*_.MEXPANDER__V31*/ meltfptr[30];; MELT_CHECK_SIGNAL (); ; /*_#NULL__L8*/ meltfnum[0] = (( /*_.PATEXPV__V25*/ meltfptr[24]) == NULL);; MELT_LOCATION ("warmelt-macro.melt:6883:/ cond"); /*cond */ if ( /*_#NULL__L8*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-macro.melt:6884:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.LOC__V20*/ meltfptr[19]), ("(EXPORT_PATMACRO [:doc ])\ expecting patexpander"), (melt_ptr_t) 0); } ; /*epilog */ } ; } /*noelse */ ; /*_.PAIR_TAIL__V33*/ meltfptr[32] = (melt_pair_tail ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_LOCATION ("warmelt-macro.melt:6885:/ compute"); /*_.CURPAIR__V22*/ meltfptr[21] = /*_.SETQ___V34*/ meltfptr[33] = /*_.PAIR_TAIL__V33*/ meltfptr[32];; /*_.PAIR_HEAD__V35*/ meltfptr[34] = (melt_pair_head ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6886:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.MODCTX__V5*/ meltfptr[4]; /*_.MEXPANDER__V36*/ meltfptr[35] = melt_apply ((meltclosure_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3]), (melt_ptr_t) ( /*_.PAIR_HEAD__V35*/ meltfptr[34]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*^compute */ /*_.MACEXPV__V26*/ meltfptr[25] = /*_.SETQ___V37*/ meltfptr[36] = /*_.MEXPANDER__V36*/ meltfptr[35];; MELT_CHECK_SIGNAL (); ; /*_#NULL__L9*/ meltfnum[8] = (( /*_.MACEXPV__V26*/ meltfptr[25]) == NULL);; MELT_LOCATION ("warmelt-macro.melt:6887:/ cond"); /*cond */ if ( /*_#NULL__L9*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-macro.melt:6888:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.LOC__V20*/ meltfptr[19]), ("(EXPORT_PATMACRO [:doc ])\ expecting macexpander"), (melt_ptr_t) 0); } ; /*epilog */ } ; } /*noelse */ ; /*_.PAIR_TAIL__V38*/ meltfptr[37] = (melt_pair_tail ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_LOCATION ("warmelt-macro.melt:6889:/ compute"); /*_.CURPAIR__V22*/ meltfptr[21] = /*_.SETQ___V39*/ meltfptr[38] = /*_.PAIR_TAIL__V38*/ meltfptr[37];; MELT_CHECK_SIGNAL (); ; /*_.PAIR_HEAD__V40*/ meltfptr[39] = (melt_pair_head ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; /*^compute */ /*_#__L10*/ meltfnum[9] = (( /*_.PAIR_HEAD__V40*/ meltfptr[39]) == (( /*!konst_4_DOC */ meltfrout->tabval[4])));; MELT_LOCATION ("warmelt-macro.melt:6890:/ cond"); /*cond */ if ( /*_#__L10*/ meltfnum[9]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.PAIR_TAIL__V42*/ meltfptr[41] = (melt_pair_tail ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_LOCATION ("warmelt-macro.melt:6892:/ compute"); /*_.CURPAIR__V22*/ meltfptr[21] = /*_.SETQ___V43*/ meltfptr[42] = /*_.PAIR_TAIL__V42*/ meltfptr[41];; /*_.PAIR_HEAD__V44*/ meltfptr[43] = (melt_pair_head ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_LOCATION ("warmelt-macro.melt:6893:/ compute"); /*_.DOC__V27*/ meltfptr[26] = /*_.SETQ___V45*/ meltfptr[44] = /*_.PAIR_HEAD__V44*/ meltfptr[43];; MELT_LOCATION ("warmelt-macro.melt:6891:/ quasiblock"); /*_.PROGN___V46*/ meltfptr[45] = /*_.SETQ___V45*/ meltfptr[44];; /*^compute */ /*_.IF___V41*/ meltfptr[40] = /*_.PROGN___V46*/ meltfptr[45];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6890:/ clear"); /*clear *//*_.PAIR_TAIL__V42*/ meltfptr[41] = 0; /*^clear */ /*clear *//*_.SETQ___V43*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.PAIR_HEAD__V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_.SETQ___V45*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.PROGN___V46*/ meltfptr[45] = 0; } ; } else { /*^cond.else */ /*_.IF___V41*/ meltfptr[40] = NULL;; } ; MELT_LOCATION ("warmelt-macro.melt:6896:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_SOURCE_EXPORT_PATMACRO */ meltfrout->tabval[5])), (6), "CLASS_SOURCE_EXPORT_PATMACRO"); /*_.INST__V49*/ meltfptr[43] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LOCA_LOCATION", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V49*/ meltfptr[43])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V49*/ meltfptr[43]), (1), ( /*_.LOC__V20*/ meltfptr[19]), "LOCA_LOCATION"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @SEXPMAC_MNAME", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V49*/ meltfptr[43])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V49*/ meltfptr[43]), (2), ( /*_.SYMB__V24*/ meltfptr[23]), "SEXPMAC_MNAME"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @SEXPPAT_PVAL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V49*/ meltfptr[43])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V49*/ meltfptr[43]), (5), ( /*_.PATEXPV__V25*/ meltfptr[24]), "SEXPPAT_PVAL"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @SEXPMAC_MVAL", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V49*/ meltfptr[43])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V49*/ meltfptr[43]), (3), ( /*_.MACEXPV__V26*/ meltfptr[25]), "SEXPMAC_MVAL"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @SEXPMAC_DOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V49*/ meltfptr[43])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V49*/ meltfptr[43]), (4), ( /*_.DOC__V27*/ meltfptr[26]), "SEXPMAC_DOC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V49*/ meltfptr[43], "newly made instance"); ; /*_.RES__V48*/ meltfptr[42] = /*_.INST__V49*/ meltfptr[43];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:6904:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L11*/ meltfnum[10] = /*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-macro.melt:6904:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L11*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L12*/ meltfnum[11] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6904:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L12*/ meltfnum[11]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 6904; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpand_export_patmacro result res"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RES__V48*/ meltfptr[42]; /*_.MELT_DEBUG_FUN__V52*/ meltfptr[51] = 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___V51*/ meltfptr[45] = /*_.MELT_DEBUG_FUN__V52*/ meltfptr[51];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6904:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L12*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V52*/ meltfptr[51] = 0; } ; } else { /*^cond.else */ /*_.IF___V51*/ meltfptr[45] = NULL;; } ; MELT_LOCATION ("warmelt-macro.melt:6904:/ quasiblock"); /*_.PROGN___V53*/ meltfptr[51] = /*_.IF___V51*/ meltfptr[45];; /*^compute */ /*_.IFCPP___V50*/ meltfptr[44] = /*_.PROGN___V53*/ meltfptr[51];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6904:/ clear"); /*clear *//*_#MELT_NEED_DBG__L11*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.IF___V51*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.PROGN___V53*/ meltfptr[51] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V50*/ meltfptr[44] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6905:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.RES__V48*/ meltfptr[42];; { MELT_LOCATION ("warmelt-macro.melt:6905:/ 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___V47*/ meltfptr[41] = /*_.RETURN___V54*/ meltfptr[45];; MELT_LOCATION ("warmelt-macro.melt:6896:/ clear"); /*clear *//*_.RES__V48*/ meltfptr[42] = 0; /*^clear */ /*clear *//*_.IFCPP___V50*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.RETURN___V54*/ meltfptr[45] = 0; /*_.LET___V18*/ meltfptr[16] = /*_.LET___V47*/ meltfptr[41];; MELT_LOCATION ("warmelt-macro.melt:6870:/ clear"); /*clear *//*_.CONT__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.LOC__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.LIST_FIRST__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.CURPAIR__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.PAIR_HEAD__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.SYMB__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.PATEXPV__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.MACEXPV__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.DOC__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_#IS_NOT_A__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.PAIR_TAIL__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.SETQ___V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.PAIR_HEAD__V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.MEXPANDER__V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.SETQ___V32*/ meltfptr[31] = 0; /*^clear */ /*clear *//*_#NULL__L8*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.PAIR_TAIL__V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.SETQ___V34*/ meltfptr[33] = 0; /*^clear */ /*clear *//*_.PAIR_HEAD__V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.MEXPANDER__V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.SETQ___V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_#NULL__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.PAIR_TAIL__V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_.SETQ___V39*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.PAIR_HEAD__V40*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_#__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_.IF___V41*/ meltfptr[40] = 0; /*^clear */ /*clear *//*_.LET___V47*/ meltfptr[41] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6864:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V18*/ meltfptr[16];; { MELT_LOCATION ("warmelt-macro.melt:6864:/ 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___V16*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.LET___V18*/ meltfptr[16] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("MEXPAND_EXPORT_PATMACRO", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_146_warmelt_macro_MEXPAND_EXPORT_PATMACRO_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_146_warmelt_macro_MEXPAND_EXPORT_PATMACRO */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_147_warmelt_macro_MEXPAND_EXPORT_CLASS (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_147_warmelt_macro_MEXPAND_EXPORT_CLASS_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_147_warmelt_macro_MEXPAND_EXPORT_CLASS_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 8 long mcfr_varnum[8]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_147_warmelt_macro_MEXPAND_EXPORT_CLASS is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_147_warmelt_macro_MEXPAND_EXPORT_CLASS_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_147_warmelt_macro_MEXPAND_EXPORT_CLASS 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 ("MEXPAND_EXPORT_CLASS", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-macro.melt:6914:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:6915:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SEXPR */ meltfrout-> tabval[0])));; MELT_LOCATION ("warmelt-macro.melt:6915:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:6915:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sexpr"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (6915) ? (6915) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6915:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:6916:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-macro.melt:6916:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:6916:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (6916) ? (6916) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6916:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#NULL__L3*/ meltfnum[0] = (( /*_.MEXPANDER__V4*/ meltfptr[3]) == NULL);; MELT_LOCATION ("warmelt-macro.melt:6917:/ cond"); /*cond */ if ( /*_#NULL__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^compute */ /*_.MEXPANDER__V4*/ meltfptr[3] = /*_.SETQ___V11*/ meltfptr[10] = ( /*!MACROEXPAND_1 */ meltfrout->tabval[2]);; /*_.IF___V10*/ meltfptr[8] = /*_.SETQ___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6917:/ clear"); /*clear *//*_.SETQ___V11*/ meltfptr[10] = 0; } ; } else { /*^cond.else */ /*_.IF___V10*/ meltfptr[8] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:6918:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_OBJECT__L4*/ meltfnum[3] = (melt_magic_discr ((melt_ptr_t) ( /*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);; MELT_LOCATION ("warmelt-macro.melt:6918:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L4*/ meltfnum[3]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:6918:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check modctx"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (6918) ? (6918) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6918:/ clear"); /*clear *//*_#IS_OBJECT__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[10] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:6919:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[3] = /*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-macro.melt:6919:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[3]) /*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-macro.melt:6919:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[5]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 6919; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpand_export_class sexpr"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V16*/ meltfptr[15] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (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-macro.melt:6919:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V16*/ meltfptr[15] = 0; } ; } else { /*^cond.else */ /*_.IF___V15*/ meltfptr[14] = NULL;; } ; MELT_LOCATION ("warmelt-macro.melt:6919:/ quasiblock"); /*_.PROGN___V17*/ meltfptr[15] = /*_.IF___V15*/ meltfptr[14];; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_.PROGN___V17*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6919:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IF___V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.PROGN___V17*/ meltfptr[15] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-macro.melt:6920:/ quasiblock"); MELT_LOCATION ("warmelt-macro.melt:6921:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SEXP_CONTENTS"); /*_.CONT__V19*/ meltfptr[15] = slot; }; ; MELT_LOCATION ("warmelt-macro.melt:6922:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.LOC__V20*/ meltfptr[19] = slot; }; ; /*_.LIST_FIRST__V21*/ meltfptr[20] = (melt_list_first ((melt_ptr_t) ( /*_.CONT__V19*/ meltfptr[15])));; /*^compute */ /*_.CURPAIR__V22*/ meltfptr[21] = (melt_pair_tail ((melt_ptr_t) ( /*_.LIST_FIRST__V21*/ meltfptr[20])));; MELT_LOCATION ("warmelt-macro.melt:6926:/ quasiblock"); /*^newclosure */ /*newclosure *//*_.LAMBDA___V24*/ meltfptr[23] = (melt_ptr_t) meltgc_new_closure ((meltobject_ptr_t) (((melt_ptr_t) (MELT_PREDEF (DISCR_CLOSURE)))), (meltroutine_ptr_t) (( /*!konst_7 */ meltfrout-> tabval[7])), (4)); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V24*/ meltfptr[23])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 0 >= 0 && 0 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V24*/ meltfptr[23]))); ((meltclosure_ptr_t) /*_.LAMBDA___V24*/ meltfptr[23])->tabval[0] = (melt_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V24*/ meltfptr[23])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 1 >= 0 && 1 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V24*/ meltfptr[23]))); ((meltclosure_ptr_t) /*_.LAMBDA___V24*/ meltfptr[23])->tabval[1] = (melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V24*/ meltfptr[23])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 2 >= 0 && 2 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V24*/ meltfptr[23]))); ((meltclosure_ptr_t) /*_.LAMBDA___V24*/ meltfptr[23])->tabval[2] = (melt_ptr_t) ( /*_.MODCTX__V5*/ meltfptr[4]); ; /*^putclosedv */ /*putclosv */ melt_assertmsg ("putclosv checkclo", melt_magic_discr ((melt_ptr_t) ( /*_.LAMBDA___V24*/ meltfptr[23])) == MELTOBMAG_CLOSURE); melt_assertmsg ("putclosv checkoff", 3 >= 0 && 3 < melt_closure_size ((melt_ptr_t) ( /*_.LAMBDA___V24*/ meltfptr[23]))); ((meltclosure_ptr_t) /*_.LAMBDA___V24*/ meltfptr[23])->tabval[3] = (melt_ptr_t) ( /*_.LOC__V20*/ meltfptr[19]); ; /*_.LAMBDA___V23*/ meltfptr[22] = /*_.LAMBDA___V24*/ meltfptr[23];; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6924:/ apply"); /*apply */ { union meltparam_un argtab[2]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*!DISCR_MULTIPLE */ meltfrout->tabval[5]); /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.LAMBDA___V23*/ meltfptr[22]; /*_.SYMBTUP__V25*/ meltfptr[24] = melt_apply ((meltclosure_ptr_t) (( /*!PAIRLIST_TO_MULTIPLE */ meltfrout->tabval[4])), (melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21]), (MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6932:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_SOURCE_EXPORT_CLASS */ meltfrout->tabval[8])), (3), "CLASS_SOURCE_EXPORT_CLASS"); /*_.INST__V27*/ meltfptr[26] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LOCA_LOCATION", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V27*/ meltfptr[26]), (1), ( /*_.LOC__V20*/ meltfptr[19]), "LOCA_LOCATION"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @SEXPORT_NAMES", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V27*/ meltfptr[26])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V27*/ meltfptr[26]), (2), ( /*_.SYMBTUP__V25*/ meltfptr[24]), "SEXPORT_NAMES"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V27*/ meltfptr[26], "newly made instance"); ; /*_.RES__V26*/ meltfptr[25] = /*_.INST__V27*/ meltfptr[26];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:6936:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L7*/ 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-macro.melt:6936:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L7*/ meltfnum[5]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[3] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6936:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L8*/ meltfnum[3]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 6936; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpand_export_class result res"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RES__V26*/ meltfptr[25]; /*_.MELT_DEBUG_FUN__V30*/ meltfptr[29] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (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-macro.melt:6936:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V30*/ meltfptr[29] = 0; } ; } else { /*^cond.else */ /*_.IF___V29*/ meltfptr[28] = NULL;; } ; MELT_LOCATION ("warmelt-macro.melt:6936:/ quasiblock"); /*_.PROGN___V31*/ meltfptr[29] = /*_.IF___V29*/ meltfptr[28];; /*^compute */ /*_.IFCPP___V28*/ meltfptr[27] = /*_.PROGN___V31*/ meltfptr[29];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6936:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[5] = 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 */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6937:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.RES__V26*/ meltfptr[25];; { MELT_LOCATION ("warmelt-macro.melt:6937:/ 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___V18*/ meltfptr[14] = /*_.RETURN___V32*/ meltfptr[28];; MELT_LOCATION ("warmelt-macro.melt:6920:/ clear"); /*clear *//*_.CONT__V19*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.LOC__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.LIST_FIRST__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.CURPAIR__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.LAMBDA___V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.SYMBTUP__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.RES__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.IFCPP___V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.RETURN___V32*/ meltfptr[28] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6914:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V18*/ meltfptr[14];; { MELT_LOCATION ("warmelt-macro.melt:6914:/ 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___V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_#NULL__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V10*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.LET___V18*/ meltfptr[14] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("MEXPAND_EXPORT_CLASS", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_147_warmelt_macro_MEXPAND_EXPORT_CLASS_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_147_warmelt_macro_MEXPAND_EXPORT_CLASS */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_148_warmelt_macro_LAMBDA___40__ (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_148_warmelt_macro_LAMBDA___40___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_148_warmelt_macro_LAMBDA___40___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 4 melt_ptr_t mcfr_varptr[4]; #define MELTFRAM_NBVARNUM 1 long mcfr_varnum[1]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_148_warmelt_macro_LAMBDA___40__ is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_148_warmelt_macro_LAMBDA___40___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 < 4; 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_148_warmelt_macro_LAMBDA___40__ nbval 4*/ meltfram__.mcfr_nbvar = 4 /*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-macro.melt:6926:/ getarg"); /*_.S__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { MELT_LOCATION ("warmelt-macro.melt:6927:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^apply */ /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & ( /*~ENV */ meltfclos->tabval[1]); /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & ( /*~MEXPANDER */ meltfclos->tabval[0]); /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & ( /*~MODCTX */ meltfclos->tabval[2]); /*_.SYM__V4*/ meltfptr[3] = melt_apply ((meltclosure_ptr_t) (( /*~MEXPANDER */ meltfclos->tabval[0])), (melt_ptr_t) ( /*_.S__V2*/ meltfptr[1]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; /*_#IS_NOT_A__L1*/ meltfnum[0] = !melt_is_instance_of ((melt_ptr_t) ( /*_.SYM__V4*/ meltfptr[3]), (melt_ptr_t) (( /*!CLASS_SYMBOL */ meltfrout-> tabval[0])));; MELT_LOCATION ("warmelt-macro.melt:6928:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-macro.melt:6929:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) (( /*~LOC */ meltfclos->tabval[3])), ("(EXPORT_CLASS ...) expecting symbol"), (melt_ptr_t) 0); } ; /*epilog */ } ; } /*noelse */ ; /*_.LET___V3*/ meltfptr[2] = /*_.SYM__V4*/ meltfptr[3];; MELT_LOCATION ("warmelt-macro.melt:6927:/ clear"); /*clear *//*_.SYM__V4*/ meltfptr[3] = 0; /*^clear */ /*clear *//*_#IS_NOT_A__L1*/ meltfnum[0] = 0; MELT_LOCATION ("warmelt-macro.melt:6926:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V3*/ meltfptr[2];; { MELT_LOCATION ("warmelt-macro.melt:6926:/ 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_148_warmelt_macro_LAMBDA___40___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_148_warmelt_macro_LAMBDA___40__ */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_149_warmelt_macro_MEXPAND_EXPORT_SYNONYM (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_149_warmelt_macro_MEXPAND_EXPORT_SYNONYM_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_149_warmelt_macro_MEXPAND_EXPORT_SYNONYM_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 17 long mcfr_varnum[17]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_149_warmelt_macro_MEXPAND_EXPORT_SYNONYM is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_149_warmelt_macro_MEXPAND_EXPORT_SYNONYM_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_149_warmelt_macro_MEXPAND_EXPORT_SYNONYM 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 ("MEXPAND_EXPORT_SYNONYM", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-macro.melt:6946:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:6947:/ 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-macro.melt:6947:/ 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-macro.melt:6947:/ 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-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 6947; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpand_export_synonym sexpr"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SEXPR__V2*/ meltfptr[1]; /*_.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-macro.melt:6947:/ 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-macro.melt:6947:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6947:/ 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-macro.melt:6948:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SEXPR */ meltfrout-> tabval[1])));; MELT_LOCATION ("warmelt-macro.melt:6948:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:6948:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sexpr"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (6948) ? (6948) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6948:/ clear"); /*clear *//*_#IS_A__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-macro.melt:6949:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-macro.melt:6949:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:6949:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (6949) ? (6949) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6949:/ clear"); /*clear *//*_#IS_A__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 */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#NULL__L5*/ meltfnum[1] = (( /*_.MEXPANDER__V4*/ meltfptr[3]) == NULL);; MELT_LOCATION ("warmelt-macro.melt:6950:/ cond"); /*cond */ if ( /*_#NULL__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^compute */ /*_.MEXPANDER__V4*/ meltfptr[3] = /*_.SETQ___V15*/ meltfptr[14] = ( /*!MACROEXPAND_1 */ meltfrout->tabval[3]);; /*_.IF___V14*/ meltfptr[12] = /*_.SETQ___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6950:/ clear"); /*clear *//*_.SETQ___V15*/ meltfptr[14] = 0; } ; } else { /*^cond.else */ /*_.IF___V14*/ meltfptr[12] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:6951:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_OBJECT__L6*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);; MELT_LOCATION ("warmelt-macro.melt:6951:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V17*/ meltfptr[16] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:6951:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check modctx"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (6951) ? (6951) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V17*/ meltfptr[16] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V16*/ meltfptr[14] = /*_.IFELSE___V17*/ meltfptr[16];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6951:/ clear"); /*clear *//*_#IS_OBJECT__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V17*/ meltfptr[16] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V16*/ meltfptr[14] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-macro.melt:6952:/ quasiblock"); MELT_LOCATION ("warmelt-macro.melt:6953:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SEXP_CONTENTS"); /*_.CONT__V19*/ meltfptr[18] = slot; }; ; MELT_LOCATION ("warmelt-macro.melt:6954:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.LOC__V20*/ meltfptr[19] = slot; }; ; /*_.LIST_FIRST__V21*/ meltfptr[20] = (melt_list_first ((melt_ptr_t) ( /*_.CONT__V19*/ meltfptr[18])));; /*^compute */ /*_.CURPAIR__V22*/ meltfptr[21] = (melt_pair_tail ((melt_ptr_t) ( /*_.LIST_FIRST__V21*/ meltfptr[20])));; /*^compute */ /*_.NEWSYMB__V23*/ meltfptr[22] = ( /*nil */ NULL);; /*^compute */ /*_.OLDSYMB__V24*/ meltfptr[23] = ( /*nil */ NULL);; /*^compute */ /*_.DOC__V25*/ meltfptr[24] = ( /*nil */ NULL);; /*^compute */ /*_.PAIR_HEAD__V26*/ meltfptr[25] = (melt_pair_head ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6961:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.MODCTX__V5*/ meltfptr[4]; /*_.MEXPANDER__V27*/ meltfptr[26] = melt_apply ((meltclosure_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3]), (melt_ptr_t) ( /*_.PAIR_HEAD__V26*/ meltfptr[25]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*^compute */ /*_.NEWSYMB__V23*/ meltfptr[22] = /*_.SETQ___V28*/ meltfptr[27] = /*_.MEXPANDER__V27*/ meltfptr[26];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:6962:/ 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-macro.melt:6962:/ 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-macro.melt:6962:/ 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-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 6962; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpander_export_synonym newsymb"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.NEWSYMB__V23*/ meltfptr[22]; /*_.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[29] = /*_.MELT_DEBUG_FUN__V31*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6962:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V31*/ meltfptr[30] = 0; } ; } else { /*^cond.else */ /*_.IF___V30*/ meltfptr[29] = NULL;; } ; MELT_LOCATION ("warmelt-macro.melt:6962:/ quasiblock"); /*_.PROGN___V32*/ meltfptr[30] = /*_.IF___V30*/ meltfptr[29];; /*^compute */ /*_.IFCPP___V29*/ meltfptr[28] = /*_.PROGN___V32*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6962:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.PROGN___V32*/ meltfptr[30] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V29*/ meltfptr[28] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_NOT_A__L9*/ meltfnum[7] = !melt_is_instance_of ((melt_ptr_t) ( /*_.NEWSYMB__V23*/ meltfptr[22]), (melt_ptr_t) (( /*!CLASS_SYMBOL */ meltfrout-> tabval[4])));; MELT_LOCATION ("warmelt-macro.melt:6963:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L9*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-macro.melt:6964:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.LOC__V20*/ meltfptr[19]), ("bad new name in (EXPORT_SYNONYM [:doc ])"), (melt_ptr_t) 0); } ; /*epilog */ } ; } /*noelse */ ; /*_.PAIR_TAIL__V33*/ meltfptr[29] = (melt_pair_tail ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_LOCATION ("warmelt-macro.melt:6965:/ compute"); /*_.CURPAIR__V22*/ meltfptr[21] = /*_.SETQ___V34*/ meltfptr[30] = /*_.PAIR_TAIL__V33*/ meltfptr[29];; /*_.PAIR_HEAD__V35*/ meltfptr[34] = (melt_pair_head ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6967:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.MODCTX__V5*/ meltfptr[4]; /*_.MEXPANDER__V36*/ meltfptr[35] = melt_apply ((meltclosure_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3]), (melt_ptr_t) ( /*_.PAIR_HEAD__V35*/ meltfptr[34]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*^compute */ /*_.OLDSYMB__V24*/ meltfptr[23] = /*_.SETQ___V37*/ meltfptr[36] = /*_.MEXPANDER__V36*/ meltfptr[35];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:6968:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L10*/ 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-macro.melt:6968:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L10*/ meltfnum[0]) /*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-macro.melt:6968:/ 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-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 6968; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpander_export_synonym oldsymb"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.OLDSYMB__V24*/ meltfptr[23]; /*_.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 ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V39*/ meltfptr[38] = /*_.MELT_DEBUG_FUN__V40*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6968:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L11*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V40*/ meltfptr[39] = 0; } ; } else { /*^cond.else */ /*_.IF___V39*/ meltfptr[38] = NULL;; } ; MELT_LOCATION ("warmelt-macro.melt:6968:/ quasiblock"); /*_.PROGN___V41*/ meltfptr[39] = /*_.IF___V39*/ meltfptr[38];; /*^compute */ /*_.IFCPP___V38*/ meltfptr[37] = /*_.PROGN___V41*/ meltfptr[39];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6968:/ clear"); /*clear *//*_#MELT_NEED_DBG__L10*/ 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_CHECK_SIGNAL (); ; /*^compute */ /*_#IS_NOT_A__L12*/ meltfnum[10] = !melt_is_instance_of ((melt_ptr_t) ( /*_.OLDSYMB__V24*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_SYMBOL */ meltfrout-> tabval[4])));; MELT_LOCATION ("warmelt-macro.melt:6969:/ cond"); /*cond */ if ( /*_#IS_NOT_A__L12*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-macro.melt:6970:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.LOC__V20*/ meltfptr[19]), ("bad old name in (EXPORT_SYNONYM [:doc ])"), (melt_ptr_t) 0); } ; /*epilog */ } ; } /*noelse */ ; /*_.PAIR_TAIL__V42*/ meltfptr[38] = (melt_pair_tail ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_LOCATION ("warmelt-macro.melt:6971:/ compute"); /*_.CURPAIR__V22*/ meltfptr[21] = /*_.SETQ___V43*/ meltfptr[39] = /*_.PAIR_TAIL__V42*/ meltfptr[38];; MELT_CHECK_SIGNAL (); ; /*_.PAIR_HEAD__V44*/ meltfptr[43] = (melt_pair_head ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; /*^compute */ /*_#__L13*/ meltfnum[0] = (( /*_.PAIR_HEAD__V44*/ meltfptr[43]) == (( /*!konst_5_DOC */ meltfrout->tabval[5])));; MELT_LOCATION ("warmelt-macro.melt:6972:/ cond"); /*cond */ if ( /*_#__L13*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_.PAIR_TAIL__V46*/ meltfptr[45] = (melt_pair_tail ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_LOCATION ("warmelt-macro.melt:6974:/ compute"); /*_.CURPAIR__V22*/ meltfptr[21] = /*_.SETQ___V47*/ meltfptr[46] = /*_.PAIR_TAIL__V46*/ meltfptr[45];; /*_.PAIR_HEAD__V48*/ meltfptr[47] = (melt_pair_head ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_LOCATION ("warmelt-macro.melt:6975:/ compute"); /*_.DOC__V25*/ meltfptr[24] = /*_.SETQ___V49*/ meltfptr[48] = /*_.PAIR_HEAD__V48*/ meltfptr[47];; MELT_LOCATION ("warmelt-macro.melt:6973:/ quasiblock"); /*_.PROGN___V50*/ meltfptr[49] = /*_.SETQ___V49*/ meltfptr[48];; /*^compute */ /*_.IF___V45*/ meltfptr[44] = /*_.PROGN___V50*/ meltfptr[49];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6972:/ clear"); /*clear *//*_.PAIR_TAIL__V46*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.SETQ___V47*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.PAIR_HEAD__V48*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.SETQ___V49*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.PROGN___V50*/ meltfptr[49] = 0; } ; } else { /*^cond.else */ /*_.IF___V45*/ meltfptr[44] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:6977:/ 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-macro.melt:6977:/ 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-macro.melt:6977:/ 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-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 6977; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpander_export_synonym doc"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.DOC__V25*/ meltfptr[24]; /*_.MELT_DEBUG_FUN__V53*/ meltfptr[47] = 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___V52*/ meltfptr[46] = /*_.MELT_DEBUG_FUN__V53*/ meltfptr[47];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6977:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L15*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V53*/ meltfptr[47] = 0; } ; } else { /*^cond.else */ /*_.IF___V52*/ meltfptr[46] = NULL;; } ; MELT_LOCATION ("warmelt-macro.melt:6977:/ quasiblock"); /*_.PROGN___V54*/ meltfptr[48] = /*_.IF___V52*/ meltfptr[46];; /*^compute */ /*_.IFCPP___V51*/ meltfptr[45] = /*_.PROGN___V54*/ meltfptr[48];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6977:/ clear"); /*clear *//*_#MELT_NEED_DBG__L14*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.IF___V52*/ meltfptr[46] = 0; /*^clear */ /*clear *//*_.PROGN___V54*/ meltfptr[48] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V51*/ meltfptr[45] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-macro.melt:6978:/ quasiblock"); MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6979:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_SOURCE_EXPORT_SYNONYM */ meltfrout->tabval[6])), (5), "CLASS_SOURCE_EXPORT_SYNONYM"); /*_.INST__V57*/ meltfptr[46] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LOCA_LOCATION", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V57*/ meltfptr[46])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V57*/ meltfptr[46]), (1), ( /*_.LOC__V20*/ meltfptr[19]), "LOCA_LOCATION"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @SEXPSYN_NEWNAME", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V57*/ meltfptr[46])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V57*/ meltfptr[46]), (2), ( /*_.NEWSYMB__V23*/ meltfptr[22]), "SEXPSYN_NEWNAME"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @SEXPSYN_OLDNAME", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V57*/ meltfptr[46])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V57*/ meltfptr[46]), (3), ( /*_.OLDSYMB__V24*/ meltfptr[23]), "SEXPSYN_OLDNAME"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @SEXPSYN_DOC", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V57*/ meltfptr[46])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V57*/ meltfptr[46]), (4), ( /*_.DOC__V25*/ meltfptr[24]), "SEXPSYN_DOC"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V57*/ meltfptr[46], "newly made instance"); ; /*_.RES__V56*/ meltfptr[47] = /*_.INST__V57*/ meltfptr[46];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:6985:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L16*/ meltfnum[14] = /*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-macro.melt:6985:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L16*/ meltfnum[14]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[13] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6985:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L17*/ meltfnum[13]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 6985; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpander_export_synonym result"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RES__V56*/ meltfptr[47]; /*_.MELT_DEBUG_FUN__V60*/ meltfptr[59] = 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___V59*/ meltfptr[58] = /*_.MELT_DEBUG_FUN__V60*/ meltfptr[59];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6985:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L17*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V60*/ meltfptr[59] = 0; } ; } else { /*^cond.else */ /*_.IF___V59*/ meltfptr[58] = NULL;; } ; MELT_LOCATION ("warmelt-macro.melt:6985:/ quasiblock"); /*_.PROGN___V61*/ meltfptr[59] = /*_.IF___V59*/ meltfptr[58];; /*^compute */ /*_.IFCPP___V58*/ meltfptr[48] = /*_.PROGN___V61*/ meltfptr[59];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6985:/ clear"); /*clear *//*_#MELT_NEED_DBG__L16*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.IF___V59*/ meltfptr[58] = 0; /*^clear */ /*clear *//*_.PROGN___V61*/ meltfptr[59] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V58*/ meltfptr[48] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6986:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.RES__V56*/ meltfptr[47];; { MELT_LOCATION ("warmelt-macro.melt:6986:/ 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___V55*/ meltfptr[49] = /*_.RETURN___V62*/ meltfptr[58];; MELT_LOCATION ("warmelt-macro.melt:6978:/ clear"); /*clear *//*_.RES__V56*/ meltfptr[47] = 0; /*^clear */ /*clear *//*_.IFCPP___V58*/ meltfptr[48] = 0; /*^clear */ /*clear *//*_.RETURN___V62*/ meltfptr[58] = 0; /*_.LET___V18*/ meltfptr[16] = /*_.LET___V55*/ meltfptr[49];; MELT_LOCATION ("warmelt-macro.melt:6952:/ clear"); /*clear *//*_.CONT__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.LOC__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.LIST_FIRST__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.CURPAIR__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.NEWSYMB__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.OLDSYMB__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.DOC__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.PAIR_HEAD__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.MEXPANDER__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.SETQ___V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.IFCPP___V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_#IS_NOT_A__L9*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.PAIR_TAIL__V33*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.SETQ___V34*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_.PAIR_HEAD__V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.MEXPANDER__V36*/ meltfptr[35] = 0; /*^clear */ /*clear *//*_.SETQ___V37*/ meltfptr[36] = 0; /*^clear */ /*clear *//*_.IFCPP___V38*/ meltfptr[37] = 0; /*^clear */ /*clear *//*_#IS_NOT_A__L12*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.PAIR_TAIL__V42*/ meltfptr[38] = 0; /*^clear */ /*clear *//*_.SETQ___V43*/ meltfptr[39] = 0; /*^clear */ /*clear *//*_.PAIR_HEAD__V44*/ meltfptr[43] = 0; /*^clear */ /*clear *//*_#__L13*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V45*/ meltfptr[44] = 0; /*^clear */ /*clear *//*_.IFCPP___V51*/ meltfptr[45] = 0; /*^clear */ /*clear *//*_.LET___V55*/ meltfptr[49] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6946:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V18*/ meltfptr[16];; { MELT_LOCATION ("warmelt-macro.melt:6946:/ 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 *//*_#NULL__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V14*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.IFCPP___V16*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.LET___V18*/ meltfptr[16] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("MEXPAND_EXPORT_SYNONYM", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_149_warmelt_macro_MEXPAND_EXPORT_SYNONYM_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_149_warmelt_macro_MEXPAND_EXPORT_SYNONYM */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_150_warmelt_macro_MEXPAND_CURRENT_MODULE_ENVIRONMENT_CONTAINER (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_150_warmelt_macro_MEXPAND_CURRENT_MODULE_ENVIRONMENT_CONTAINER_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_150_warmelt_macro_MEXPAND_CURRENT_MODULE_ENVIRONMENT_CONTAINER_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 8 long mcfr_varnum[8]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_150_warmelt_macro_MEXPAND_CURRENT_MODULE_ENVIRONMENT_CONTAINER is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_150_warmelt_macro_MEXPAND_CURRENT_MODULE_ENVIRONMENT_CONTAINER_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_150_warmelt_macro_MEXPAND_CURRENT_MODULE_ENVIRONMENT_CONTAINER 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 ("MEXPAND_CURRENT_MODULE_ENVIRONMENT_CONTAINER", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-macro.melt:6998:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:6999:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SEXPR */ meltfrout-> tabval[0])));; MELT_LOCATION ("warmelt-macro.melt:6999:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:6999:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sexpr"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (6999) ? (6999) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:6999:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:7000:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-macro.melt:7000:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:7000:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (7000) ? (7000) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7000:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:7001:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_OBJECT__L3*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);; MELT_LOCATION ("warmelt-macro.melt:7001:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[10] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:7001:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check modctx"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (7001) ? (7001) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[8] = /*_.IFELSE___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7001:/ clear"); /*clear *//*_#IS_OBJECT__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V11*/ meltfptr[10] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V10*/ meltfptr[8] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:7002:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L4*/ 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-macro.melt:7002:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:7002:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 7002; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpand_current_module_environment_container sexpr"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = 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___V13*/ meltfptr[12] = /*_.MELT_DEBUG_FUN__V14*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7002:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L5*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V14*/ meltfptr[13] = 0; } ; } else { /*^cond.else */ /*_.IF___V13*/ meltfptr[12] = NULL;; } ; MELT_LOCATION ("warmelt-macro.melt:7002:/ quasiblock"); /*_.PROGN___V15*/ meltfptr[13] = /*_.IF___V13*/ meltfptr[12];; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.PROGN___V15*/ meltfptr[13];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7002:/ clear"); /*clear *//*_#MELT_NEED_DBG__L4*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V13*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.PROGN___V15*/ meltfptr[13] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[10] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-macro.melt:7003:/ quasiblock"); MELT_LOCATION ("warmelt-macro.melt:7004:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SEXP_CONTENTS"); /*_.CONT__V17*/ meltfptr[13] = slot; }; ; MELT_LOCATION ("warmelt-macro.melt:7005:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.LOC__V18*/ meltfptr[17] = slot; }; ; /*_.LIST_FIRST__V19*/ meltfptr[18] = (melt_list_first ((melt_ptr_t) ( /*_.CONT__V17*/ meltfptr[13])));; /*^compute */ /*_.CURPAIR__V20*/ meltfptr[19] = (melt_pair_tail ((melt_ptr_t) ( /*_.LIST_FIRST__V19*/ meltfptr[18])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:7007:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_SOURCE_CURRENT_MODULE_ENVIRONMENT_CONTAINER */ meltfrout->tabval[3])), (3), "CLASS_SOURCE_CURRENT_MODULE_ENVIRONMENT_CONTAINER"); /*_.INST__V22*/ meltfptr[21] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LOCA_LOCATION", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V22*/ meltfptr[21])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V22*/ meltfptr[21]), (1), ( /*_.LOC__V18*/ meltfptr[17]), "LOCA_LOCATION"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V22*/ meltfptr[21], "newly made instance"); ; /*_.RES__V21*/ meltfptr[20] = /*_.INST__V22*/ meltfptr[21];; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#NOTNULL__L6*/ meltfnum[4] = (( /*_.CURPAIR__V20*/ meltfptr[19]) != NULL);; MELT_LOCATION ("warmelt-macro.melt:7010:/ cond"); /*cond */ if ( /*_#NOTNULL__L6*/ meltfnum[4]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-macro.melt:7011:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.LOC__V18*/ meltfptr[17]), ("(CURRENT_MODULE_ENVIRONMENT_CONTAINER) should not have any argument"), (melt_ptr_t) 0); } ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:7012:/ 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-macro.melt:7012:/ 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-macro.melt:7012:/ 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-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 7012; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpand_current_module_environment_container return res"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RES__V21*/ meltfptr[20]; /*_.MELT_DEBUG_FUN__V25*/ 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___V24*/ meltfptr[23] = /*_.MELT_DEBUG_FUN__V25*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7012:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V25*/ meltfptr[24] = 0; } ; } else { /*^cond.else */ /*_.IF___V24*/ meltfptr[23] = NULL;; } ; MELT_LOCATION ("warmelt-macro.melt:7012:/ quasiblock"); /*_.PROGN___V26*/ meltfptr[24] = /*_.IF___V24*/ meltfptr[23];; /*^compute */ /*_.IFCPP___V23*/ meltfptr[22] = /*_.PROGN___V26*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7012:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.PROGN___V26*/ meltfptr[24] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V23*/ meltfptr[22] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:7013:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.RES__V21*/ meltfptr[20];; { MELT_LOCATION ("warmelt-macro.melt:7013:/ 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___V16*/ meltfptr[12] = /*_.RETURN___V27*/ meltfptr[23];; MELT_LOCATION ("warmelt-macro.melt:7003:/ clear"); /*clear *//*_.CONT__V17*/ meltfptr[13] = 0; /*^clear */ /*clear *//*_.LOC__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.LIST_FIRST__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.CURPAIR__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.RES__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_#NOTNULL__L6*/ meltfnum[4] = 0; /*^clear */ /*clear *//*_.IFCPP___V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.RETURN___V27*/ meltfptr[23] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:6998:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[12];; { MELT_LOCATION ("warmelt-macro.melt:6998:/ 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___V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_.IFCPP___V10*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.LET___V16*/ meltfptr[12] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("MEXPAND_CURRENT_MODULE_ENVIRONMENT_CONTAINER", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_150_warmelt_macro_MEXPAND_CURRENT_MODULE_ENVIRONMENT_CONTAINER_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_150_warmelt_macro_MEXPAND_CURRENT_MODULE_ENVIRONMENT_CONTAINER */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_151_warmelt_macro_MEXPAND_PARENT_MODULE_ENVIRONMENT (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_151_warmelt_macro_MEXPAND_PARENT_MODULE_ENVIRONMENT_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_151_warmelt_macro_MEXPAND_PARENT_MODULE_ENVIRONMENT_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 29 melt_ptr_t mcfr_varptr[29]; #define MELTFRAM_NBVARNUM 9 long mcfr_varnum[9]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_151_warmelt_macro_MEXPAND_PARENT_MODULE_ENVIRONMENT is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_151_warmelt_macro_MEXPAND_PARENT_MODULE_ENVIRONMENT_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 < 29; 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_151_warmelt_macro_MEXPAND_PARENT_MODULE_ENVIRONMENT nbval 29*/ meltfram__.mcfr_nbvar = 29 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("MEXPAND_PARENT_MODULE_ENVIRONMENT", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-macro.melt:7027:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:7028:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L1*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SEXPR */ meltfrout-> tabval[0])));; MELT_LOCATION ("warmelt-macro.melt:7028:/ cond"); /*cond */ if ( /*_#IS_A__L1*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V7*/ meltfptr[6] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:7028:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sexpr"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (7028) ? (7028) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.IFELSE___V7*/ meltfptr[6];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7028:/ clear"); /*clear *//*_#IS_A__L1*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V7*/ meltfptr[6] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V6*/ meltfptr[5] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:7029:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L2*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[1])));; MELT_LOCATION ("warmelt-macro.melt:7029:/ cond"); /*cond */ if ( /*_#IS_A__L2*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V9*/ meltfptr[8] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:7029:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (7029) ? (7029) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V8*/ meltfptr[6] = /*_.IFELSE___V9*/ meltfptr[8];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7029:/ clear"); /*clear *//*_#IS_A__L2*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V9*/ meltfptr[8] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V8*/ meltfptr[6] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#NULL__L3*/ meltfnum[0] = (( /*_.MEXPANDER__V4*/ meltfptr[3]) == NULL);; MELT_LOCATION ("warmelt-macro.melt:7030:/ cond"); /*cond */ if ( /*_#NULL__L3*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^compute */ /*_.MEXPANDER__V4*/ meltfptr[3] = /*_.SETQ___V11*/ meltfptr[10] = ( /*!MACROEXPAND_1 */ meltfrout->tabval[2]);; /*_.IF___V10*/ meltfptr[8] = /*_.SETQ___V11*/ meltfptr[10];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7030:/ clear"); /*clear *//*_.SETQ___V11*/ meltfptr[10] = 0; } ; } else { /*^cond.else */ /*_.IF___V10*/ meltfptr[8] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:7031:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_OBJECT__L4*/ meltfnum[3] = (melt_magic_discr ((melt_ptr_t) ( /*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);; MELT_LOCATION ("warmelt-macro.melt:7031:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L4*/ meltfnum[3]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:7031:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check modctx"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (7031) ? (7031) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[10] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7031:/ clear"); /*clear *//*_#IS_OBJECT__L4*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V12*/ meltfptr[10] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:7032:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L5*/ meltfnum[3] = /*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-macro.melt:7032:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L5*/ meltfnum[3]) /*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-macro.melt:7032:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L6*/ meltfnum[5]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 7032; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpand_parent_module_environment sexpr"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SEXPR__V2*/ meltfptr[1]; /*_.MELT_DEBUG_FUN__V16*/ meltfptr[15] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (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-macro.melt:7032:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L6*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V16*/ meltfptr[15] = 0; } ; } else { /*^cond.else */ /*_.IF___V15*/ meltfptr[14] = NULL;; } ; MELT_LOCATION ("warmelt-macro.melt:7032:/ quasiblock"); /*_.PROGN___V17*/ meltfptr[15] = /*_.IF___V15*/ meltfptr[14];; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_.PROGN___V17*/ meltfptr[15];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7032:/ clear"); /*clear *//*_#MELT_NEED_DBG__L5*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IF___V15*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.PROGN___V17*/ meltfptr[15] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V14*/ meltfptr[12] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-macro.melt:7033:/ quasiblock"); MELT_LOCATION ("warmelt-macro.melt:7034:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SEXP_CONTENTS"); /*_.CONT__V19*/ meltfptr[15] = slot; }; ; MELT_LOCATION ("warmelt-macro.melt:7035:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.LOC__V20*/ meltfptr[19] = slot; }; ; /*_.LIST_FIRST__V21*/ meltfptr[20] = (melt_list_first ((melt_ptr_t) ( /*_.CONT__V19*/ meltfptr[15])));; /*^compute */ /*_.CURPAIR__V22*/ meltfptr[21] = (melt_pair_tail ((melt_ptr_t) ( /*_.LIST_FIRST__V21*/ meltfptr[20])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:7037:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_SOURCE_PARENT_MODULE_ENVIRONMENT */ meltfrout->tabval[4])), (2), "CLASS_SOURCE_PARENT_MODULE_ENVIRONMENT"); /*_.INST__V24*/ meltfptr[23] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LOCA_LOCATION", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V24*/ meltfptr[23])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V24*/ meltfptr[23]), (1), ( /*_.LOC__V20*/ meltfptr[19]), "LOCA_LOCATION"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V24*/ meltfptr[23], "newly made instance"); ; /*_.RES__V23*/ meltfptr[22] = /*_.INST__V24*/ meltfptr[23];; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#NOTNULL__L7*/ meltfnum[5] = (( /*_.CURPAIR__V22*/ meltfptr[21]) != NULL);; MELT_LOCATION ("warmelt-macro.melt:7040:/ cond"); /*cond */ if ( /*_#NOTNULL__L7*/ meltfnum[5]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-macro.melt:7041:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.LOC__V20*/ meltfptr[19]), ("(PARENT_MODULE_ENVIRONMENT) should not have any argument"), (melt_ptr_t) 0); } ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:7042:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L8*/ meltfnum[3] = /*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-macro.melt:7042:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L8*/ meltfnum[3]) /*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-macro.melt:7042:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 7042; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpand_parent_module_environment return res"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RES__V23*/ meltfptr[22]; /*_.MELT_DEBUG_FUN__V27*/ meltfptr[26] = melt_apply ((meltclosure_ptr_t) (( /*!MELT_DEBUG_FUN */ meltfrout->tabval[3])), (melt_ptr_t) (( /*nil */ NULL)), (MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_CSTRING MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.IF___V26*/ meltfptr[25] = /*_.MELT_DEBUG_FUN__V27*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7042:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V27*/ meltfptr[26] = 0; } ; } else { /*^cond.else */ /*_.IF___V26*/ meltfptr[25] = NULL;; } ; MELT_LOCATION ("warmelt-macro.melt:7042:/ quasiblock"); /*_.PROGN___V28*/ meltfptr[26] = /*_.IF___V26*/ meltfptr[25];; /*^compute */ /*_.IFCPP___V25*/ meltfptr[24] = /*_.PROGN___V28*/ meltfptr[26];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7042:/ clear"); /*clear *//*_#MELT_NEED_DBG__L8*/ meltfnum[3] = 0; /*^clear */ /*clear *//*_.IF___V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.PROGN___V28*/ meltfptr[26] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V25*/ meltfptr[24] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:7043:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.RES__V23*/ meltfptr[22];; { MELT_LOCATION ("warmelt-macro.melt:7043:/ 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___V18*/ meltfptr[14] = /*_.RETURN___V29*/ meltfptr[25];; MELT_LOCATION ("warmelt-macro.melt:7033:/ clear"); /*clear *//*_.CONT__V19*/ meltfptr[15] = 0; /*^clear */ /*clear *//*_.LOC__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.LIST_FIRST__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.CURPAIR__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.RES__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_#NOTNULL__L7*/ meltfnum[5] = 0; /*^clear */ /*clear *//*_.IFCPP___V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_.RETURN___V29*/ meltfptr[25] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:7027:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V18*/ meltfptr[14];; { MELT_LOCATION ("warmelt-macro.melt:7027:/ 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___V8*/ meltfptr[6] = 0; /*^clear */ /*clear *//*_#NULL__L3*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IF___V10*/ meltfptr[8] = 0; /*^clear */ /*clear *//*_.IFCPP___V12*/ meltfptr[10] = 0; /*^clear */ /*clear *//*_.IFCPP___V14*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.LET___V18*/ meltfptr[14] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("MEXPAND_PARENT_MODULE_ENVIRONMENT", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_151_warmelt_macro_MEXPAND_PARENT_MODULE_ENVIRONMENT_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_151_warmelt_macro_MEXPAND_PARENT_MODULE_ENVIRONMENT */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_152_warmelt_macro_MEXPAND_UPDATE_CURRENT_MODULE_ENVIRONMENT_CONTAINER (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_152_warmelt_macro_MEXPAND_UPDATE_CURRENT_MODULE_ENVIRONMENT_CONTAINER_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_152_warmelt_macro_MEXPAND_UPDATE_CURRENT_MODULE_ENVIRONMENT_CONTAINER_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 8 long mcfr_varnum[8]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_152_warmelt_macro_MEXPAND_UPDATE_CURRENT_MODULE_ENVIRONMENT_CONTAINER is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_152_warmelt_macro_MEXPAND_UPDATE_CURRENT_MODULE_ENVIRONMENT_CONTAINER_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_152_warmelt_macro_MEXPAND_UPDATE_CURRENT_MODULE_ENVIRONMENT_CONTAINER 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 ("MEXPAND_UPDATE_CURRENT_MODULE_ENVIRONMENT_CONTAINER", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-macro.melt:7056:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:7057:/ 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-macro.melt:7057:/ 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-macro.melt:7057:/ 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-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 7057; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpand_update_current_module_environment_container sexpr"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SEXPR__V2*/ meltfptr[1]; /*_.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-macro.melt:7057:/ 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-macro.melt:7057:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7057:/ 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-macro.melt:7058:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SEXPR */ meltfrout-> tabval[1])));; MELT_LOCATION ("warmelt-macro.melt:7058:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:7058:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sexpr"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (7058) ? (7058) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7058:/ clear"); /*clear *//*_#IS_A__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-macro.melt:7059:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-macro.melt:7059:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:7059:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (7059) ? (7059) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7059:/ clear"); /*clear *//*_#IS_A__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-macro.melt:7060:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_OBJECT__L5*/ meltfnum[1] = (melt_magic_discr ((melt_ptr_t) ( /*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);; MELT_LOCATION ("warmelt-macro.melt:7060:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V15*/ meltfptr[14] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:7060:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check modctx"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (7060) ? (7060) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V15*/ meltfptr[14] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V14*/ meltfptr[12] = /*_.IFELSE___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7060:/ clear"); /*clear *//*_#IS_OBJECT__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-macro.melt:7061:/ quasiblock"); MELT_LOCATION ("warmelt-macro.melt:7062:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.LOC__V17*/ meltfptr[16] = slot; }; ; MELT_LOCATION ("warmelt-macro.melt:7063:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SEXP_CONTENTS"); /*_.CONT__V18*/ meltfptr[17] = slot; }; ; /*_.LIST_FIRST__V19*/ meltfptr[18] = (melt_list_first ((melt_ptr_t) ( /*_.CONT__V18*/ meltfptr[17])));; /*^compute */ /*_.CURPAIR__V20*/ meltfptr[19] = (melt_pair_tail ((melt_ptr_t) ( /*_.LIST_FIRST__V19*/ meltfptr[18])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:7065:/ quasiblock"); /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_SOURCE_UPDATE_CURRENT_MODULE_ENVIRONMENT_CONTAINER */ meltfrout->tabval[3])), (3), "CLASS_SOURCE_UPDATE_CURRENT_MODULE_ENVIRONMENT_CONTAINER"); /*_.INST__V22*/ meltfptr[21] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LOCA_LOCATION", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V22*/ meltfptr[21])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V22*/ meltfptr[21]), (1), ( /*_.LOC__V17*/ meltfptr[16]), "LOCA_LOCATION"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V22*/ meltfptr[21], "newly made instance"); ; /*_.RES__V21*/ meltfptr[20] = /*_.INST__V22*/ meltfptr[21];; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#NOTNULL__L6*/ meltfnum[0] = (( /*_.CURPAIR__V20*/ meltfptr[19]) != NULL);; MELT_LOCATION ("warmelt-macro.melt:7068:/ cond"); /*cond */ if ( /*_#NOTNULL__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-macro.melt:7069:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.LOC__V17*/ meltfptr[16]), ("(UPDATE_CURRENT_MODULE_ENVIRONMENT_CONTAINER) should not have any argument"), (melt_ptr_t) 0); } ; /*epilog */ } ; } /*noelse */ ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:7070:/ 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-macro.melt:7070:/ 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-macro.melt:7070:/ 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-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 7070; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpand_update_current_module_environment_container return res"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RES__V21*/ meltfptr[20]; /*_.MELT_DEBUG_FUN__V25*/ meltfptr[24] = 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___V24*/ meltfptr[23] = /*_.MELT_DEBUG_FUN__V25*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7070:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V25*/ meltfptr[24] = 0; } ; } else { /*^cond.else */ /*_.IF___V24*/ meltfptr[23] = NULL;; } ; MELT_LOCATION ("warmelt-macro.melt:7070:/ quasiblock"); /*_.PROGN___V26*/ meltfptr[24] = /*_.IF___V24*/ meltfptr[23];; /*^compute */ /*_.IFCPP___V23*/ meltfptr[22] = /*_.PROGN___V26*/ meltfptr[24];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7070:/ clear"); /*clear *//*_#MELT_NEED_DBG__L7*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.PROGN___V26*/ meltfptr[24] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V23*/ meltfptr[22] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:7071:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.RES__V21*/ meltfptr[20];; { MELT_LOCATION ("warmelt-macro.melt:7071:/ 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___V16*/ meltfptr[14] = /*_.RETURN___V27*/ meltfptr[23];; MELT_LOCATION ("warmelt-macro.melt:7061:/ clear"); /*clear *//*_.LOC__V17*/ meltfptr[16] = 0; /*^clear */ /*clear *//*_.CONT__V18*/ meltfptr[17] = 0; /*^clear */ /*clear *//*_.LIST_FIRST__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.CURPAIR__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.RES__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_#NOTNULL__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFCPP___V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.RETURN___V27*/ meltfptr[23] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:7056:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V16*/ meltfptr[14];; { MELT_LOCATION ("warmelt-macro.melt:7056:/ 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 *//*_.LET___V16*/ meltfptr[14] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("MEXPAND_UPDATE_CURRENT_MODULE_ENVIRONMENT_CONTAINER", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_152_warmelt_macro_MEXPAND_UPDATE_CURRENT_MODULE_ENVIRONMENT_CONTAINER_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_152_warmelt_macro_MEXPAND_UPDATE_CURRENT_MODULE_ENVIRONMENT_CONTAINER */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_153_warmelt_macro_MEXPAND_FETCH_PREDEFINED (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_153_warmelt_macro_MEXPAND_FETCH_PREDEFINED_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_153_warmelt_macro_MEXPAND_FETCH_PREDEFINED_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 33 melt_ptr_t mcfr_varptr[33]; #define MELTFRAM_NBVARNUM 14 long mcfr_varnum[14]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_153_warmelt_macro_MEXPAND_FETCH_PREDEFINED is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_153_warmelt_macro_MEXPAND_FETCH_PREDEFINED_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 < 33; 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_153_warmelt_macro_MEXPAND_FETCH_PREDEFINED nbval 33*/ meltfram__.mcfr_nbvar = 33 /*nbval */ ; meltfram__.mcfr_clos = meltclosp_; meltfram__.mcfr_prev = (struct melt_callframe_st *) melt_topframe; melt_topframe = (struct melt_callframe_st *) &meltfram__; melt_trace_start ("MEXPAND_FETCH_PREDEFINED", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-macro.melt:7087:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:7088:/ 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-macro.melt:7088:/ 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-macro.melt:7088:/ 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-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 7088; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpand_fetch_predefined sexpr"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SEXPR__V2*/ meltfptr[1]; /*_.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-macro.melt:7088:/ 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-macro.melt:7088:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7088:/ 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-macro.melt:7089:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SEXPR */ meltfrout-> tabval[1])));; MELT_LOCATION ("warmelt-macro.melt:7089:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:7089:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sexpr"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (7089) ? (7089) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7089:/ clear"); /*clear *//*_#IS_A__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-macro.melt:7090:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-macro.melt:7090:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:7090:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (7090) ? (7090) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7090:/ clear"); /*clear *//*_#IS_A__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 */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#NULL__L5*/ meltfnum[1] = (( /*_.MEXPANDER__V4*/ meltfptr[3]) == NULL);; MELT_LOCATION ("warmelt-macro.melt:7091:/ cond"); /*cond */ if ( /*_#NULL__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^compute */ /*_.MEXPANDER__V4*/ meltfptr[3] = /*_.SETQ___V15*/ meltfptr[14] = ( /*!MACROEXPAND_1 */ meltfrout->tabval[3]);; /*_.IF___V14*/ meltfptr[12] = /*_.SETQ___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7091:/ clear"); /*clear *//*_.SETQ___V15*/ meltfptr[14] = 0; } ; } else { /*^cond.else */ /*_.IF___V14*/ meltfptr[12] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:7092:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_OBJECT__L6*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);; MELT_LOCATION ("warmelt-macro.melt:7092:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V17*/ meltfptr[16] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:7092:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check modctx"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (7092) ? (7092) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V17*/ meltfptr[16] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V16*/ meltfptr[14] = /*_.IFELSE___V17*/ meltfptr[16];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7092:/ clear"); /*clear *//*_#IS_OBJECT__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V17*/ meltfptr[16] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V16*/ meltfptr[14] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-macro.melt:7093:/ quasiblock"); MELT_LOCATION ("warmelt-macro.melt:7094:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SEXP_CONTENTS"); /*_.CONT__V19*/ meltfptr[18] = slot; }; ; MELT_LOCATION ("warmelt-macro.melt:7095:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.LOC__V20*/ meltfptr[19] = slot; }; ; /*_.LIST_FIRST__V21*/ meltfptr[20] = (melt_list_first ((melt_ptr_t) ( /*_.CONT__V19*/ meltfptr[18])));; /*^compute */ /*_.CURPAIR__V22*/ meltfptr[21] = (melt_pair_tail ((melt_ptr_t) ( /*_.LIST_FIRST__V21*/ meltfptr[20])));; /*^compute */ /*_.PAIR_HEAD__V23*/ meltfptr[22] = (melt_pair_head ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:7097:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.MODCTX__V5*/ meltfptr[4]; /*_.SPREDEF__V24*/ meltfptr[23] = melt_apply ((meltclosure_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3]), (melt_ptr_t) ( /*_.PAIR_HEAD__V23*/ meltfptr[22]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; MELT_CHECK_SIGNAL (); ; /*_#NULL__L7*/ meltfnum[0] = (( /*_.CURPAIR__V22*/ meltfptr[21]) == NULL);; MELT_LOCATION ("warmelt-macro.melt:7099:/ cond"); /*cond */ if ( /*_#NULL__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-macro.melt:7100:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.LOC__V20*/ meltfptr[19]), ("(FETCH_PREDEFINED ) missing argument"), (melt_ptr_t) 0); } ; /*epilog */ } ; } /*noelse */ ; MELT_CHECK_SIGNAL (); ; /*_.PAIR_TAIL__V25*/ meltfptr[24] = (melt_pair_tail ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; /*^compute */ /*_#NOTNULL__L8*/ meltfnum[7] = (( /*_.PAIR_TAIL__V25*/ meltfptr[24]) != NULL);; MELT_LOCATION ("warmelt-macro.melt:7101:/ cond"); /*cond */ if ( /*_#NOTNULL__L8*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-macro.melt:7102:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.LOC__V20*/ meltfptr[19]), ("(FETCH_PREDEFINED ) extra argument"), (melt_ptr_t) 0); } ; /*epilog */ } ; } /*noelse */ ; MELT_CHECK_SIGNAL (); ; /*_#IS_A__L9*/ meltfnum[8] = melt_is_instance_of ((melt_ptr_t) ( /*_.SPREDEF__V24*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_SYMBOL */ meltfrout-> tabval[4])));; MELT_LOCATION ("warmelt-macro.melt:7103:/ cond"); /*cond */ if ( /*_#IS_A__L9*/ meltfnum[8]) /*then */ { /*^cond.then */ /*_#OR___L10*/ meltfnum[9] = /*_#IS_A__L9*/ meltfnum[8];; } else { MELT_LOCATION ("warmelt-macro.melt:7103:/ cond.else"); /*^block */ /*anyblock */ { /*_#IS_INTEGERBOX__L11*/ meltfnum[10] = (melt_magic_discr ((melt_ptr_t) ( /*_.SPREDEF__V24*/ meltfptr[23])) == MELTOBMAG_INT);; /*^compute */ /*_#OR___L10*/ meltfnum[9] = /*_#IS_INTEGERBOX__L11*/ meltfnum[10];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7103:/ clear"); /*clear *//*_#IS_INTEGERBOX__L11*/ meltfnum[10] = 0; } ; } ; /*_#NOT__L12*/ meltfnum[10] = (!( /*_#OR___L10*/ meltfnum[9]));; MELT_LOCATION ("warmelt-macro.melt:7103:/ cond"); /*cond */ if ( /*_#NOT__L12*/ meltfnum[10]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-macro.melt:7104:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.LOC__V20*/ meltfptr[19]), ("(FETCH_PREDEFINED ) invalid argument"), (melt_ptr_t) 0); } ; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-macro.melt:7105:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_SOURCE_FETCH_PREDEFINED */ meltfrout->tabval[5])), (3), "CLASS_SOURCE_FETCH_PREDEFINED"); /*_.INST__V28*/ meltfptr[27] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LOCA_LOCATION", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V28*/ meltfptr[27]), (1), ( /*_.LOC__V20*/ meltfptr[19]), "LOCA_LOCATION"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @SFEPD_PREDEF", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V28*/ meltfptr[27])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V28*/ meltfptr[27]), (2), ( /*_.SPREDEF__V24*/ meltfptr[23]), "SFEPD_PREDEF"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V28*/ meltfptr[27], "newly made instance"); ; /*_.RES__V27*/ meltfptr[26] = /*_.INST__V28*/ meltfptr[27];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:7108:/ cppif.then"); /*^block */ /*anyblock */ { { /*^locexp */ /*melt_increment_dbgcounter */ #if MELT_HAVE_DEBUG melt_dbgcounter++; #endif ; } ; MELT_CHECK_SIGNAL (); ; /*_#MELT_NEED_DBG__L13*/ 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-macro.melt:7108:/ cond"); /*cond */ if ( /*_#MELT_NEED_DBG__L13*/ meltfnum[12]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*_#THE_MELTCALLCOUNT__L14*/ meltfnum[13] = #ifdef meltcallcount meltcallcount /* the_meltcallcount */ #else 0L #endif /* meltcallcount the_meltcallcount */ ;; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:7108:/ apply"); /*apply */ { union meltparam_un argtab[5]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_long = /*_#THE_MELTCALLCOUNT__L14*/ meltfnum[13]; /*^apply.arg */ argtab[1].meltbp_cstring = "warmelt-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 7108; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpand_fetch_predefined result"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RES__V27*/ meltfptr[26]; /*_.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[29] = /*_.MELT_DEBUG_FUN__V31*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7108:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L14*/ meltfnum[13] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V31*/ meltfptr[30] = 0; } ; } else { /*^cond.else */ /*_.IF___V30*/ meltfptr[29] = NULL;; } ; MELT_LOCATION ("warmelt-macro.melt:7108:/ quasiblock"); /*_.PROGN___V32*/ meltfptr[30] = /*_.IF___V30*/ meltfptr[29];; /*^compute */ /*_.IFCPP___V29*/ meltfptr[28] = /*_.PROGN___V32*/ meltfptr[30];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7108:/ clear"); /*clear *//*_#MELT_NEED_DBG__L13*/ meltfnum[12] = 0; /*^clear */ /*clear *//*_.IF___V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.PROGN___V32*/ meltfptr[30] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V29*/ meltfptr[28] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:7109:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.RES__V27*/ meltfptr[26];; { MELT_LOCATION ("warmelt-macro.melt:7109:/ 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___V26*/ meltfptr[25] = /*_.RETURN___V33*/ meltfptr[29];; MELT_LOCATION ("warmelt-macro.melt:7105:/ clear"); /*clear *//*_.RES__V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_.IFCPP___V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.RETURN___V33*/ meltfptr[29] = 0; /*_.LET___V18*/ meltfptr[16] = /*_.LET___V26*/ meltfptr[25];; MELT_LOCATION ("warmelt-macro.melt:7093:/ clear"); /*clear *//*_.CONT__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.LOC__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.LIST_FIRST__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.CURPAIR__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.PAIR_HEAD__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.SPREDEF__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_#NULL__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.PAIR_TAIL__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_#NOTNULL__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_#IS_A__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_#OR___L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_#NOT__L12*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_.LET___V26*/ meltfptr[25] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:7087:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V18*/ meltfptr[16];; { MELT_LOCATION ("warmelt-macro.melt:7087:/ 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 *//*_#NULL__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V14*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.IFCPP___V16*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.LET___V18*/ meltfptr[16] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("MEXPAND_FETCH_PREDEFINED", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_153_warmelt_macro_MEXPAND_FETCH_PREDEFINED_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_153_warmelt_macro_MEXPAND_FETCH_PREDEFINED */ melt_ptr_t MELT_MODULE_VISIBILITY meltrout_154_warmelt_macro_MEXPAND_STORE_PREDEFINED (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_154_warmelt_macro_MEXPAND_STORE_PREDEFINED_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_154_warmelt_macro_MEXPAND_STORE_PREDEFINED_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 15 long mcfr_varnum[15]; /*others*/ long _spare_; } *meltframptr_ = 0, meltfram__; /*declfrastruct */ #define meltframe meltfram__ /*meltrout_154_warmelt_macro_MEXPAND_STORE_PREDEFINED is not initial declstructinit */ if (MELT_UNLIKELY (meltxargdescr_ == MELTPAR_MARKGGC)) { /*mark for ggc */ int ix = 0; meltframptr_ = (struct frame_meltrout_154_warmelt_macro_MEXPAND_STORE_PREDEFINED_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_154_warmelt_macro_MEXPAND_STORE_PREDEFINED 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 ("MEXPAND_STORE_PREDEFINED", meltcallcount); /*getargs*/ /*getarg#0 */ MELT_LOCATION ("warmelt-macro.melt:7116:/ getarg"); /*_.SEXPR__V2*/ meltfptr[1] = (melt_ptr_t) meltfirstargp_; /*getarg#1 */ /*^getarg */ if (meltxargdescr_[0] != MELTBPAR_PTR) goto lab_endgetargs; /*_.ENV__V3*/ meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2])) != NULL); /*getarg#2 */ /*^getarg */ if (meltxargdescr_[1] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MEXPANDER__V4*/ meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3])) != NULL); /*getarg#3 */ /*^getarg */ if (meltxargdescr_[2] != MELTBPAR_PTR) goto lab_endgetargs; /*_.MODCTX__V5*/ meltfptr[4] = (meltxargtab_[2].meltbp_aptr) ? (*(meltxargtab_[2].meltbp_aptr)) : NULL; gcc_assert (melt_discr ((melt_ptr_t) ( /*_.MODCTX__V5*/ meltfptr[4])) != NULL); ; goto lab_endgetargs; lab_endgetargs:; /*body*/ /*^block*/ /*anyblock*/ { #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:7117:/ 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-macro.melt:7117:/ 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-macro.melt:7117:/ 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-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 7117; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpand_store_predefined sexpr"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.SEXPR__V2*/ meltfptr[1]; /*_.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-macro.melt:7117:/ 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-macro.melt:7117:/ quasiblock"); /*_.PROGN___V9*/ meltfptr[7] = /*_.IF___V7*/ meltfptr[6];; /*^compute */ /*_.IFCPP___V6*/ meltfptr[5] = /*_.PROGN___V9*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7117:/ 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-macro.melt:7118:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L3*/ meltfnum[1] = melt_is_instance_of ((melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]), (melt_ptr_t) (( /*!CLASS_SEXPR */ meltfrout-> tabval[1])));; MELT_LOCATION ("warmelt-macro.melt:7118:/ cond"); /*cond */ if ( /*_#IS_A__L3*/ meltfnum[1]) /*then */ { /*^cond.then */ /*_.IFELSE___V11*/ meltfptr[7] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:7118:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check sexpr"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (7118) ? (7118) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V11*/ meltfptr[7] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V10*/ meltfptr[6] = /*_.IFELSE___V11*/ meltfptr[7];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7118:/ clear"); /*clear *//*_#IS_A__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-macro.melt:7119:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_A__L4*/ meltfnum[0] = melt_is_instance_of ((melt_ptr_t) ( /*_.ENV__V3*/ meltfptr[2]), (melt_ptr_t) (( /*!CLASS_ENVIRONMENT */ meltfrout->tabval[2])));; MELT_LOCATION ("warmelt-macro.melt:7119:/ cond"); /*cond */ if ( /*_#IS_A__L4*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V13*/ meltfptr[12] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:7119:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check env"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (7119) ? (7119) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V13*/ meltfptr[12] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V12*/ meltfptr[7] = /*_.IFELSE___V13*/ meltfptr[12];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7119:/ clear"); /*clear *//*_#IS_A__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 */ ; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#NULL__L5*/ meltfnum[1] = (( /*_.MEXPANDER__V4*/ meltfptr[3]) == NULL);; MELT_LOCATION ("warmelt-macro.melt:7120:/ cond"); /*cond */ if ( /*_#NULL__L5*/ meltfnum[1]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { /*^compute */ /*_.MEXPANDER__V4*/ meltfptr[3] = /*_.SETQ___V15*/ meltfptr[14] = ( /*!MACROEXPAND_1 */ meltfrout->tabval[3]);; /*_.IF___V14*/ meltfptr[12] = /*_.SETQ___V15*/ meltfptr[14];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7120:/ clear"); /*clear *//*_.SETQ___V15*/ meltfptr[14] = 0; } ; } else { /*^cond.else */ /*_.IF___V14*/ meltfptr[12] = NULL;; } ; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:7121:/ cppif.then"); /*^block */ /*anyblock */ { MELT_CHECK_SIGNAL (); ; /*_#IS_OBJECT__L6*/ meltfnum[0] = (melt_magic_discr ((melt_ptr_t) ( /*_.MODCTX__V5*/ meltfptr[4])) == MELTOBMAG_OBJECT);; MELT_LOCATION ("warmelt-macro.melt:7121:/ cond"); /*cond */ if ( /*_#IS_OBJECT__L6*/ meltfnum[0]) /*then */ { /*^cond.then */ /*_.IFELSE___V17*/ meltfptr[16] = ( /*nil */ NULL);; } else { MELT_LOCATION ("warmelt-macro.melt:7121:/ cond.else"); /*^block */ /*anyblock */ { { /*^locexp */ melt_assert_failed (("check modctx"), ("warmelt-macro.melt") ? ("warmelt-macro.melt") : __FILE__, (7121) ? (7121) : __LINE__, __FUNCTION__); ; } ; /*clear *//*_.IFELSE___V17*/ meltfptr[16] = 0; /*epilog */ } ; } ; /*^compute */ /*_.IFCPP___V16*/ meltfptr[14] = /*_.IFELSE___V17*/ meltfptr[16];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7121:/ clear"); /*clear *//*_#IS_OBJECT__L6*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.IFELSE___V17*/ meltfptr[16] = 0; } #else /*MELT_HAVE_DEBUG */ /*^cppif.else */ /*_.IFCPP___V16*/ meltfptr[14] = ( /*nil */ NULL); #endif /*MELT_HAVE_DEBUG */ ; MELT_LOCATION ("warmelt-macro.melt:7122:/ quasiblock"); MELT_LOCATION ("warmelt-macro.melt:7123:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 2, "SEXP_CONTENTS"); /*_.CONT__V19*/ meltfptr[18] = slot; }; ; MELT_LOCATION ("warmelt-macro.melt:7124:/ getslot"); { melt_ptr_t slot = NULL, obj = NULL; obj = (melt_ptr_t) ( /*_.SEXPR__V2*/ meltfptr[1]) /*=obj*/ ; melt_object_get_field (slot, obj, 1, "LOCA_LOCATION"); /*_.LOC__V20*/ meltfptr[19] = slot; }; ; /*_.LIST_FIRST__V21*/ meltfptr[20] = (melt_list_first ((melt_ptr_t) ( /*_.CONT__V19*/ meltfptr[18])));; /*^compute */ /*_.CURPAIR__V22*/ meltfptr[21] = (melt_pair_tail ((melt_ptr_t) ( /*_.LIST_FIRST__V21*/ meltfptr[20])));; /*^compute */ /*_.PAIR_HEAD__V23*/ meltfptr[22] = (melt_pair_head ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:7126:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.MODCTX__V5*/ meltfptr[4]; /*_.SPREDEF__V24*/ meltfptr[23] = melt_apply ((meltclosure_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3]), (melt_ptr_t) ( /*_.PAIR_HEAD__V23*/ meltfptr[22]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*_.SVAL__V25*/ meltfptr[24] = ( /*nil */ NULL);; MELT_CHECK_SIGNAL (); ; /*^compute */ /*_#NULL__L7*/ meltfnum[0] = (( /*_.CURPAIR__V22*/ meltfptr[21]) == NULL);; MELT_LOCATION ("warmelt-macro.melt:7129:/ cond"); /*cond */ if ( /*_#NULL__L7*/ meltfnum[0]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-macro.melt:7130:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.LOC__V20*/ meltfptr[19]), ("(STORE_PREDEFINED ) missing predef"), (melt_ptr_t) 0); } ; /*epilog */ } ; } /*noelse */ ; /*_.PAIR_TAIL__V26*/ meltfptr[25] = (melt_pair_tail ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_LOCATION ("warmelt-macro.melt:7131:/ compute"); /*_.CURPAIR__V22*/ meltfptr[21] = /*_.SETQ___V27*/ meltfptr[26] = /*_.PAIR_TAIL__V26*/ meltfptr[25];; MELT_CHECK_SIGNAL (); ; /*_#NULL__L8*/ meltfnum[7] = (( /*_.CURPAIR__V22*/ meltfptr[21]) == NULL);; MELT_LOCATION ("warmelt-macro.melt:7132:/ cond"); /*cond */ if ( /*_#NULL__L8*/ meltfnum[7]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-macro.melt:7133:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.LOC__V20*/ meltfptr[19]), ("(STORE_PREDEFINED ) missing predef"), (melt_ptr_t) 0); } ; /*epilog */ } ; } /*noelse */ ; /*_.PAIR_HEAD__V28*/ meltfptr[27] = (melt_pair_head ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:7134:/ apply"); /*apply */ { union meltparam_un argtab[3]; memset (&argtab, 0, sizeof (argtab)); /*^apply.arg */ argtab[0].meltbp_aptr = (melt_ptr_t *) & /*_.ENV__V3*/ meltfptr[2]; /*^apply.arg */ argtab[1].meltbp_aptr = (melt_ptr_t *) & /*_.MEXPANDER__V4*/ meltfptr[3]; /*^apply.arg */ argtab[2].meltbp_aptr = (melt_ptr_t *) & /*_.MODCTX__V5*/ meltfptr[4]; /*_.MEXPANDER__V29*/ meltfptr[28] = melt_apply ((meltclosure_ptr_t) ( /*_.MEXPANDER__V4*/ meltfptr[3]), (melt_ptr_t) ( /*_.PAIR_HEAD__V28*/ meltfptr[27]), (MELTBPARSTR_PTR MELTBPARSTR_PTR MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un *) 0); } ; /*^compute */ /*_.SVAL__V25*/ meltfptr[24] = /*_.SETQ___V30*/ meltfptr[29] = /*_.MEXPANDER__V29*/ meltfptr[28];; MELT_CHECK_SIGNAL (); ; /*_.PAIR_TAIL__V31*/ meltfptr[30] = (melt_pair_tail ((melt_ptr_t) ( /*_.CURPAIR__V22*/ meltfptr[21])));; /*^compute */ /*_#NOTNULL__L9*/ meltfnum[8] = (( /*_.PAIR_TAIL__V31*/ meltfptr[30]) != NULL);; MELT_LOCATION ("warmelt-macro.melt:7135:/ cond"); /*cond */ if ( /*_#NOTNULL__L9*/ meltfnum[8]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-macro.melt:7136:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.LOC__V20*/ meltfptr[19]), ("(STORE_PREDEFINED ) extra argument"), (melt_ptr_t) 0); } ; /*epilog */ } ; } /*noelse */ ; MELT_CHECK_SIGNAL (); ; /*_#IS_A__L10*/ meltfnum[9] = melt_is_instance_of ((melt_ptr_t) ( /*_.SPREDEF__V24*/ meltfptr[23]), (melt_ptr_t) (( /*!CLASS_SYMBOL */ meltfrout-> tabval[4])));; MELT_LOCATION ("warmelt-macro.melt:7137:/ cond"); /*cond */ if ( /*_#IS_A__L10*/ meltfnum[9]) /*then */ { /*^cond.then */ /*_#OR___L11*/ meltfnum[10] = /*_#IS_A__L10*/ meltfnum[9];; } else { MELT_LOCATION ("warmelt-macro.melt:7137:/ cond.else"); /*^block */ /*anyblock */ { /*_#IS_INTEGERBOX__L12*/ meltfnum[11] = (melt_magic_discr ((melt_ptr_t) ( /*_.SPREDEF__V24*/ meltfptr[23])) == MELTOBMAG_INT);; /*^compute */ /*_#OR___L11*/ meltfnum[10] = /*_#IS_INTEGERBOX__L12*/ meltfnum[11];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7137:/ clear"); /*clear *//*_#IS_INTEGERBOX__L12*/ meltfnum[11] = 0; } ; } ; /*_#NOT__L13*/ meltfnum[11] = (!( /*_#OR___L11*/ meltfnum[10]));; MELT_LOCATION ("warmelt-macro.melt:7137:/ cond"); /*cond */ if ( /*_#NOT__L13*/ meltfnum[11]) /*then */ { /*^cond.then */ /*^block */ /*anyblock */ { { MELT_LOCATION ("warmelt-macro.melt:7138:/ locexp"); /* error_plain */ melt_error_str ((melt_ptr_t) ( /*_.LOC__V20*/ meltfptr[19]), ("(STORE_PREDEFINED ) invalid predef"), (melt_ptr_t) 0); } ; /*epilog */ } ; } /*noelse */ ; MELT_LOCATION ("warmelt-macro.melt:7139:/ quasiblock"); MELT_CHECK_SIGNAL (); ; /*^quasiblock */ /*^rawallocobj */ /*rawallocobj */ { melt_ptr_t newobj = 0; melt_raw_object_create (newobj, (melt_ptr_t) (( /*!CLASS_SOURCE_STORE_PREDEFINED */ meltfrout->tabval[5])), (4), "CLASS_SOURCE_STORE_PREDEFINED"); /*_.INST__V34*/ meltfptr[33] = newobj; }; ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @LOCA_LOCATION", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[33])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[33]), (1), ( /*_.LOC__V20*/ meltfptr[19]), "LOCA_LOCATION"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @SSTPD_PREDEF", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[33])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[33]), (2), ( /*_.SPREDEF__V24*/ meltfptr[23]), "SSTPD_PREDEF"); ; /*^putslot */ /*putslot */ melt_assertmsg ("putslot checkobj @SSTPD_VALUE", melt_magic_discr ((melt_ptr_t) ( /*_.INST__V34*/ meltfptr[33])) == MELTOBMAG_OBJECT); melt_putfield_object (( /*_.INST__V34*/ meltfptr[33]), (3), ( /*_.SVAL__V25*/ meltfptr[24]), "SSTPD_VALUE"); ; /*^touchobj */ melt_dbgtrace_written_object ( /*_.INST__V34*/ meltfptr[33], "newly made instance"); ; /*_.RES__V33*/ meltfptr[32] = /*_.INST__V34*/ meltfptr[33];; #if MELT_HAVE_DEBUG MELT_LOCATION ("warmelt-macro.melt:7144:/ 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-macro.melt:7144:/ 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-macro.melt:7144:/ 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-macro.melt"; /*^apply.arg */ argtab[2].meltbp_long = 7144; /*^apply.arg */ argtab[3].meltbp_cstring = "mexpand_store_predefined result"; /*^apply.arg */ argtab[4].meltbp_aptr = (melt_ptr_t *) & /*_.RES__V33*/ meltfptr[32]; /*_.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-macro.melt:7144:/ clear"); /*clear *//*_#THE_MELTCALLCOUNT__L15*/ meltfnum[14] = 0; /*^clear */ /*clear *//*_.MELT_DEBUG_FUN__V37*/ meltfptr[36] = 0; } ; } else { /*^cond.else */ /*_.IF___V36*/ meltfptr[35] = NULL;; } ; MELT_LOCATION ("warmelt-macro.melt:7144:/ quasiblock"); /*_.PROGN___V38*/ meltfptr[36] = /*_.IF___V36*/ meltfptr[35];; /*^compute */ /*_.IFCPP___V35*/ meltfptr[34] = /*_.PROGN___V38*/ meltfptr[36];; /*epilog */ MELT_LOCATION ("warmelt-macro.melt:7144:/ clear"); /*clear *//*_#MELT_NEED_DBG__L14*/ meltfnum[13] = 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 */ ; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:7145:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.RES__V33*/ meltfptr[32];; { MELT_LOCATION ("warmelt-macro.melt:7145:/ 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___V32*/ meltfptr[31] = /*_.RETURN___V39*/ meltfptr[35];; MELT_LOCATION ("warmelt-macro.melt:7139:/ clear"); /*clear *//*_.RES__V33*/ meltfptr[32] = 0; /*^clear */ /*clear *//*_.IFCPP___V35*/ meltfptr[34] = 0; /*^clear */ /*clear *//*_.RETURN___V39*/ meltfptr[35] = 0; /*_.LET___V18*/ meltfptr[16] = /*_.LET___V32*/ meltfptr[31];; MELT_LOCATION ("warmelt-macro.melt:7122:/ clear"); /*clear *//*_.CONT__V19*/ meltfptr[18] = 0; /*^clear */ /*clear *//*_.LOC__V20*/ meltfptr[19] = 0; /*^clear */ /*clear *//*_.LIST_FIRST__V21*/ meltfptr[20] = 0; /*^clear */ /*clear *//*_.CURPAIR__V22*/ meltfptr[21] = 0; /*^clear */ /*clear *//*_.PAIR_HEAD__V23*/ meltfptr[22] = 0; /*^clear */ /*clear *//*_.SPREDEF__V24*/ meltfptr[23] = 0; /*^clear */ /*clear *//*_.SVAL__V25*/ meltfptr[24] = 0; /*^clear */ /*clear *//*_#NULL__L7*/ meltfnum[0] = 0; /*^clear */ /*clear *//*_.PAIR_TAIL__V26*/ meltfptr[25] = 0; /*^clear */ /*clear *//*_.SETQ___V27*/ meltfptr[26] = 0; /*^clear */ /*clear *//*_#NULL__L8*/ meltfnum[7] = 0; /*^clear */ /*clear *//*_.PAIR_HEAD__V28*/ meltfptr[27] = 0; /*^clear */ /*clear *//*_.MEXPANDER__V29*/ meltfptr[28] = 0; /*^clear */ /*clear *//*_.SETQ___V30*/ meltfptr[29] = 0; /*^clear */ /*clear *//*_.PAIR_TAIL__V31*/ meltfptr[30] = 0; /*^clear */ /*clear *//*_#NOTNULL__L9*/ meltfnum[8] = 0; /*^clear */ /*clear *//*_#IS_A__L10*/ meltfnum[9] = 0; /*^clear */ /*clear *//*_#OR___L11*/ meltfnum[10] = 0; /*^clear */ /*clear *//*_#NOT__L13*/ meltfnum[11] = 0; /*^clear */ /*clear *//*_.LET___V32*/ meltfptr[31] = 0; MELT_CHECK_SIGNAL (); ; MELT_LOCATION ("warmelt-macro.melt:7116:/ quasiblock"); /*_.RETVAL___V1*/ meltfptr[0] = /*_.LET___V18*/ meltfptr[16];; { MELT_LOCATION ("warmelt-macro.melt:7116:/ 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 *//*_#NULL__L5*/ meltfnum[1] = 0; /*^clear */ /*clear *//*_.IF___V14*/ meltfptr[12] = 0; /*^clear */ /*clear *//*_.IFCPP___V16*/ meltfptr[14] = 0; /*^clear */ /*clear *//*_.LET___V18*/ meltfptr[16] = 0; } ; goto labend_rout; labend_rout: melt_trace_end ("MEXPAND_STORE_PREDEFINED", meltcallcount); MELT_TRACE_EXIT_LOCATION (); melt_blocklevel_signals = current_blocklevel_signals_meltrout_154_warmelt_macro_MEXPAND_STORE_PREDEFINED_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_154_warmelt_macro_MEXPAND_STORE_PREDEFINED */ /**** end of warmelt-macro+05.c ****/