2015-06-12 Basile Starynkevitch <basile@starynkevitch.net>
[official-gcc.git] / gcc / melt / generated / warmelt-base+01.cc
blob02997c040b541143887ed203bd46f7b2cea472b9
1 /* GCC MELT GENERATED C++ FILE warmelt-base+01.cc - DO NOT EDIT - see http://gcc-melt.org/ */
2 /* secondary MELT generated C++ file of rank #1 */
3 #include "melt-run.h"
6 /* used hash from melt-run.h when compiling this file: */
7 MELT_EXTERN const char meltrun_used_md5_melt_f1[] = MELT_RUN_HASHMD5 /* from melt-run.h */;
10 /**** warmelt-base+01.cc declarations ****/
11 /**** MELT GENERATED DECLARATIONS for warmelt-base ** DO NOT EDIT ; see gcc-melt.org ****/
13 /****++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
14 ***
15 Copyright 2008 - 2015 Free Software Foundation, Inc.
16 Contributed by Basile Starynkevitch <basile@starynkevitch.net>
17 and Pierre Vittet <piervit@pvittet.com>
19 This file is part of GCC.
21 GCC is free software; you can redistribute it and/or modify
22 it under the terms of the GNU General Public License as published by
23 the Free Software Foundation; either version 3, or (at your option)
24 any later version.
26 GCC is distributed in the hope that it will be useful,
27 but WITHOUT ANY WARRANTY; without even the implied warranty of
28 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29 GNU General Public License for more details.
31 You should have received a copy of the GNU General Public License
32 along with GCC; see the file COPYING3. If not see
33 <http://www.gnu.org/licenses/>.
34 ***
35 ----------------------------------------------------------------****/
38 /** ordinary MELT module meltbuild-sources/warmelt-base**/
39 #define MELT_HAS_INITIAL_ENVIRONMENT 1 /*usualmodule*/
43 class Melt_InitialClassyFrame_WARMELTmiBASE_h1045706295; // forward declaration fromline 6691
44 typedef Melt_InitialClassyFrame_WARMELTmiBASE_h1045706295 Melt_InitialFrame;
45 /**** no MELT module variables ****/
47 /*** 4 MELT called hook declarations ***/
49 /*declare MELT called hook #0 HOOK_FRESH_ENVIRONMENT_REFERENCE_MAKER **/
50 MELT_EXTERN melt_ptr_t melthook_HOOK_FRESH_ENVIRONMENT_REFERENCE_MAKER (melt_ptr_t melthookdatap, melt_ptr_t meltinp0_PREVENV, const char* meltinp1_MODULNAME);
52 /*declare MELT called hook #1 HOOK_MELT_MAKE_LOCATION **/
53 MELT_EXTERN melt_ptr_t melthook_HOOK_MELT_MAKE_LOCATION (melt_ptr_t melthookdatap, const char* meltinp0_FILENAME, long meltinp1_LINENO);
55 /*declare MELT called hook #2 HOOK_SYMBOL_IMPORTER **/
56 MELT_EXTERN melt_ptr_t melthook_HOOK_SYMBOL_IMPORTER (melt_ptr_t melthookdatap, const char* meltinp0_SYMNAMESTR, const char* meltinp1_MODULENAMESTR, melt_ptr_t meltinp2_PARENV);
58 /*declare MELT called hook #3 HOOK_VALUE_EXPORTER **/
59 MELT_EXTERN void melthook_HOOK_VALUE_EXPORTER (melt_ptr_t melthookdatap, melt_ptr_t meltinp0_SYM, melt_ptr_t meltinp1_VAL, melt_ptr_t meltinp2_CONTENV);
61 /*** end of 4 MELT called hook declarations ***/
63 /*** 2 extra MELT c-headers ***/
66 /** MELT extra c-header 1 : h966007662 **/
69 /* C++ standard headers for multiple_sort */
70 #include <vector>
71 #include <algorithm>
76 /** MELT extra c-header 2 : h611433 **/
79 /* A compare structure used in multiple_sort for std::stable_sort;
80 it has to be a compilation-unit global type;
81 it cannot be a struct inside multiple_sort;
82 see http://stackoverflow.com/q/21201685/841108
83 and ISO/IEC 14882 C++03 standard section 14.3.1
85 class Melt_Sort_Compare_Index
87 struct meltmultiple_st** melttup_ad;
88 melt_ptr_t* meltcmp_ad;
89 public:
90 Melt_Sort_Compare_Index (struct meltmultiple_st**tup_ad, melt_ptr_t* cmp_ad)
91 : melttup_ad(tup_ad), meltcmp_ad(cmp_ad) {};
92 ~Melt_Sort_Compare_Index()
94 meltcmp_ad=NULL;
95 melttup_ad=NULL;
97 bool operator () (int meltleftix, int meltrightix)
99 return (bool)
100 melthookproc_HOOK_SORT_COMPARE_LESS((*melttup_ad)->tabval[meltleftix],
101 (*melttup_ad)->tabval[meltrightix],
102 *meltcmp_ad);
104 }; /* end class Melt_Sort_Compare_Index */
107 /*** end of 2 extra MELT c-headers ***/
112 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_1_WARMELTmiBASE_MELT_MAKE_SEXPR(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
117 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_2_WARMELTmiBASE_plIV(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
122 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_3_WARMELTmiBASE_miIV(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
127 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_4_WARMELTmiBASE_stIV(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
132 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_5_WARMELTmiBASE_diIV(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
137 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_6_WARMELTmiBASE_pcIV(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
139 /** start of declaration for hook melthook_HOOK_MELT_MAKE_LOCATION**/
141 /** declaration of hook melthook_HOOK_MELT_MAKE_LOCATION */
142 MELT_EXTERN
143 melt_ptr_t melthook_HOOK_MELT_MAKE_LOCATION(melt_ptr_t melthookdatap,
144 const char* meltinp0_FILENAME,
145 long meltinp1_LINENO)
150 /** end of declaration for hook melthook_HOOK_MELT_MAKE_LOCATION**/
157 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_8_WARMELTmiBASE_LIST_NTH_ELEMENT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
162 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_9_WARMELTmiBASE_LIST_CLONE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
167 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
172 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_11_WARMELTmiBASE_ADD2OUT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
177 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_12_WARMELTmiBASE_ADD2LIST(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
182 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_13_WARMELTmiBASE_STRING4OUT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
187 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_14_WARMELTmiBASE_ADD2OUT4NULL(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
192 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
197 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_16_WARMELTmiBASE_ADD2OUT4STRING(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
202 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
207 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_18_WARMELTmiBASE_OUTPUT_JSON(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
212 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
217 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
222 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
227 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_22_WARMELTmiBASE_ADD2OUT4ANY(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
232 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
237 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
242 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
247 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
252 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
257 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_28_WARMELTmiBASE_SET_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_);
262 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_29_WARMELTmiBASE_INSTALL_VALUE_DESCRIPTOR(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
267 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_30_WARMELTmiBASE_RETRIEVE_VALUE_DESCRIPTOR_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_);
272 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_31_WARMELTmiBASE_LIST_REMOVE_LAST_ELEMENT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
277 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_32_WARMELTmiBASE_COMPLETE_SEQUENCE_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_);
282 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_33_WARMELTmiBASE_COMPLETE_SEQUENCE_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_);
287 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_34_WARMELTmiBASE_MELT_PREDEFINED_GET(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
292 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_35_WARMELTmiBASE_SYMBOL_CNAME(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
294 /** start of declaration for hook melthook_HOOK_SORT_COMPARE_LESS**/
296 /** declaration of hook melthook_HOOK_SORT_COMPARE_LESS */
297 MELT_EXTERN
298 long melthook_HOOK_SORT_COMPARE_LESS(melt_ptr_t melthookdatap,
299 melt_ptr_t meltinp0_LEFT,
300 melt_ptr_t meltinp1_RIGHT,
301 melt_ptr_t meltinp2_CMP)
306 /** end of declaration for hook melthook_HOOK_SORT_COMPARE_LESS**/
313 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_37_WARMELTmiBASE_MULTIPLE_SORT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
318 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_38_WARMELTmiBASE_MAPOBJECT_SORTED_ATTRIBUTE_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_);
323 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_39_WARMELTmiBASE_LAMBDA_cl1(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
328 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_40_WARMELTmiBASE_LAMBDA_cl2(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
333 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_41_WARMELTmiBASE_LAMBDA_cl3(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
338 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_42_WARMELTmiBASE_JSON_NAME_LESS(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
343 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_43_WARMELTmiBASE_JSON_NAME_EQUAL(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
348 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_44_WARMELTmiBASE_JSON_CANONICAL_NAME(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
353 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_45_WARMELTmiBASE_MAKE_JSONOBJECT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
358 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_46_WARMELTmiBASE_LAMBDA_cl4(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
363 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_47_WARMELTmiBASE_JSONOBJECT_GET_NAMED(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
368 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_48_WARMELTmiBASE_OUTJSON_JSONOBJ_METHOD(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
373 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_49_WARMELTmiBASE_OUTJSON_MULTIPLE_METHOD(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
378 MELT_EXTERN melt_ptr_t MELT_MODULE_VISIBILITY meltrout_50_WARMELTmiBASE_OUTJSON_NAMED_METHOD(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_, const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_);
381 MELT_EXTERN MELT_LOW_OPTIMIZATION void* melt_start_this_module (void*); /*mandatory start of module*/
383 MELT_EXTERN const char melt_module_is_gpl_compatible[];
385 /*declare opaque initial frame: */
387 typedef Melt_InitialClassyFrame_WARMELTmiBASE_h1045706295 /*opaqueinitialclassy*/ meltinitial_frame_t;
390 /* define different names when debugging or not */
391 #if MELT_HAVE_DEBUG
392 MELT_EXTERN const char meltmodule_WARMELTmiBASE__melt_have_debug_enabled[];
393 #define melt_have_debug_string meltmodule_WARMELTmiBASE__melt_have_debug_enabled
394 #else /*!MELT_HAVE_DEBUG*/
395 MELT_EXTERN const char meltmodule_WARMELTmiBASE__melt_have_debug_disabled[];
396 #define melt_have_debug_string meltmodule_WARMELTmiBASE__melt_have_debug_disabled
397 #endif /*!MELT_HAVE_DEBUG*/
401 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_0 (meltinitial_frame_t*, char*); //declare
403 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_1 (meltinitial_frame_t*, char*); //declare
405 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_2 (meltinitial_frame_t*, char*); //declare
407 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_3 (meltinitial_frame_t*, char*); //declare
409 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_4 (meltinitial_frame_t*, char*); //declare
411 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_5 (meltinitial_frame_t*, char*); //declare
413 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_6 (meltinitial_frame_t*, char*); //declare
415 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_7 (meltinitial_frame_t*, char*); //declare
417 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_8 (meltinitial_frame_t*, char*); //declare
419 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_9 (meltinitial_frame_t*, char*); //declare
421 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_10 (meltinitial_frame_t*, char*); //declare
423 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_11 (meltinitial_frame_t*, char*); //declare
425 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_12 (meltinitial_frame_t*, char*); //declare
427 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_13 (meltinitial_frame_t*, char*); //declare
429 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_14 (meltinitial_frame_t*, char*); //declare
431 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_15 (meltinitial_frame_t*, char*); //declare
433 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_16 (meltinitial_frame_t*, char*); //declare
435 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_17 (meltinitial_frame_t*, char*); //declare
437 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_18 (meltinitial_frame_t*, char*); //declare
439 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_19 (meltinitial_frame_t*, char*); //declare
441 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_20 (meltinitial_frame_t*, char*); //declare
443 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_21 (meltinitial_frame_t*, char*); //declare
445 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_22 (meltinitial_frame_t*, char*); //declare
447 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_23 (meltinitial_frame_t*, char*); //declare
449 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_24 (meltinitial_frame_t*, char*); //declare
451 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_25 (meltinitial_frame_t*, char*); //declare
453 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_26 (meltinitial_frame_t*, char*); //declare
455 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_27 (meltinitial_frame_t*, char*); //declare
457 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_28 (meltinitial_frame_t*, char*); //declare
459 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_29 (meltinitial_frame_t*, char*); //declare
461 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_30 (meltinitial_frame_t*, char*); //declare
463 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_31 (meltinitial_frame_t*, char*); //declare
465 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_32 (meltinitial_frame_t*, char*); //declare
467 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_33 (meltinitial_frame_t*, char*); //declare
469 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_34 (meltinitial_frame_t*, char*); //declare
471 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_35 (meltinitial_frame_t*, char*); //declare
473 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_36 (meltinitial_frame_t*, char*); //declare
475 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_37 (meltinitial_frame_t*, char*); //declare
477 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_38 (meltinitial_frame_t*, char*); //declare
479 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_39 (meltinitial_frame_t*, char*); //declare
481 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_40 (meltinitial_frame_t*, char*); //declare
483 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_41 (meltinitial_frame_t*, char*); //declare
485 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_42 (meltinitial_frame_t*, char*); //declare
487 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_43 (meltinitial_frame_t*, char*); //declare
489 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_44 (meltinitial_frame_t*, char*); //declare
491 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_45 (meltinitial_frame_t*, char*); //declare
493 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_46 (meltinitial_frame_t*, char*); //declare
495 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_47 (meltinitial_frame_t*, char*); //declare
497 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_48 (meltinitial_frame_t*, char*); //declare
499 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_49 (meltinitial_frame_t*, char*); //declare
501 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_50 (meltinitial_frame_t*, char*); //declare
503 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_51 (meltinitial_frame_t*, char*); //declare
505 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_52 (meltinitial_frame_t*, char*); //declare
507 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_53 (meltinitial_frame_t*, char*); //declare
509 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_54 (meltinitial_frame_t*, char*); //declare
511 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_55 (meltinitial_frame_t*, char*); //declare
513 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_56 (meltinitial_frame_t*, char*); //declare
515 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_57 (meltinitial_frame_t*, char*); //declare
517 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_58 (meltinitial_frame_t*, char*); //declare
519 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_59 (meltinitial_frame_t*, char*); //declare
521 void MELT_MODULE_VISIBILITY MELT_LOW_OPTIMIZATION meltmod__WARMELTmiBASE__initialmeltchunk_60 (meltinitial_frame_t*, char*); //declare
525 /**** warmelt-base+01.cc implementations ****/
530 melt_ptr_t MELT_MODULE_VISIBILITY
531 meltrout_9_WARMELTmiBASE_LIST_CLONE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
532 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
534 long current_blocklevel_signals_meltrout_9_WARMELTmiBASE_LIST_CLONE_melt = melt_blocklevel_signals;
536 #if MELT_HAVE_DEBUG
537 static long melt_call_counter__;
538 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
539 #undef meltcallcount
540 #define meltcallcount melt_thiscallcounter__
541 #else
542 #undef meltcallcount
543 #define meltcallcount 0L
544 #endif
545 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
547 /* start of frame for routine meltrout_9_WARMELTmiBASE_LIST_CLONE fromline 1752 */
549 /** start of frame for meltrout_9_WARMELTmiBASE_LIST_CLONE of CLASS_PROCROUTINEOBJ from 1555**/
551 /*curframdeclclassy*/ class MeltFrame_meltrout_9_WARMELTmiBASE_LIST_CLONE// fromline 1568
552 : public Melt_CallFrameWithValues<15>
554 public: /* fromline 1572*/
555 long mcfr_varnum[3];
556 /*classy others*/
557 long _meltsparel;
558 void melt_mark_stuff (void)
560 } /*end melt_mark_stuff*/
561 virtual void melt_mark_ggc_data (void)
563 melt_mark_values ();
564 melt_mark_stuff ();
565 }; /*end melt_mark_ggc_data*/
566 MeltFrame_meltrout_9_WARMELTmiBASE_LIST_CLONE(meltclosure_ptr_t clos) //the closure constructor fromline 1630
567 : Melt_CallFrameWithValues<15> (
568 #if ENABLE_CHECKING /*fromline 1634*/
569 __FILE__, __LINE__,
570 #endif /* ENABLE_CHECKING fromline 1638*/
571 sizeof(MeltFrame_meltrout_9_WARMELTmiBASE_LIST_CLONE), clos) {};
572 MeltFrame_meltrout_9_WARMELTmiBASE_LIST_CLONE() //the constructor fromline 1642
573 : Melt_CallFrameWithValues<15> (
574 #if ENABLE_CHECKING /*fromline 1646*/
575 __FILE__, __LINE__,
576 #endif /* ENABLE_CHECKING fromline 1650*/
577 sizeof(MeltFrame_meltrout_9_WARMELTmiBASE_LIST_CLONE)) {};
578 #if ENABLE_CHECKING /*fromline 1654*/
579 MeltFrame_meltrout_9_WARMELTmiBASE_LIST_CLONE(const char*fil, int lin) //the constructor fromline 1656
580 : Melt_CallFrameWithValues<15> (fil,lin, sizeof(MeltFrame_meltrout_9_WARMELTmiBASE_LIST_CLONE)) {};
581 MeltFrame_meltrout_9_WARMELTmiBASE_LIST_CLONE(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
582 : Melt_CallFrameWithValues<15> (fil,lin, sizeof(MeltFrame_meltrout_9_WARMELTmiBASE_LIST_CLONE), clos) {};
583 #endif /* ENABLE_CHECKING fromline 1666*/
585 }; // end class MeltFrame_meltrout_9_WARMELTmiBASE_LIST_CLONE
588 /** end of frame for meltrout_9_WARMELTmiBASE_LIST_CLONE fromline 1697**/
590 /* end of frame for routine meltrout_9_WARMELTmiBASE_LIST_CLONE fromline 1756 */
592 /* classy proc frame meltrout_9_WARMELTmiBASE_LIST_CLONE */
593 MeltFrame_meltrout_9_WARMELTmiBASE_LIST_CLONE
594 meltfram__ /*declfrastruct fromline 1780*/
595 /*classyprocarg meltrout_9_WARMELTmiBASE_LIST_CLONE fromline 1785*/
596 #if ENABLE_CHECKING
597 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
598 #else /*ENABLE_CHECKING */
599 (meltclosp_) /* fromline 1793*/
600 #endif /*ENABLE_CHECKING */
603 #define meltframe meltfram__
605 melt_trace_start("LIST_CLONE", meltcallcount);
606 /*use arguments*/
607 (void) meltclosp_;
608 (void)meltfirstargp_;
609 (void)meltxargdescr_;
610 (void)meltxargtab_;
611 (void)meltxresdescr_;
612 (void)meltxrestab_;
613 /*getargs*/
615 /*getarg#0*/
616 MELT_LOCATION("warmelt-base.melt:664:/ getarg");
617 /*_.LIS__V2*/
618 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
620 /*getarg#1*/
621 /*^getarg*/
622 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
623 /*_.DISC__V3*/
624 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
625 gcc_assert(melt_discr((melt_ptr_t)(/*_.DISC__V3*/ meltfptr[2])) != NULL);
628 goto meltlab_endgetargs;
629 meltlab_endgetargs:
631 /*body*/
632 /*^block*/
633 /*anyblock*/
637 MELT_CHECK_SIGNAL();
639 /*_#IS_LIST__L1*/
640 meltfnum[0] =
641 (melt_magic_discr((melt_ptr_t)(/*_.LIS__V2*/ meltfptr[1])) == MELTOBMAG_LIST);;
642 MELT_LOCATION("warmelt-base.melt:666:/ cond");
643 /*cond*/
644 if (/*_#IS_LIST__L1*/ meltfnum[0]) /*then*/
646 /*^cond.then*/
647 /*_._IFELSE___V4*/ meltfptr[3] = (/*nil*/NULL);;
649 else
651 MELT_LOCATION("warmelt-base.melt:666:/ cond.else");
653 /*^block*/
654 /*anyblock*/
657 MELT_LOCATION("warmelt-base.melt:667:/ quasiblock");
660 /*_._RETVAL___V1*/
661 meltfptr[0] = /*reallynil*/ NULL ;;
664 MELT_LOCATION("warmelt-base.melt:667:/ locexp");
665 /*ochecknores compilobj_nrep_return*/
666 #if MELT_HAVE_DEBUG
667 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
668 melt_warn_for_no_expected_secondary_results();
669 /* we warned when secondary results are expected but not returned. */
670 #endif /*MELT_HAVE_DEBUG*/
674 /*^finalreturn*/
676 /*finalret*/
677 goto meltlabend_rout ;
678 MELT_LOCATION("warmelt-base.melt:666:/ quasiblock");
681 /*_.PROGN___V6*/
682 meltfptr[5] = /*_.RETURN___V5*/ meltfptr[4];;
683 /*^compute*/
684 /*_._IFELSE___V4*/
685 meltfptr[3] = /*_.PROGN___V6*/ meltfptr[5];;
686 /*epilog*/
688 MELT_LOCATION("warmelt-base.melt:666:/ clear");
689 /*clear*/ /*_.RETURN___V5*/
690 meltfptr[4] = 0 ;
691 /*^clear*/
692 /*clear*/ /*_.PROGN___V6*/
693 meltfptr[5] = 0 ;
699 MELT_CHECK_SIGNAL();
701 /*_#NULL__L2*/
702 meltfnum[1] =
703 (/*null*/(/*_.DISC__V3*/ meltfptr[2]) == NULL);;
704 MELT_LOCATION("warmelt-base.melt:668:/ cond");
705 /*cond*/
706 if (/*_#NULL__L2*/ meltfnum[1]) /*then*/
708 /*^cond.then*/
709 /*^block*/
710 /*anyblock*/
713 /*^compute*/
714 /*_.DISC__V3*/ meltfptr[2] = /*_.SETQ___V8*/ meltfptr[5] = (/*!DISCR_LIST*/ meltfrout->tabval[0]);;
715 /*_._IF___V7*/
716 meltfptr[4] = /*_.SETQ___V8*/ meltfptr[5];;
717 /*epilog*/
719 MELT_LOCATION("warmelt-base.melt:668:/ clear");
720 /*clear*/ /*_.SETQ___V8*/
721 meltfptr[5] = 0 ;
725 else /*^cond.else*/
728 /*_._IF___V7*/ meltfptr[4] = /*reallynil*/ NULL ;;
731 MELT_LOCATION("warmelt-base.melt:669:/ quasiblock");
734 /*_.NEWLIS__V10*/
735 meltfptr[9] =
736 (meltgc_new_list((meltobject_ptr_t)(/*_.DISC__V3*/ meltfptr[2])));;
738 MELT_CHECK_SIGNAL();
740 /*^compute*/
741 /*_#NULL__L3*/
742 meltfnum[2] =
743 (/*null*/(/*_.NEWLIS__V10*/ meltfptr[9]) == NULL);;
744 MELT_LOCATION("warmelt-base.melt:671:/ cond");
745 /*cond*/
746 if (/*_#NULL__L3*/ meltfnum[2]) /*then*/
748 /*^cond.then*/
749 /*^block*/
750 /*anyblock*/
753 /*^quasiblock*/
756 /*_._RETVAL___V1*/ meltfptr[0] = /*reallynil*/ NULL ;;
759 MELT_LOCATION("warmelt-base.melt:671:/ locexp");
760 /*ochecknores compilobj_nrep_return*/
761 #if MELT_HAVE_DEBUG
762 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
763 melt_warn_for_no_expected_secondary_results();
764 /* we warned when secondary results are expected but not returned. */
765 #endif /*MELT_HAVE_DEBUG*/
769 /*^finalreturn*/
771 /*finalret*/
772 goto meltlabend_rout ;
773 /*_._IF___V11*/
774 meltfptr[10] = /*_.RETURN___V12*/ meltfptr[11];;
775 /*epilog*/
777 MELT_LOCATION("warmelt-base.melt:671:/ clear");
778 /*clear*/ /*_.RETURN___V12*/
779 meltfptr[11] = 0 ;
783 else /*^cond.else*/
786 /*_._IF___V11*/ meltfptr[10] = /*reallynil*/ NULL ;;
789 /*citerblock FOREACH_PAIR_COMPONENT_IN_LIST*/
791 /* start foreach_pair_component_in_list meltcit1__EACHLIST */
792 for (/*_.CURPAIR__V13*/ meltfptr[11] = melt_list_first( (melt_ptr_t)/*_.LIS__V2*/ meltfptr[1]);
793 melt_magic_discr((melt_ptr_t) /*_.CURPAIR__V13*/ meltfptr[11]) == MELTOBMAG_PAIR;
794 /*_.CURPAIR__V13*/ meltfptr[11] = melt_pair_tail((melt_ptr_t) /*_.CURPAIR__V13*/ meltfptr[11]))
796 /*_.CURCOMP__V14*/ meltfptr[13] = melt_pair_head((melt_ptr_t) /*_.CURPAIR__V13*/ meltfptr[11]);
801 MELT_LOCATION("warmelt-base.melt:675:/ locexp");
802 meltgc_append_list((melt_ptr_t)(/*_.NEWLIS__V10*/ meltfptr[9]), (melt_ptr_t)(/*_.CURCOMP__V14*/ meltfptr[13]));
805 } /* end foreach_pair_component_in_list meltcit1__EACHLIST */
806 /*_.CURPAIR__V13*/ meltfptr[11] = NULL;
807 /*_.CURCOMP__V14*/
808 meltfptr[13] = NULL;
811 /*citerepilog*/
813 MELT_LOCATION("warmelt-base.melt:672:/ clear");
814 /*clear*/ /*_.CURPAIR__V13*/
815 meltfptr[11] = 0 ;
816 /*^clear*/
817 /*clear*/ /*_.CURCOMP__V14*/
818 meltfptr[13] = 0 ;
819 } /*endciterblock FOREACH_PAIR_COMPONENT_IN_LIST*/
822 MELT_CHECK_SIGNAL();
824 MELT_LOCATION("warmelt-base.melt:676:/ quasiblock");
827 /*_._RETVAL___V1*/
828 meltfptr[0] = /*_.NEWLIS__V10*/ meltfptr[9];;
831 MELT_LOCATION("warmelt-base.melt:676:/ locexp");
832 /*ochecknores compilobj_nrep_return*/
833 #if MELT_HAVE_DEBUG
834 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
835 melt_warn_for_no_expected_secondary_results();
836 /* we warned when secondary results are expected but not returned. */
837 #endif /*MELT_HAVE_DEBUG*/
841 /*^finalreturn*/
843 /*finalret*/
844 goto meltlabend_rout ;
845 /*_.LET___V9*/
846 meltfptr[5] = /*_.RETURN___V15*/ meltfptr[14];;
848 MELT_LOCATION("warmelt-base.melt:669:/ clear");
849 /*clear*/ /*_.NEWLIS__V10*/
850 meltfptr[9] = 0 ;
851 /*^clear*/
852 /*clear*/ /*_#NULL__L3*/
853 meltfnum[2] = 0 ;
854 /*^clear*/
855 /*clear*/ /*_._IF___V11*/
856 meltfptr[10] = 0 ;
857 /*^clear*/
858 /*clear*/ /*_.RETURN___V15*/
859 meltfptr[14] = 0 ;
861 MELT_CHECK_SIGNAL();
863 MELT_LOCATION("warmelt-base.melt:664:/ quasiblock");
866 /*_._RETVAL___V1*/
867 meltfptr[0] = /*_.LET___V9*/ meltfptr[5];;
870 MELT_LOCATION("warmelt-base.melt:664:/ locexp");
871 /*ochecknores compilobj_nrep_return*/
872 #if MELT_HAVE_DEBUG
873 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
874 melt_warn_for_no_expected_secondary_results();
875 /* we warned when secondary results are expected but not returned. */
876 #endif /*MELT_HAVE_DEBUG*/
880 /*^finalreturn*/
882 /*finalret*/
883 goto meltlabend_rout ;
884 /*epilog*/
886 /*^clear*/
887 /*clear*/ /*_#IS_LIST__L1*/
888 meltfnum[0] = 0 ;
889 /*^clear*/
890 /*clear*/ /*_._IFELSE___V4*/
891 meltfptr[3] = 0 ;
892 /*^clear*/
893 /*clear*/ /*_#NULL__L2*/
894 meltfnum[1] = 0 ;
895 /*^clear*/
896 /*clear*/ /*_._IF___V7*/
897 meltfptr[4] = 0 ;
898 /*^clear*/
899 /*clear*/ /*_.LET___V9*/
900 meltfptr[5] = 0 ;
904 goto meltlabend_rout;
905 meltlabend_rout:
906 melt_trace_end("LIST_CLONE", meltcallcount);
907 melt_blocklevel_signals = current_blocklevel_signals_meltrout_9_WARMELTmiBASE_LIST_CLONE_melt;
908 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
909 #undef meltcallcount
910 #undef meltfram__
911 #undef MELTFRAM_NBVARNUM
912 #undef MELTFRAM_NBVARPTR
913 } /*end meltrout_9_WARMELTmiBASE_LIST_CLONE*/
920 melt_ptr_t MELT_MODULE_VISIBILITY
921 meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
922 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
924 long current_blocklevel_signals_meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA_melt = melt_blocklevel_signals;
926 #if MELT_HAVE_DEBUG
927 static long melt_call_counter__;
928 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
929 #undef meltcallcount
930 #define meltcallcount melt_thiscallcounter__
931 #else
932 #undef meltcallcount
933 #define meltcallcount 0L
934 #endif
935 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
937 /* start of frame for routine meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA fromline 1752 */
939 /** start of frame for meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA of CLASS_PROCROUTINEOBJ from 1555**/
941 /*curframdeclclassy*/ class MeltFrame_meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA// fromline 1568
942 : public Melt_CallFrameWithValues<19>
944 public: /* fromline 1572*/
945 long mcfr_varnum[5];
946 /*classy others*/
947 long _meltsparel;
948 void melt_mark_stuff (void)
950 } /*end melt_mark_stuff*/
951 virtual void melt_mark_ggc_data (void)
953 melt_mark_values ();
954 melt_mark_stuff ();
955 }; /*end melt_mark_ggc_data*/
956 MeltFrame_meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA(meltclosure_ptr_t clos) //the closure constructor fromline 1630
957 : Melt_CallFrameWithValues<19> (
958 #if ENABLE_CHECKING /*fromline 1634*/
959 __FILE__, __LINE__,
960 #endif /* ENABLE_CHECKING fromline 1638*/
961 sizeof(MeltFrame_meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA), clos) {};
962 MeltFrame_meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA() //the constructor fromline 1642
963 : Melt_CallFrameWithValues<19> (
964 #if ENABLE_CHECKING /*fromline 1646*/
965 __FILE__, __LINE__,
966 #endif /* ENABLE_CHECKING fromline 1650*/
967 sizeof(MeltFrame_meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA)) {};
968 #if ENABLE_CHECKING /*fromline 1654*/
969 MeltFrame_meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA(const char*fil, int lin) //the constructor fromline 1656
970 : Melt_CallFrameWithValues<19> (fil,lin, sizeof(MeltFrame_meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA)) {};
971 MeltFrame_meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
972 : Melt_CallFrameWithValues<19> (fil,lin, sizeof(MeltFrame_meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA), clos) {};
973 #endif /* ENABLE_CHECKING fromline 1666*/
975 }; // end class MeltFrame_meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA
978 /** end of frame for meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA fromline 1697**/
980 /* end of frame for routine meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA fromline 1756 */
982 /* classy proc frame meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA */
983 MeltFrame_meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA
984 meltfram__ /*declfrastruct fromline 1780*/
985 /*classyprocarg meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA fromline 1785*/
986 #if ENABLE_CHECKING
987 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
988 #else /*ENABLE_CHECKING */
989 (meltclosp_) /* fromline 1793*/
990 #endif /*ENABLE_CHECKING */
993 #define meltframe meltfram__
995 melt_trace_start("COMPARE_NAMED_ALPHA", meltcallcount);
996 /*use arguments*/
997 (void) meltclosp_;
998 (void)meltfirstargp_;
999 (void)meltxargdescr_;
1000 (void)meltxargtab_;
1001 (void)meltxresdescr_;
1002 (void)meltxrestab_;
1003 /*getargs*/
1005 /*getarg#0*/
1006 MELT_LOCATION("warmelt-base.melt:1223:/ getarg");
1007 /*_.N1__V2*/
1008 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
1010 /*getarg#1*/
1011 /*^getarg*/
1012 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
1013 /*_.N2__V3*/
1014 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
1015 gcc_assert(melt_discr((melt_ptr_t)(/*_.N2__V3*/ meltfptr[2])) != NULL);
1018 goto meltlab_endgetargs;
1019 meltlab_endgetargs:
1021 /*body*/
1022 /*^block*/
1023 /*anyblock*/
1027 MELT_CHECK_SIGNAL();
1029 /*_#eqeq__L1*/
1030 meltfnum[0] =
1031 ((/*_.N1__V2*/ meltfptr[1]) == (/*_.N2__V3*/ meltfptr[2]));;
1032 MELT_LOCATION("warmelt-base.melt:1227:/ cond");
1033 /*cond*/
1034 if (/*_#eqeq__L1*/ meltfnum[0]) /*then*/
1036 /*^cond.then*/
1037 /*^block*/
1038 /*anyblock*/
1042 MELT_CHECK_SIGNAL();
1044 MELT_LOCATION("warmelt-base.melt:1228:/ quasiblock");
1047 /*_._RETVAL___V1*/
1048 meltfptr[0] = (/*!konst_0*/ meltfrout->tabval[0]);;
1049 MELT_LOCATION("warmelt-base.melt:1228:/ putxtraresult");
1050 if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout;
1051 if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout;
1052 if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ((/*nil*/NULL));
1054 /*^finalreturn*/
1056 /*finalret*/
1057 goto meltlabend_rout ;
1058 /*_._IFELSE___V4*/
1059 meltfptr[3] = /*_.RETURN___V5*/ meltfptr[4];;
1060 /*epilog*/
1062 MELT_LOCATION("warmelt-base.melt:1227:/ clear");
1063 /*clear*/ /*_.RETURN___V5*/
1064 meltfptr[4] = 0 ;
1068 else /*^cond.else*/
1071 /*^block*/
1072 /*anyblock*/
1076 MELT_CHECK_SIGNAL();
1078 /*_#IS_NOT_A__L2*/
1079 meltfnum[1] =
1080 !melt_is_instance_of((melt_ptr_t)(/*_.N1__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[1])));;
1081 MELT_LOCATION("warmelt-base.melt:1229:/ cond");
1082 /*cond*/
1083 if (/*_#IS_NOT_A__L2*/ meltfnum[1]) /*then*/
1085 /*^cond.then*/
1086 /*^block*/
1087 /*anyblock*/
1091 MELT_CHECK_SIGNAL();
1093 MELT_LOCATION("warmelt-base.melt:1230:/ quasiblock");
1096 /*_._RETVAL___V1*/
1097 meltfptr[0] = (/*!konst_2*/ meltfrout->tabval[2]);;
1098 MELT_LOCATION("warmelt-base.melt:1230:/ putxtraresult");
1099 if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout;
1100 if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout;
1101 if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ((/*nil*/NULL));
1103 /*^finalreturn*/
1105 /*finalret*/
1106 goto meltlabend_rout ;
1107 /*_._IFELSE___V6*/
1108 meltfptr[4] = /*_.RETURN___V7*/ meltfptr[6];;
1109 /*epilog*/
1111 MELT_LOCATION("warmelt-base.melt:1229:/ clear");
1112 /*clear*/ /*_.RETURN___V7*/
1113 meltfptr[6] = 0 ;
1117 else /*^cond.else*/
1120 /*^block*/
1121 /*anyblock*/
1125 MELT_CHECK_SIGNAL();
1127 /*_#IS_NOT_A__L3*/
1128 meltfnum[2] =
1129 !melt_is_instance_of((melt_ptr_t)(/*_.N2__V3*/ meltfptr[2]), (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[1])));;
1130 MELT_LOCATION("warmelt-base.melt:1231:/ cond");
1131 /*cond*/
1132 if (/*_#IS_NOT_A__L3*/ meltfnum[2]) /*then*/
1134 /*^cond.then*/
1135 /*^block*/
1136 /*anyblock*/
1140 MELT_CHECK_SIGNAL();
1142 MELT_LOCATION("warmelt-base.melt:1232:/ quasiblock");
1145 /*_._RETVAL___V1*/
1146 meltfptr[0] = (/*!konst_3*/ meltfrout->tabval[3]);;
1147 MELT_LOCATION("warmelt-base.melt:1232:/ putxtraresult");
1148 if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout;
1149 if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout;
1150 if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ((/*nil*/NULL));
1152 /*^finalreturn*/
1154 /*finalret*/
1155 goto meltlabend_rout ;
1156 /*_._IFELSE___V8*/
1157 meltfptr[6] = /*_.RETURN___V9*/ meltfptr[8];;
1158 /*epilog*/
1160 MELT_LOCATION("warmelt-base.melt:1231:/ clear");
1161 /*clear*/ /*_.RETURN___V9*/
1162 meltfptr[8] = 0 ;
1166 else /*^cond.else*/
1169 /*^block*/
1170 /*anyblock*/
1173 MELT_LOCATION("warmelt-base.melt:1234:/ quasiblock");
1176 /*^getslot*/
1178 melt_ptr_t slot=NULL, obj=NULL;
1179 obj = (melt_ptr_t)(/*_.N1__V2*/ meltfptr[1]) /*=obj*/;
1180 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
1181 /*_.SN1__V11*/
1182 meltfptr[10] = slot;
1185 MELT_LOCATION("warmelt-base.melt:1235:/ getslot");
1187 melt_ptr_t slot=NULL, obj=NULL;
1188 obj = (melt_ptr_t)(/*_.N2__V3*/ meltfptr[2]) /*=obj*/;
1189 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
1190 /*_.SN2__V12*/
1191 meltfptr[11] = slot;
1195 MELT_CHECK_SIGNAL();
1197 /*_#STRINGlt__L4*/
1198 meltfnum[3] =
1199 melt_string_less((melt_ptr_t)(/*_.SN1__V11*/ meltfptr[10]), (melt_ptr_t)(/*_.SN2__V12*/ meltfptr[11]));;
1200 MELT_LOCATION("warmelt-base.melt:1237:/ cond");
1201 /*cond*/
1202 if (/*_#STRINGlt__L4*/ meltfnum[3]) /*then*/
1204 /*^cond.then*/
1205 /*^block*/
1206 /*anyblock*/
1210 MELT_CHECK_SIGNAL();
1212 MELT_LOCATION("warmelt-base.melt:1238:/ quasiblock");
1215 /*_._RETVAL___V1*/
1216 meltfptr[0] = (/*!konst_4*/ meltfrout->tabval[4]);;
1217 MELT_LOCATION("warmelt-base.melt:1238:/ putxtraresult");
1218 if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout;
1219 if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout;
1220 if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ((/*nil*/NULL));
1222 /*^finalreturn*/
1224 /*finalret*/
1225 goto meltlabend_rout ;
1226 /*_._IFELSE___V13*/
1227 meltfptr[12] = /*_.RETURN___V14*/ meltfptr[13];;
1228 /*epilog*/
1230 MELT_LOCATION("warmelt-base.melt:1237:/ clear");
1231 /*clear*/ /*_.RETURN___V14*/
1232 meltfptr[13] = 0 ;
1236 else /*^cond.else*/
1239 /*^block*/
1240 /*anyblock*/
1244 MELT_CHECK_SIGNAL();
1246 /*_#STRINGgt__L5*/
1247 meltfnum[4] =
1248 melt_string_less((melt_ptr_t)(/*_.SN2__V12*/ meltfptr[11]), (melt_ptr_t)(/*_.SN1__V11*/ meltfptr[10]));;
1249 MELT_LOCATION("warmelt-base.melt:1239:/ cond");
1250 /*cond*/
1251 if (/*_#STRINGgt__L5*/ meltfnum[4]) /*then*/
1253 /*^cond.then*/
1254 /*^block*/
1255 /*anyblock*/
1259 MELT_CHECK_SIGNAL();
1261 MELT_LOCATION("warmelt-base.melt:1240:/ quasiblock");
1264 /*_._RETVAL___V1*/
1265 meltfptr[0] = (/*!konst_5*/ meltfrout->tabval[5]);;
1266 MELT_LOCATION("warmelt-base.melt:1240:/ putxtraresult");
1267 if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout;
1268 if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout;
1269 if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ((/*nil*/NULL));
1271 /*^finalreturn*/
1273 /*finalret*/
1274 goto meltlabend_rout ;
1275 /*_._IFELSE___V15*/
1276 meltfptr[13] = /*_.RETURN___V16*/ meltfptr[15];;
1277 /*epilog*/
1279 MELT_LOCATION("warmelt-base.melt:1239:/ clear");
1280 /*clear*/ /*_.RETURN___V16*/
1281 meltfptr[15] = 0 ;
1285 else /*^cond.else*/
1288 /*^block*/
1289 /*anyblock*/
1293 MELT_CHECK_SIGNAL();
1295 MELT_LOCATION("warmelt-base.melt:1242:/ quasiblock");
1298 /*_._RETVAL___V1*/
1299 meltfptr[0] = (/*!konst_6*/ meltfrout->tabval[6]);;
1300 MELT_LOCATION("warmelt-base.melt:1242:/ putxtraresult");
1301 if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout;
1302 if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout;
1303 if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) ((/*nil*/NULL));
1305 /*^finalreturn*/
1307 /*finalret*/
1308 goto meltlabend_rout ;
1309 MELT_LOCATION("warmelt-base.melt:1241:/ quasiblock");
1312 /*_.PROGN___V18*/
1313 meltfptr[17] = /*_.RETURN___V17*/ meltfptr[15];;
1314 /*^compute*/
1315 /*_._IFELSE___V15*/
1316 meltfptr[13] = /*_.PROGN___V18*/ meltfptr[17];;
1317 /*epilog*/
1319 MELT_LOCATION("warmelt-base.melt:1239:/ clear");
1320 /*clear*/ /*_.RETURN___V17*/
1321 meltfptr[15] = 0 ;
1322 /*^clear*/
1323 /*clear*/ /*_.PROGN___V18*/
1324 meltfptr[17] = 0 ;
1329 /*_._IFELSE___V13*/
1330 meltfptr[12] = /*_._IFELSE___V15*/ meltfptr[13];;
1331 /*epilog*/
1333 MELT_LOCATION("warmelt-base.melt:1237:/ clear");
1334 /*clear*/ /*_#STRINGgt__L5*/
1335 meltfnum[4] = 0 ;
1336 /*^clear*/
1337 /*clear*/ /*_._IFELSE___V15*/
1338 meltfptr[13] = 0 ;
1343 /*_.LET___V10*/
1344 meltfptr[8] = /*_._IFELSE___V13*/ meltfptr[12];;
1346 MELT_LOCATION("warmelt-base.melt:1234:/ clear");
1347 /*clear*/ /*_.SN1__V11*/
1348 meltfptr[10] = 0 ;
1349 /*^clear*/
1350 /*clear*/ /*_.SN2__V12*/
1351 meltfptr[11] = 0 ;
1352 /*^clear*/
1353 /*clear*/ /*_#STRINGlt__L4*/
1354 meltfnum[3] = 0 ;
1355 /*^clear*/
1356 /*clear*/ /*_._IFELSE___V13*/
1357 meltfptr[12] = 0 ;
1358 MELT_LOCATION("warmelt-base.melt:1233:/ quasiblock");
1361 /*_.PROGN___V19*/
1362 meltfptr[15] = /*_.LET___V10*/ meltfptr[8];;
1363 /*^compute*/
1364 /*_._IFELSE___V8*/
1365 meltfptr[6] = /*_.PROGN___V19*/ meltfptr[15];;
1366 /*epilog*/
1368 MELT_LOCATION("warmelt-base.melt:1231:/ clear");
1369 /*clear*/ /*_.LET___V10*/
1370 meltfptr[8] = 0 ;
1371 /*^clear*/
1372 /*clear*/ /*_.PROGN___V19*/
1373 meltfptr[15] = 0 ;
1378 /*_._IFELSE___V6*/
1379 meltfptr[4] = /*_._IFELSE___V8*/ meltfptr[6];;
1380 /*epilog*/
1382 MELT_LOCATION("warmelt-base.melt:1229:/ clear");
1383 /*clear*/ /*_#IS_NOT_A__L3*/
1384 meltfnum[2] = 0 ;
1385 /*^clear*/
1386 /*clear*/ /*_._IFELSE___V8*/
1387 meltfptr[6] = 0 ;
1392 /*_._IFELSE___V4*/
1393 meltfptr[3] = /*_._IFELSE___V6*/ meltfptr[4];;
1394 /*epilog*/
1396 MELT_LOCATION("warmelt-base.melt:1227:/ clear");
1397 /*clear*/ /*_#IS_NOT_A__L2*/
1398 meltfnum[1] = 0 ;
1399 /*^clear*/
1400 /*clear*/ /*_._IFELSE___V6*/
1401 meltfptr[4] = 0 ;
1406 MELT_LOCATION("warmelt-base.melt:1223:/ quasiblock");
1409 /*_._RETVAL___V1*/
1410 meltfptr[0] = /*_._IFELSE___V4*/ meltfptr[3];;
1413 MELT_LOCATION("warmelt-base.melt:1223:/ locexp");
1414 /*ochecknores compilobj_nrep_return*/
1415 #if MELT_HAVE_DEBUG
1416 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
1417 melt_warn_for_no_expected_secondary_results();
1418 /* we warned when secondary results are expected but not returned. */
1419 #endif /*MELT_HAVE_DEBUG*/
1423 /*^finalreturn*/
1425 /*finalret*/
1426 goto meltlabend_rout ;
1427 /*epilog*/
1429 /*^clear*/
1430 /*clear*/ /*_#eqeq__L1*/
1431 meltfnum[0] = 0 ;
1432 /*^clear*/
1433 /*clear*/ /*_._IFELSE___V4*/
1434 meltfptr[3] = 0 ;
1438 goto meltlabend_rout;
1439 meltlabend_rout:
1440 melt_trace_end("COMPARE_NAMED_ALPHA", meltcallcount);
1441 melt_blocklevel_signals = current_blocklevel_signals_meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA_melt;
1442 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
1443 #undef meltcallcount
1444 #undef meltfram__
1445 #undef MELTFRAM_NBVARNUM
1446 #undef MELTFRAM_NBVARPTR
1447 } /*end meltrout_10_WARMELTmiBASE_COMPARE_NAMED_ALPHA*/
1454 melt_ptr_t MELT_MODULE_VISIBILITY
1455 meltrout_11_WARMELTmiBASE_ADD2OUT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
1456 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
1458 /*variadic*/ int variad_ADD2OUT_ix = 0, variad_ADD2OUT_len = melt_argdescr_length (meltxargdescr_);
1459 #define melt_variadic_length (0+variad_ADD2OUT_len)
1460 #define melt_variadic_index variad_ADD2OUT_ix
1462 long current_blocklevel_signals_meltrout_11_WARMELTmiBASE_ADD2OUT_melt = melt_blocklevel_signals;
1464 #if MELT_HAVE_DEBUG
1465 static long melt_call_counter__;
1466 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
1467 #undef meltcallcount
1468 #define meltcallcount melt_thiscallcounter__
1469 #else
1470 #undef meltcallcount
1471 #define meltcallcount 0L
1472 #endif
1473 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
1475 /* start of frame for routine meltrout_11_WARMELTmiBASE_ADD2OUT fromline 1752 */
1477 /** start of frame for meltrout_11_WARMELTmiBASE_ADD2OUT of CLASS_PROCROUTINEOBJ from 1555**/
1479 /*curframdeclclassy*/ class MeltFrame_meltrout_11_WARMELTmiBASE_ADD2OUT// fromline 1568
1480 : public Melt_CallFrameWithValues<33>
1482 public: /* fromline 1572*/
1483 long mcfr_varnum[5];
1484 /*classy others*/
1485 double loc_DOUBLE__o0;
1486 const char* loc_CSTRING__o1;
1487 tree loc_TREE__o2;
1488 gimple loc_GIMPLE__o3;
1489 gimple_seq loc_GIMPLE_SEQ__o4;
1490 edge loc_EDGE__o5;
1491 loop_p loc_LOOP__o6;
1492 double loc_DOUBLE__o7;
1493 const char* loc_CSTRING__o8;
1494 long _meltsparel;
1495 void melt_mark_stuff (void)
1497 /*marking tree*/
1498 /*:tree marker*/ gt_ggc_mx_tree_node (loc_TREE__o2);
1499 /*marking gimple*/
1500 /*:gimple marker*/
1501 gt_ggc_mx_gimple_statement_d (loc_GIMPLE__o3);
1502 /*marking gimple_seq*/
1503 /*:gimple_seq marker, really gimple marker*/
1504 gt_ggc_mx_gimple_statement_d (loc_GIMPLE_SEQ__o4);
1505 /*marking edge*/
1506 /*:edge marker*/
1507 gt_ggc_mx_edge_def (loc_EDGE__o5);
1508 /*marking loop_p*/
1509 /*:loop marker*/
1510 gt_ggc_mx_loop (loc_LOOP__o6);
1511 } /*end melt_mark_stuff*/
1512 virtual void melt_mark_ggc_data (void)
1514 melt_mark_values ();
1515 melt_mark_stuff ();
1516 }; /*end melt_mark_ggc_data*/
1517 MeltFrame_meltrout_11_WARMELTmiBASE_ADD2OUT(meltclosure_ptr_t clos) //the closure constructor fromline 1630
1518 : Melt_CallFrameWithValues<33> (
1519 #if ENABLE_CHECKING /*fromline 1634*/
1520 __FILE__, __LINE__,
1521 #endif /* ENABLE_CHECKING fromline 1638*/
1522 sizeof(MeltFrame_meltrout_11_WARMELTmiBASE_ADD2OUT), clos) {};
1523 MeltFrame_meltrout_11_WARMELTmiBASE_ADD2OUT() //the constructor fromline 1642
1524 : Melt_CallFrameWithValues<33> (
1525 #if ENABLE_CHECKING /*fromline 1646*/
1526 __FILE__, __LINE__,
1527 #endif /* ENABLE_CHECKING fromline 1650*/
1528 sizeof(MeltFrame_meltrout_11_WARMELTmiBASE_ADD2OUT)) {};
1529 #if ENABLE_CHECKING /*fromline 1654*/
1530 MeltFrame_meltrout_11_WARMELTmiBASE_ADD2OUT(const char*fil, int lin) //the constructor fromline 1656
1531 : Melt_CallFrameWithValues<33> (fil,lin, sizeof(MeltFrame_meltrout_11_WARMELTmiBASE_ADD2OUT)) {};
1532 MeltFrame_meltrout_11_WARMELTmiBASE_ADD2OUT(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
1533 : Melt_CallFrameWithValues<33> (fil,lin, sizeof(MeltFrame_meltrout_11_WARMELTmiBASE_ADD2OUT), clos) {};
1534 #endif /* ENABLE_CHECKING fromline 1666*/
1536 }; // end class MeltFrame_meltrout_11_WARMELTmiBASE_ADD2OUT
1539 /** end of frame for meltrout_11_WARMELTmiBASE_ADD2OUT fromline 1697**/
1541 /* end of frame for routine meltrout_11_WARMELTmiBASE_ADD2OUT fromline 1756 */
1543 /* classy proc frame meltrout_11_WARMELTmiBASE_ADD2OUT */
1544 MeltFrame_meltrout_11_WARMELTmiBASE_ADD2OUT
1545 meltfram__ /*declfrastruct fromline 1780*/
1546 /*classyprocarg meltrout_11_WARMELTmiBASE_ADD2OUT fromline 1785*/
1547 #if ENABLE_CHECKING
1548 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
1549 #else /*ENABLE_CHECKING */
1550 (meltclosp_) /* fromline 1793*/
1551 #endif /*ENABLE_CHECKING */
1554 #define meltframe meltfram__
1556 melt_trace_start("ADD2OUT", meltcallcount);
1557 /*use arguments*/
1558 (void) meltclosp_;
1559 (void)meltfirstargp_;
1560 (void)meltxargdescr_;
1561 (void)meltxargtab_;
1562 (void)meltxresdescr_;
1563 (void)meltxrestab_;
1564 /*getargs*/
1566 /*getarg#0*/
1567 MELT_LOCATION("warmelt-base.melt:1563:/ getarg");
1568 /*_.OUT__V2*/
1569 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
1571 goto meltlab_endgetargs;
1572 meltlab_endgetargs:
1574 /*body*/
1575 /*^block*/
1576 /*anyblock*/
1580 MELT_CHECK_SIGNAL();
1582 /*_#IS_OUT__L1*/
1583 meltfnum[0] =
1584 (melt_is_out ((melt_ptr_t) /*_.OUT__V2*/ meltfptr[1])) ;;
1585 /*^compute*/
1586 /*_#NOT__L2*/
1587 meltfnum[1] =
1588 (!(/*_#IS_OUT__L1*/ meltfnum[0]));;
1589 MELT_LOCATION("warmelt-base.melt:1567:/ cond");
1590 /*cond*/
1591 if (/*_#NOT__L2*/ meltfnum[1]) /*then*/
1593 /*^cond.then*/
1594 /*^block*/
1595 /*anyblock*/
1598 MELT_LOCATION("warmelt-base.melt:1568:/ quasiblock");
1601 /*_._RETVAL___V1*/
1602 meltfptr[0] = /*reallynil*/ NULL ;;
1605 MELT_LOCATION("warmelt-base.melt:1568:/ locexp");
1606 /*ochecknores compilobj_nrep_return*/
1607 #if MELT_HAVE_DEBUG
1608 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
1609 melt_warn_for_no_expected_secondary_results();
1610 /* we warned when secondary results are expected but not returned. */
1611 #endif /*MELT_HAVE_DEBUG*/
1615 /*^finalreturn*/
1617 /*finalret*/
1618 goto meltlabend_rout ;
1619 /*_._IF___V3*/
1620 meltfptr[2] = /*_.RETURN___V4*/ meltfptr[3];;
1621 /*epilog*/
1623 MELT_LOCATION("warmelt-base.melt:1567:/ clear");
1624 /*clear*/ /*_.RETURN___V4*/
1625 meltfptr[3] = 0 ;
1629 else /*^cond.else*/
1632 /*_._IF___V3*/ meltfptr[2] = /*reallynil*/ NULL ;;
1635 MELT_LOCATION("warmelt-base.melt:1569:/ loop");
1636 /*loop*/
1638 meltlabloop_ARGLOOP_2:;/*^loopbody*/
1640 /*^block*/
1641 /*anyblock*/
1645 MELT_CHECK_SIGNAL();
1647 MELT_LOCATION("warmelt-base.melt:1572:/ cond");
1648 /*cond*/
1649 if (/*ifvariadic nomore*/ variad_ADD2OUT_ix == variad_ADD2OUT_len) /*then*/
1651 /*^cond.then*/
1652 /*^block*/
1653 /*anyblock*/
1656 /*^compute*/
1658 /*consume variadic !*/ variad_ADD2OUT_ix += 0;;
1659 MELT_LOCATION("warmelt-base.melt:1573:/ quasiblock");
1662 /*^compute*/
1663 /*_.ARGLOOP__V6*/
1664 meltfptr[5] = /*reallynil*/ NULL ;;
1666 /*^exit*/
1667 /*exit*/
1669 goto meltlabexit_ARGLOOP_2;
1672 /*epilog*/
1676 else
1678 MELT_LOCATION("warmelt-base.melt:1572:/ cond.else");
1680 /*^block*/
1681 /*anyblock*/
1684 MELT_LOCATION("warmelt-base.melt:1574:/ cond");
1685 /*cond*/
1686 if (/*ifvariadic arg#1*/ variad_ADD2OUT_ix>=0 && variad_ADD2OUT_ix + 1 <= variad_ADD2OUT_len && meltxargdescr_[variad_ADD2OUT_ix]== MELTBPAR_PTR) /*then*/
1688 /*^cond.then*/
1689 /*^block*/
1690 /*anyblock*/
1693 /*^compute*/
1694 /*_.V__V7*/ meltfptr[6] =
1695 /*variadic argument value*/ ((meltxargtab_[variad_ADD2OUT_ix + 0].meltbp_aptr) ? (*(meltxargtab_[variad_ADD2OUT_ix + 0].meltbp_aptr)) : NULL);;
1696 /*^compute*/
1698 /*consume variadic Value !*/
1699 variad_ADD2OUT_ix += 1;;
1701 MELT_CHECK_SIGNAL();
1703 /*_#IS_CLOSURE__L3*/
1704 meltfnum[2] =
1705 (melt_magic_discr((melt_ptr_t)(/*_.V__V7*/ meltfptr[6])) == MELTOBMAG_CLOSURE);;
1706 MELT_LOCATION("warmelt-base.melt:1575:/ cond");
1707 /*cond*/
1708 if (/*_#IS_CLOSURE__L3*/ meltfnum[2]) /*then*/
1710 /*^cond.then*/
1711 /*^block*/
1712 /*anyblock*/
1715 MELT_LOCATION("warmelt-base.melt:1577:/ cond");
1716 /*cond*/
1717 if (/*ifvariadic arg#1*/ variad_ADD2OUT_ix>=0 && variad_ADD2OUT_ix + 1 <= variad_ADD2OUT_len && meltxargdescr_[variad_ADD2OUT_ix]== MELTBPAR_PTR) /*then*/
1719 /*^cond.then*/
1720 /*^block*/
1721 /*anyblock*/
1724 /*^compute*/
1725 /*_.VV__V9*/ meltfptr[8] =
1726 /*variadic argument value*/ ((meltxargtab_[variad_ADD2OUT_ix + 0].meltbp_aptr) ? (*(meltxargtab_[variad_ADD2OUT_ix + 0].meltbp_aptr)) : NULL);;
1727 /*^compute*/
1729 /*consume variadic Value !*/
1730 variad_ADD2OUT_ix += 1;;
1732 MELT_CHECK_SIGNAL();
1734 MELT_LOCATION("warmelt-base.melt:1578:/ apply");
1735 /*apply*/
1737 union meltparam_un argtab[1];
1738 memset(&argtab, 0, sizeof(argtab));
1739 /*^apply.arg*/
1740 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.VV__V9*/ meltfptr[8];
1741 /*_.V__V10*/
1742 meltfptr[9] = melt_apply ((meltclosure_ptr_t)(/*_.V__V7*/ meltfptr[6]), (melt_ptr_t)(/*_.OUT__V2*/ meltfptr[1]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
1745 /*_._IFELSE___V8*/
1746 meltfptr[7] = /*_.V__V10*/ meltfptr[9];;
1747 /*epilog*/
1749 MELT_LOCATION("warmelt-base.melt:1577:/ clear");
1750 /*clear*/ /*_.VV__V9*/
1751 meltfptr[8] = 0 ;
1752 /*^clear*/
1753 /*clear*/ /*_.V__V10*/
1754 meltfptr[9] = 0 ;
1758 else /*^cond.else*/
1761 /*^block*/
1762 /*anyblock*/
1765 MELT_LOCATION("warmelt-base.melt:1579:/ cond");
1766 /*cond*/
1767 if (/*ifvariadic arg#1*/ variad_ADD2OUT_ix>=0 && variad_ADD2OUT_ix + 1 <= variad_ADD2OUT_len && meltxargdescr_[variad_ADD2OUT_ix]== MELTBPAR_LONG) /*then*/
1769 /*^cond.then*/
1770 /*^block*/
1771 /*anyblock*/
1774 /*^compute*/
1775 /*_#LL__L4*/ meltfnum[3] =
1776 /*variadic argument stuff*/ meltxargtab_[variad_ADD2OUT_ix + 0].meltbp_long;;
1777 /*^compute*/
1779 /*consume variadic LONG !*/
1780 variad_ADD2OUT_ix += 1;;
1782 MELT_CHECK_SIGNAL();
1784 MELT_LOCATION("warmelt-base.melt:1580:/ apply");
1785 /*apply*/
1787 union meltparam_un argtab[1];
1788 memset(&argtab, 0, sizeof(argtab));
1789 /*^apply.arg*/
1790 argtab[0].meltbp_long = /*_#LL__L4*/ meltfnum[3];
1791 /*_.V__V11*/
1792 meltfptr[8] = melt_apply ((meltclosure_ptr_t)(/*_.V__V7*/ meltfptr[6]), (melt_ptr_t)(/*_.OUT__V2*/ meltfptr[1]), (MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un*)0);
1795 /*_._IFELSE___V8*/
1796 meltfptr[7] = /*_.V__V11*/ meltfptr[8];;
1797 /*epilog*/
1799 MELT_LOCATION("warmelt-base.melt:1579:/ clear");
1800 /*clear*/ /*_#LL__L4*/
1801 meltfnum[3] = 0 ;
1802 /*^clear*/
1803 /*clear*/ /*_.V__V11*/
1804 meltfptr[8] = 0 ;
1808 else /*^cond.else*/
1811 /*^block*/
1812 /*anyblock*/
1815 MELT_LOCATION("warmelt-base.melt:1581:/ cond");
1816 /*cond*/
1817 if (/*ifvariadic arg#1*/ variad_ADD2OUT_ix>=0 && variad_ADD2OUT_ix + 1 <= variad_ADD2OUT_len && meltxargdescr_[variad_ADD2OUT_ix]== MELTBPAR_DOUBLE) /*then*/
1819 /*^cond.then*/
1820 /*^block*/
1821 /*anyblock*/
1824 /*^compute*/
1825 /*_?*/ meltfram__.loc_DOUBLE__o0 =
1826 /*variadic argument stuff*/ meltxargtab_[variad_ADD2OUT_ix + 0].meltbp_double;;
1827 /*^compute*/
1829 /*consume variadic DOUBLE !*/
1830 variad_ADD2OUT_ix += 1;;
1832 MELT_CHECK_SIGNAL();
1834 MELT_LOCATION("warmelt-base.melt:1582:/ apply");
1835 /*apply*/
1837 union meltparam_un argtab[1];
1838 memset(&argtab, 0, sizeof(argtab));
1839 /*^apply.arg*/
1840 argtab[0].meltbp_double = /*_?*/ meltfram__.loc_DOUBLE__o0;
1841 /*_.V__V12*/
1842 meltfptr[9] = melt_apply ((meltclosure_ptr_t)(/*_.V__V7*/ meltfptr[6]), (melt_ptr_t)(/*_.OUT__V2*/ meltfptr[1]), (MELTBPARSTR_DOUBLE ""), argtab, "", (union meltparam_un*)0);
1845 /*_._IFELSE___V8*/
1846 meltfptr[7] = /*_.V__V12*/ meltfptr[9];;
1847 /*epilog*/
1849 MELT_LOCATION("warmelt-base.melt:1581:/ clear");
1850 /*clear*/ /*_?*/
1851 meltfram__.loc_DOUBLE__o0 = 0 ;
1852 /*^clear*/
1853 /*clear*/ /*_.V__V12*/
1854 meltfptr[9] = 0 ;
1858 else /*^cond.else*/
1861 /*^block*/
1862 /*anyblock*/
1865 MELT_LOCATION("warmelt-base.melt:1583:/ cond");
1866 /*cond*/
1867 if (/*ifvariadic arg#1*/ variad_ADD2OUT_ix>=0 && variad_ADD2OUT_ix + 1 <= variad_ADD2OUT_len && meltxargdescr_[variad_ADD2OUT_ix]== MELTBPAR_CSTRING) /*then*/
1869 /*^cond.then*/
1870 /*^block*/
1871 /*anyblock*/
1874 /*^compute*/
1875 /*_?*/ meltfram__.loc_CSTRING__o1 =
1876 /*variadic argument stuff*/ meltxargtab_[variad_ADD2OUT_ix + 0].meltbp_cstring;;
1877 /*^compute*/
1879 /*consume variadic CSTRING !*/
1880 variad_ADD2OUT_ix += 1;;
1882 MELT_CHECK_SIGNAL();
1884 MELT_LOCATION("warmelt-base.melt:1584:/ apply");
1885 /*apply*/
1887 union meltparam_un argtab[1];
1888 memset(&argtab, 0, sizeof(argtab));
1889 /*^apply.arg*/
1890 argtab[0].meltbp_cstring = /*_?*/ meltfram__.loc_CSTRING__o1;
1891 /*_.V__V13*/
1892 meltfptr[8] = melt_apply ((meltclosure_ptr_t)(/*_.V__V7*/ meltfptr[6]), (melt_ptr_t)(/*_.OUT__V2*/ meltfptr[1]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
1895 /*_._IFELSE___V8*/
1896 meltfptr[7] = /*_.V__V13*/ meltfptr[8];;
1897 /*epilog*/
1899 MELT_LOCATION("warmelt-base.melt:1583:/ clear");
1900 /*clear*/ /*_?*/
1901 meltfram__.loc_CSTRING__o1 = 0 ;
1902 /*^clear*/
1903 /*clear*/ /*_.V__V13*/
1904 meltfptr[8] = 0 ;
1908 else /*^cond.else*/
1911 /*^block*/
1912 /*anyblock*/
1915 MELT_LOCATION("warmelt-base.melt:1585:/ cond");
1916 /*cond*/
1917 if (/*ifvariadic arg#1*/ variad_ADD2OUT_ix>=0 && variad_ADD2OUT_ix + 1 <= variad_ADD2OUT_len && meltxargdescr_[variad_ADD2OUT_ix]== MELTBPAR_TREE) /*then*/
1919 /*^cond.then*/
1920 /*^block*/
1921 /*anyblock*/
1924 /*^compute*/
1925 /*_?*/ meltfram__.loc_TREE__o2 =
1926 /*variadic argument stuff*/ meltxargtab_[variad_ADD2OUT_ix + 0].meltbp_tree;;
1927 /*^compute*/
1929 /*consume variadic TREE !*/
1930 variad_ADD2OUT_ix += 1;;
1932 MELT_CHECK_SIGNAL();
1934 MELT_LOCATION("warmelt-base.melt:1586:/ apply");
1935 /*apply*/
1937 union meltparam_un argtab[1];
1938 memset(&argtab, 0, sizeof(argtab));
1939 /*^apply.arg*/
1940 argtab[0].meltbp_tree = /*_?*/ meltfram__.loc_TREE__o2;
1941 /*_.V__V14*/
1942 meltfptr[9] = melt_apply ((meltclosure_ptr_t)(/*_.V__V7*/ meltfptr[6]), (melt_ptr_t)(/*_.OUT__V2*/ meltfptr[1]), (MELTBPARSTR_TREE ""), argtab, "", (union meltparam_un*)0);
1945 /*_._IFELSE___V8*/
1946 meltfptr[7] = /*_.V__V14*/ meltfptr[9];;
1947 /*epilog*/
1949 MELT_LOCATION("warmelt-base.melt:1585:/ clear");
1950 /*clear*/ /*_?*/
1951 meltfram__.loc_TREE__o2 = 0 ;
1952 /*^clear*/
1953 /*clear*/ /*_.V__V14*/
1954 meltfptr[9] = 0 ;
1958 else /*^cond.else*/
1961 /*^block*/
1962 /*anyblock*/
1965 MELT_LOCATION("warmelt-base.melt:1587:/ cond");
1966 /*cond*/
1967 if (/*ifvariadic arg#1*/ variad_ADD2OUT_ix>=0 && variad_ADD2OUT_ix + 1 <= variad_ADD2OUT_len && meltxargdescr_[variad_ADD2OUT_ix]== MELTBPAR_GIMPLE) /*then*/
1969 /*^cond.then*/
1970 /*^block*/
1971 /*anyblock*/
1974 /*^compute*/
1975 /*_?*/ meltfram__.loc_GIMPLE__o3 =
1976 /*variadic argument stuff*/ meltxargtab_[variad_ADD2OUT_ix + 0].meltbp_gimple;;
1977 /*^compute*/
1979 /*consume variadic GIMPLE !*/
1980 variad_ADD2OUT_ix += 1;;
1982 MELT_CHECK_SIGNAL();
1984 MELT_LOCATION("warmelt-base.melt:1588:/ apply");
1985 /*apply*/
1987 union meltparam_un argtab[1];
1988 memset(&argtab, 0, sizeof(argtab));
1989 /*^apply.arg*/
1990 argtab[0].meltbp_gimple = /*_?*/ meltfram__.loc_GIMPLE__o3;
1991 /*_.V__V15*/
1992 meltfptr[8] = melt_apply ((meltclosure_ptr_t)(/*_.V__V7*/ meltfptr[6]), (melt_ptr_t)(/*_.OUT__V2*/ meltfptr[1]), (MELTBPARSTR_GIMPLE ""), argtab, "", (union meltparam_un*)0);
1995 /*_._IFELSE___V8*/
1996 meltfptr[7] = /*_.V__V15*/ meltfptr[8];;
1997 /*epilog*/
1999 MELT_LOCATION("warmelt-base.melt:1587:/ clear");
2000 /*clear*/ /*_?*/
2001 meltfram__.loc_GIMPLE__o3 = 0 ;
2002 /*^clear*/
2003 /*clear*/ /*_.V__V15*/
2004 meltfptr[8] = 0 ;
2008 else /*^cond.else*/
2011 /*^block*/
2012 /*anyblock*/
2015 MELT_LOCATION("warmelt-base.melt:1589:/ cond");
2016 /*cond*/
2017 if (/*ifvariadic arg#1*/ variad_ADD2OUT_ix>=0 && variad_ADD2OUT_ix + 1 <= variad_ADD2OUT_len && meltxargdescr_[variad_ADD2OUT_ix]== MELTBPAR_GIMPLESEQ) /*then*/
2019 /*^cond.then*/
2020 /*^block*/
2021 /*anyblock*/
2024 /*^compute*/
2025 /*_?*/ meltfram__.loc_GIMPLE_SEQ__o4 =
2026 /*variadic argument stuff*/ meltxargtab_[variad_ADD2OUT_ix + 0].meltbp_gimpleseq;;
2027 /*^compute*/
2029 /*consume variadic GIMPLE_SEQ !*/
2030 variad_ADD2OUT_ix += 1;;
2032 MELT_CHECK_SIGNAL();
2034 MELT_LOCATION("warmelt-base.melt:1590:/ apply");
2035 /*apply*/
2037 union meltparam_un argtab[1];
2038 memset(&argtab, 0, sizeof(argtab));
2039 /*^apply.arg*/
2040 argtab[0].meltbp_gimpleseq = /*_?*/ meltfram__.loc_GIMPLE_SEQ__o4;
2041 /*_.V__V16*/
2042 meltfptr[9] = melt_apply ((meltclosure_ptr_t)(/*_.V__V7*/ meltfptr[6]), (melt_ptr_t)(/*_.OUT__V2*/ meltfptr[1]), (MELTBPARSTR_GIMPLESEQ ""), argtab, "", (union meltparam_un*)0);
2045 /*_._IFELSE___V8*/
2046 meltfptr[7] = /*_.V__V16*/ meltfptr[9];;
2047 /*epilog*/
2049 MELT_LOCATION("warmelt-base.melt:1589:/ clear");
2050 /*clear*/ /*_?*/
2051 meltfram__.loc_GIMPLE_SEQ__o4 = 0 ;
2052 /*^clear*/
2053 /*clear*/ /*_.V__V16*/
2054 meltfptr[9] = 0 ;
2058 else /*^cond.else*/
2061 /*^block*/
2062 /*anyblock*/
2065 MELT_LOCATION("warmelt-base.melt:1591:/ cond");
2066 /*cond*/
2067 if (/*ifvariadic arg#1*/ variad_ADD2OUT_ix>=0 && variad_ADD2OUT_ix + 1 <= variad_ADD2OUT_len && meltxargdescr_[variad_ADD2OUT_ix]== MELTBPAR_EDGE) /*then*/
2069 /*^cond.then*/
2070 /*^block*/
2071 /*anyblock*/
2074 /*^compute*/
2075 /*_?*/ meltfram__.loc_EDGE__o5 =
2076 /*variadic argument stuff*/ meltxargtab_[variad_ADD2OUT_ix + 0].meltbp_edge;;
2077 /*^compute*/
2079 /*consume variadic EDGE !*/
2080 variad_ADD2OUT_ix += 1;;
2082 MELT_CHECK_SIGNAL();
2084 MELT_LOCATION("warmelt-base.melt:1592:/ apply");
2085 /*apply*/
2087 union meltparam_un argtab[1];
2088 memset(&argtab, 0, sizeof(argtab));
2089 /*^apply.arg*/
2090 argtab[0].meltbp_edge = /*_?*/ meltfram__.loc_EDGE__o5;
2091 /*_.V__V17*/
2092 meltfptr[8] = melt_apply ((meltclosure_ptr_t)(/*_.V__V7*/ meltfptr[6]), (melt_ptr_t)(/*_.OUT__V2*/ meltfptr[1]), (MELTBPARSTR_EDGE ""), argtab, "", (union meltparam_un*)0);
2095 /*_._IFELSE___V8*/
2096 meltfptr[7] = /*_.V__V17*/ meltfptr[8];;
2097 /*epilog*/
2099 MELT_LOCATION("warmelt-base.melt:1591:/ clear");
2100 /*clear*/ /*_?*/
2101 meltfram__.loc_EDGE__o5 = 0 ;
2102 /*^clear*/
2103 /*clear*/ /*_.V__V17*/
2104 meltfptr[8] = 0 ;
2108 else /*^cond.else*/
2111 /*^block*/
2112 /*anyblock*/
2115 MELT_LOCATION("warmelt-base.melt:1593:/ cond");
2116 /*cond*/
2117 if (/*ifvariadic arg#1*/ variad_ADD2OUT_ix>=0 && variad_ADD2OUT_ix + 1 <= variad_ADD2OUT_len && meltxargdescr_[variad_ADD2OUT_ix]== MELTBPAR_LOOP) /*then*/
2119 /*^cond.then*/
2120 /*^block*/
2121 /*anyblock*/
2124 /*^compute*/
2125 /*_?*/ meltfram__.loc_LOOP__o6 =
2126 /*variadic argument stuff*/ meltxargtab_[variad_ADD2OUT_ix + 0].meltbp_loop;;
2127 /*^compute*/
2129 /*consume variadic LOOP !*/
2130 variad_ADD2OUT_ix += 1;;
2132 MELT_CHECK_SIGNAL();
2134 MELT_LOCATION("warmelt-base.melt:1594:/ apply");
2135 /*apply*/
2137 union meltparam_un argtab[1];
2138 memset(&argtab, 0, sizeof(argtab));
2139 /*^apply.arg*/
2140 argtab[0].meltbp_loop = /*_?*/ meltfram__.loc_LOOP__o6;
2141 /*_.V__V18*/
2142 meltfptr[9] = melt_apply ((meltclosure_ptr_t)(/*_.V__V7*/ meltfptr[6]), (melt_ptr_t)(/*_.OUT__V2*/ meltfptr[1]), (MELTBPARSTR_LOOP ""), argtab, "", (union meltparam_un*)0);
2145 /*_._IFELSE___V8*/
2146 meltfptr[7] = /*_.V__V18*/ meltfptr[9];;
2147 /*epilog*/
2149 MELT_LOCATION("warmelt-base.melt:1593:/ clear");
2150 /*clear*/ /*_?*/
2151 meltfram__.loc_LOOP__o6 = 0 ;
2152 /*^clear*/
2153 /*clear*/ /*_.V__V18*/
2154 meltfptr[9] = 0 ;
2158 else /*^cond.else*/
2161 /*^block*/
2162 /*anyblock*/
2165 MELT_LOCATION("warmelt-base.melt:1596:/ quasiblock");
2168 /*_.VCTY__V20*/
2169 meltfptr[9] =
2170 /*variadic_type_code*/
2171 #ifdef melt_variadic_index
2172 (((melt_variadic_index + 0) >= 0
2173 && (melt_variadic_index + 0) < melt_variadic_length)
2174 ? melt_code_to_ctype (meltxargdescr_[melt_variadic_index + 0]
2175 & MELT_ARGDESCR_MAX)
2176 : NULL)
2177 #else
2178 NULL /* no variadic_ctype outside of variadic functions */
2179 #endif /*melt_variadic_index*/
2181 MELT_LOCATION("warmelt-base.melt:1599:/ cond");
2182 /*cond*/
2183 if (
2184 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.VCTY__V20*/ meltfptr[9]),
2185 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[0])))
2186 ) /*then*/
2188 /*^cond.then*/
2189 /*^getslot*/
2191 melt_ptr_t slot=NULL, obj=NULL;
2192 obj = (melt_ptr_t)(/*_.VCTY__V20*/ meltfptr[9]) /*=obj*/;
2193 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
2194 /*_.NAMED_NAME__V21*/
2195 meltfptr[20] = slot;
2199 else /*^cond.else*/
2202 /*_.NAMED_NAME__V21*/ meltfptr[20] = /*reallynil*/ NULL ;;
2207 MELT_LOCATION("warmelt-base.melt:1598:/ locexp");
2208 error ("MELT ERROR MSG [#%ld]::: %s - %s", melt_dbgcounter, ( "ADD2OUT with manipulator for unsupported ctype"),
2209 melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V21*/ meltfptr[20])));
2213 #if MELT_HAVE_DEBUG
2214 MELT_LOCATION("warmelt-base.melt:1600:/ cppif.then");
2215 /*^block*/
2216 /*anyblock*/
2220 MELT_CHECK_SIGNAL();
2222 /*^cond*/
2223 /*cond*/
2224 if ((/*nil*/NULL)) /*then*/
2226 /*^cond.then*/
2227 /*_._IFELSE___V23*/ meltfptr[22] = (/*nil*/NULL);;
2229 else
2231 MELT_LOCATION("warmelt-base.melt:1600:/ cond.else");
2233 /*^block*/
2234 /*anyblock*/
2238 MELT_CHECK_SIGNAL();
2240 /*^apply*/
2241 /*apply*/
2243 union meltparam_un argtab[4];
2244 memset(&argtab, 0, sizeof(argtab));
2245 /*^apply.arg*/
2246 argtab[0].meltbp_cstring = "invalid variadic argument after closure to ADD2OUT";
2247 /*^apply.arg*/
2248 argtab[1].meltbp_cstring = "warmelt-base.melt";
2249 /*^apply.arg*/
2250 argtab[2].meltbp_long = 1600;
2251 /*^apply.arg*/
2252 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.VCTY__V20*/ meltfptr[9];
2253 /*_.MELT_ASSERT_FAILURE_FUN__V24*/
2254 meltfptr[23] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
2257 /*_._IFELSE___V23*/
2258 meltfptr[22] = /*_.MELT_ASSERT_FAILURE_FUN__V24*/ meltfptr[23];;
2259 /*epilog*/
2261 MELT_LOCATION("warmelt-base.melt:1600:/ clear");
2262 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V24*/
2263 meltfptr[23] = 0 ;
2268 /*_.IFCPP___V22*/
2269 meltfptr[21] = /*_._IFELSE___V23*/ meltfptr[22];;
2270 /*epilog*/
2272 MELT_LOCATION("warmelt-base.melt:1600:/ clear");
2273 /*clear*/ /*_._IFELSE___V23*/
2274 meltfptr[22] = 0 ;
2277 #else /*MELT_HAVE_DEBUG*/
2278 /*^cppif.else*/
2279 /*_.IFCPP___V22*/ meltfptr[21] = (/*nil*/NULL);
2280 #endif /*MELT_HAVE_DEBUG*/
2282 MELT_LOCATION("warmelt-base.melt:1601:/ quasiblock");
2285 /*_._RETVAL___V1*/
2286 meltfptr[0] = /*reallynil*/ NULL ;;
2289 MELT_LOCATION("warmelt-base.melt:1601:/ locexp");
2290 /*ochecknores compilobj_nrep_return*/
2291 #if MELT_HAVE_DEBUG
2292 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
2293 melt_warn_for_no_expected_secondary_results();
2294 /* we warned when secondary results are expected but not returned. */
2295 #endif /*MELT_HAVE_DEBUG*/
2299 /*^finalreturn*/
2301 /*finalret*/
2302 goto meltlabend_rout ;
2303 /*_.LET___V19*/
2304 meltfptr[8] = /*_.RETURN___V25*/ meltfptr[23];;
2306 MELT_LOCATION("warmelt-base.melt:1596:/ clear");
2307 /*clear*/ /*_.VCTY__V20*/
2308 meltfptr[9] = 0 ;
2309 /*^clear*/
2310 /*clear*/ /*_.NAMED_NAME__V21*/
2311 meltfptr[20] = 0 ;
2312 /*^clear*/
2313 /*clear*/ /*_.IFCPP___V22*/
2314 meltfptr[21] = 0 ;
2315 /*^clear*/
2316 /*clear*/ /*_.RETURN___V25*/
2317 meltfptr[23] = 0 ;
2318 /*_._IFELSE___V8*/
2319 meltfptr[7] = /*_.LET___V19*/ meltfptr[8];;
2320 /*epilog*/
2322 MELT_LOCATION("warmelt-base.melt:1593:/ clear");
2323 /*clear*/ /*_.LET___V19*/
2324 meltfptr[8] = 0 ;
2329 /*epilog*/
2334 /*epilog*/
2339 /*epilog*/
2344 /*epilog*/
2349 /*epilog*/
2354 /*epilog*/
2359 /*epilog*/
2364 /*epilog*/
2369 /*epilog*/
2373 else
2375 MELT_LOCATION("warmelt-base.melt:1575:/ cond.else");
2377 /*^block*/
2378 /*anyblock*/
2382 MELT_CHECK_SIGNAL();
2384 MELT_LOCATION("warmelt-base.melt:1603:/ msend");
2385 /*msend*/
2387 union meltparam_un argtab[1];
2388 memset(&argtab, 0, sizeof(argtab));
2389 /*^ojbmsend.arg*/
2390 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.OUT__V2*/ meltfptr[1];
2391 /*_.ADD_TO_OUT__V26*/
2392 meltfptr[22] = meltgc_send((melt_ptr_t)(/*_.V__V7*/ meltfptr[6]), (melt_ptr_t)((/*!ADD_TO_OUT*/ meltfrout->tabval[2])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
2395 /*_._IFELSE___V8*/
2396 meltfptr[7] = /*_.ADD_TO_OUT__V26*/ meltfptr[22];;
2397 /*epilog*/
2399 MELT_LOCATION("warmelt-base.melt:1575:/ clear");
2400 /*clear*/ /*_.ADD_TO_OUT__V26*/
2401 meltfptr[22] = 0 ;
2406 /*epilog*/
2408 MELT_LOCATION("warmelt-base.melt:1574:/ clear");
2409 /*clear*/ /*_.V__V7*/
2410 meltfptr[6] = 0 ;
2411 /*^clear*/
2412 /*clear*/ /*_#IS_CLOSURE__L3*/
2413 meltfnum[2] = 0 ;
2414 /*^clear*/
2415 /*clear*/ /*_._IFELSE___V8*/
2416 meltfptr[7] = 0 ;
2420 else /*^cond.else*/
2423 /*^block*/
2424 /*anyblock*/
2427 MELT_LOCATION("warmelt-base.melt:1604:/ cond");
2428 /*cond*/
2429 if (/*ifvariadic arg#1*/ variad_ADD2OUT_ix>=0 && variad_ADD2OUT_ix + 1 <= variad_ADD2OUT_len && meltxargdescr_[variad_ADD2OUT_ix]== MELTBPAR_LONG) /*then*/
2431 /*^cond.then*/
2432 /*^block*/
2433 /*anyblock*/
2436 /*^compute*/
2437 /*_#N__L5*/ meltfnum[3] =
2438 /*variadic argument stuff*/ meltxargtab_[variad_ADD2OUT_ix + 0].meltbp_long;;
2439 /*^compute*/
2441 /*consume variadic LONG !*/
2442 variad_ADD2OUT_ix += 1;;
2445 MELT_LOCATION("warmelt-base.melt:1605:/ locexp");
2446 meltgc_add_out_dec((melt_ptr_t)(/*_.OUT__V2*/ meltfptr[1]), (/*_#N__L5*/ meltfnum[3]));
2449 /*epilog*/
2451 MELT_LOCATION("warmelt-base.melt:1604:/ clear");
2452 /*clear*/ /*_#N__L5*/
2453 meltfnum[3] = 0 ;
2457 else /*^cond.else*/
2460 /*^block*/
2461 /*anyblock*/
2464 MELT_LOCATION("warmelt-base.melt:1606:/ cond");
2465 /*cond*/
2466 if (/*ifvariadic arg#1*/ variad_ADD2OUT_ix>=0 && variad_ADD2OUT_ix + 1 <= variad_ADD2OUT_len && meltxargdescr_[variad_ADD2OUT_ix]== MELTBPAR_DOUBLE) /*then*/
2468 /*^cond.then*/
2469 /*^block*/
2470 /*anyblock*/
2473 /*^compute*/
2474 /*_?*/ meltfram__.loc_DOUBLE__o7 =
2475 /*variadic argument stuff*/ meltxargtab_[variad_ADD2OUT_ix + 0].meltbp_double;;
2476 /*^compute*/
2478 /*consume variadic DOUBLE !*/
2479 variad_ADD2OUT_ix += 1;;
2482 MELT_LOCATION("warmelt-base.melt:1607:/ locexp");
2483 /*add2out_double*/
2484 char dblbuf[64];
2485 memset (dblbuf, 0, sizeof(dblbuf));
2486 snprintf(dblbuf, sizeof(dblbuf), "%.3f", /*_?*/ meltfram__.loc_DOUBLE__o7);
2487 if (strtod (dblbuf, NULL) != /*_?*/ meltfram__.loc_DOUBLE__o7)
2488 snprintf(dblbuf, sizeof(dblbuf), "%.7f", /*_?*/ meltfram__.loc_DOUBLE__o7);
2489 if (strtod (dblbuf, NULL) != /*_?*/ meltfram__.loc_DOUBLE__o7)
2490 snprintf(dblbuf, sizeof(dblbuf), "%.15f", /*_?*/ meltfram__.loc_DOUBLE__o7);
2491 meltgc_add_out_raw ((melt_ptr_t) /*_.OUT__V2*/ meltfptr[1], dblbuf);
2492 /*end add2out_double*/;
2495 /*epilog*/
2497 MELT_LOCATION("warmelt-base.melt:1606:/ clear");
2498 /*clear*/ /*_?*/
2499 meltfram__.loc_DOUBLE__o7 = 0 ;
2503 else /*^cond.else*/
2506 /*^block*/
2507 /*anyblock*/
2510 MELT_LOCATION("warmelt-base.melt:1608:/ cond");
2511 /*cond*/
2512 if (/*ifvariadic arg#1*/ variad_ADD2OUT_ix>=0 && variad_ADD2OUT_ix + 1 <= variad_ADD2OUT_len && meltxargdescr_[variad_ADD2OUT_ix]== MELTBPAR_CSTRING) /*then*/
2514 /*^cond.then*/
2515 /*^block*/
2516 /*anyblock*/
2519 /*^compute*/
2520 /*_?*/ meltfram__.loc_CSTRING__o8 =
2521 /*variadic argument stuff*/ meltxargtab_[variad_ADD2OUT_ix + 0].meltbp_cstring;;
2522 /*^compute*/
2524 /*consume variadic CSTRING !*/
2525 variad_ADD2OUT_ix += 1;;
2528 MELT_LOCATION("warmelt-base.melt:1609:/ locexp");
2529 meltgc_add_out((melt_ptr_t)(/*_.OUT__V2*/ meltfptr[1]), (/*_?*/ meltfram__.loc_CSTRING__o8));
2532 /*epilog*/
2534 MELT_LOCATION("warmelt-base.melt:1608:/ clear");
2535 /*clear*/ /*_?*/
2536 meltfram__.loc_CSTRING__o8 = 0 ;
2540 else /*^cond.else*/
2543 /*^block*/
2544 /*anyblock*/
2547 MELT_LOCATION("warmelt-base.melt:1611:/ quasiblock");
2550 /*_.VCTY__V28*/
2551 meltfptr[20] =
2552 /*variadic_type_code*/
2553 #ifdef melt_variadic_index
2554 (((melt_variadic_index + 0) >= 0
2555 && (melt_variadic_index + 0) < melt_variadic_length)
2556 ? melt_code_to_ctype (meltxargdescr_[melt_variadic_index + 0]
2557 & MELT_ARGDESCR_MAX)
2558 : NULL)
2559 #else
2560 NULL /* no variadic_ctype outside of variadic functions */
2561 #endif /*melt_variadic_index*/
2563 MELT_LOCATION("warmelt-base.melt:1614:/ cond");
2564 /*cond*/
2565 if (
2566 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.VCTY__V28*/ meltfptr[20]),
2567 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[0])))
2568 ) /*then*/
2570 /*^cond.then*/
2571 /*^getslot*/
2573 melt_ptr_t slot=NULL, obj=NULL;
2574 obj = (melt_ptr_t)(/*_.VCTY__V28*/ meltfptr[20]) /*=obj*/;
2575 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
2576 /*_.NAMED_NAME__V29*/
2577 meltfptr[21] = slot;
2581 else /*^cond.else*/
2584 /*_.NAMED_NAME__V29*/ meltfptr[21] = /*reallynil*/ NULL ;;
2589 MELT_LOCATION("warmelt-base.melt:1613:/ locexp");
2590 error ("MELT ERROR MSG [#%ld]::: %s - %s", melt_dbgcounter, ( "ADD2OUT for unsupported ctype; use a manipulator like OUTPUT_TREE "),
2591 melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V29*/ meltfptr[21])));
2595 #if MELT_HAVE_DEBUG
2596 MELT_LOCATION("warmelt-base.melt:1615:/ cppif.then");
2597 /*^block*/
2598 /*anyblock*/
2602 MELT_CHECK_SIGNAL();
2604 /*^cond*/
2605 /*cond*/
2606 if ((/*nil*/NULL)) /*then*/
2608 /*^cond.then*/
2609 /*_._IFELSE___V31*/ meltfptr[8] = (/*nil*/NULL);;
2611 else
2613 MELT_LOCATION("warmelt-base.melt:1615:/ cond.else");
2615 /*^block*/
2616 /*anyblock*/
2620 MELT_CHECK_SIGNAL();
2622 /*^apply*/
2623 /*apply*/
2625 union meltparam_un argtab[4];
2626 memset(&argtab, 0, sizeof(argtab));
2627 /*^apply.arg*/
2628 argtab[0].meltbp_cstring = "invalid variadic argument to ADD2OUT";
2629 /*^apply.arg*/
2630 argtab[1].meltbp_cstring = "warmelt-base.melt";
2631 /*^apply.arg*/
2632 argtab[2].meltbp_long = 1615;
2633 /*^apply.arg*/
2634 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.VCTY__V28*/ meltfptr[20];
2635 /*_.MELT_ASSERT_FAILURE_FUN__V32*/
2636 meltfptr[22] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
2639 /*_._IFELSE___V31*/
2640 meltfptr[8] = /*_.MELT_ASSERT_FAILURE_FUN__V32*/ meltfptr[22];;
2641 /*epilog*/
2643 MELT_LOCATION("warmelt-base.melt:1615:/ clear");
2644 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V32*/
2645 meltfptr[22] = 0 ;
2650 /*_.IFCPP___V30*/
2651 meltfptr[23] = /*_._IFELSE___V31*/ meltfptr[8];;
2652 /*epilog*/
2654 MELT_LOCATION("warmelt-base.melt:1615:/ clear");
2655 /*clear*/ /*_._IFELSE___V31*/
2656 meltfptr[8] = 0 ;
2659 #else /*MELT_HAVE_DEBUG*/
2660 /*^cppif.else*/
2661 /*_.IFCPP___V30*/ meltfptr[23] = (/*nil*/NULL);
2662 #endif /*MELT_HAVE_DEBUG*/
2664 /*^compute*/
2665 /*_.LET___V27*/
2666 meltfptr[9] = /*_.IFCPP___V30*/ meltfptr[23];;
2668 MELT_LOCATION("warmelt-base.melt:1611:/ clear");
2669 /*clear*/ /*_.VCTY__V28*/
2670 meltfptr[20] = 0 ;
2671 /*^clear*/
2672 /*clear*/ /*_.NAMED_NAME__V29*/
2673 meltfptr[21] = 0 ;
2674 /*^clear*/
2675 /*clear*/ /*_.IFCPP___V30*/
2676 meltfptr[23] = 0 ;
2677 /*epilog*/
2679 MELT_LOCATION("warmelt-base.melt:1608:/ clear");
2680 /*clear*/ /*_.LET___V27*/
2681 meltfptr[9] = 0 ;
2686 /*epilog*/
2691 /*epilog*/
2696 /*epilog*/
2701 /*epilog*/
2706 /*epilog*/
2710 goto meltlabloop_ARGLOOP_2;
2711 meltlabexit_ARGLOOP_2:
2713 MELT_LOCATION("warmelt-base.melt:1569:/ loopepilog");
2714 /*loopepilog*/
2715 /*_.FOREVER___V5*/
2716 meltfptr[3] = /*_.ARGLOOP__V6*/ meltfptr[5];;
2720 MELT_CHECK_SIGNAL();
2722 MELT_LOCATION("warmelt-base.melt:1618:/ quasiblock");
2725 /*_._RETVAL___V1*/
2726 meltfptr[0] = /*_.OUT__V2*/ meltfptr[1];;
2729 MELT_LOCATION("warmelt-base.melt:1618:/ locexp");
2730 /*ochecknores compilobj_nrep_return*/
2731 #if MELT_HAVE_DEBUG
2732 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
2733 melt_warn_for_no_expected_secondary_results();
2734 /* we warned when secondary results are expected but not returned. */
2735 #endif /*MELT_HAVE_DEBUG*/
2739 /*^finalreturn*/
2741 /*finalret*/
2742 goto meltlabend_rout ;
2744 MELT_CHECK_SIGNAL();
2746 MELT_LOCATION("warmelt-base.melt:1563:/ quasiblock");
2749 /*_._RETVAL___V1*/
2750 meltfptr[0] = /*_.RETURN___V33*/ meltfptr[6];;
2753 MELT_LOCATION("warmelt-base.melt:1563:/ locexp");
2754 /*ochecknores compilobj_nrep_return*/
2755 #if MELT_HAVE_DEBUG
2756 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
2757 melt_warn_for_no_expected_secondary_results();
2758 /* we warned when secondary results are expected but not returned. */
2759 #endif /*MELT_HAVE_DEBUG*/
2763 /*^finalreturn*/
2765 /*finalret*/
2766 goto meltlabend_rout ;
2767 /*epilog*/
2769 /*^clear*/
2770 /*clear*/ /*_#IS_OUT__L1*/
2771 meltfnum[0] = 0 ;
2772 /*^clear*/
2773 /*clear*/ /*_#NOT__L2*/
2774 meltfnum[1] = 0 ;
2775 /*^clear*/
2776 /*clear*/ /*_._IF___V3*/
2777 meltfptr[2] = 0 ;
2778 /*^clear*/
2779 /*clear*/ /*_.FOREVER___V5*/
2780 meltfptr[3] = 0 ;
2781 /*^clear*/
2782 /*clear*/ /*_.RETURN___V33*/
2783 meltfptr[6] = 0 ;
2787 goto meltlabend_rout;
2788 meltlabend_rout:
2789 melt_trace_end("ADD2OUT", meltcallcount);
2790 melt_blocklevel_signals = current_blocklevel_signals_meltrout_11_WARMELTmiBASE_ADD2OUT_melt;
2791 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
2792 #undef melt_variadic_length
2793 #undef melt_variadic_index
2795 #undef meltcallcount
2796 #undef meltfram__
2797 #undef MELTFRAM_NBVARNUM
2798 #undef MELTFRAM_NBVARPTR
2799 } /*end meltrout_11_WARMELTmiBASE_ADD2OUT*/
2806 melt_ptr_t MELT_MODULE_VISIBILITY
2807 meltrout_12_WARMELTmiBASE_ADD2LIST(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
2808 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
2810 /*variadic*/ int variad_ADD2LIST_ix = 0, variad_ADD2LIST_len = melt_argdescr_length (meltxargdescr_);
2811 #define melt_variadic_length (0+variad_ADD2LIST_len)
2812 #define melt_variadic_index variad_ADD2LIST_ix
2814 long current_blocklevel_signals_meltrout_12_WARMELTmiBASE_ADD2LIST_melt = melt_blocklevel_signals;
2816 #if MELT_HAVE_DEBUG
2817 static long melt_call_counter__;
2818 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
2819 #undef meltcallcount
2820 #define meltcallcount melt_thiscallcounter__
2821 #else
2822 #undef meltcallcount
2823 #define meltcallcount 0L
2824 #endif
2825 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
2827 /* start of frame for routine meltrout_12_WARMELTmiBASE_ADD2LIST fromline 1752 */
2829 /** start of frame for meltrout_12_WARMELTmiBASE_ADD2LIST of CLASS_PROCROUTINEOBJ from 1555**/
2831 /*curframdeclclassy*/ class MeltFrame_meltrout_12_WARMELTmiBASE_ADD2LIST// fromline 1568
2832 : public Melt_CallFrameWithValues<19>
2834 public: /* fromline 1572*/
2835 long mcfr_varnum[3];
2836 /*classy others*/
2837 const char* loc_CSTRING__o0;
2838 tree loc_TREE__o1;
2839 gimple loc_GIMPLE__o2;
2840 edge loc_EDGE__o3;
2841 long _meltsparel;
2842 void melt_mark_stuff (void)
2844 /*marking tree*/
2845 /*:tree marker*/ gt_ggc_mx_tree_node (loc_TREE__o1);
2846 /*marking gimple*/
2847 /*:gimple marker*/
2848 gt_ggc_mx_gimple_statement_d (loc_GIMPLE__o2);
2849 /*marking edge*/
2850 /*:edge marker*/
2851 gt_ggc_mx_edge_def (loc_EDGE__o3);
2852 } /*end melt_mark_stuff*/
2853 virtual void melt_mark_ggc_data (void)
2855 melt_mark_values ();
2856 melt_mark_stuff ();
2857 }; /*end melt_mark_ggc_data*/
2858 MeltFrame_meltrout_12_WARMELTmiBASE_ADD2LIST(meltclosure_ptr_t clos) //the closure constructor fromline 1630
2859 : Melt_CallFrameWithValues<19> (
2860 #if ENABLE_CHECKING /*fromline 1634*/
2861 __FILE__, __LINE__,
2862 #endif /* ENABLE_CHECKING fromline 1638*/
2863 sizeof(MeltFrame_meltrout_12_WARMELTmiBASE_ADD2LIST), clos) {};
2864 MeltFrame_meltrout_12_WARMELTmiBASE_ADD2LIST() //the constructor fromline 1642
2865 : Melt_CallFrameWithValues<19> (
2866 #if ENABLE_CHECKING /*fromline 1646*/
2867 __FILE__, __LINE__,
2868 #endif /* ENABLE_CHECKING fromline 1650*/
2869 sizeof(MeltFrame_meltrout_12_WARMELTmiBASE_ADD2LIST)) {};
2870 #if ENABLE_CHECKING /*fromline 1654*/
2871 MeltFrame_meltrout_12_WARMELTmiBASE_ADD2LIST(const char*fil, int lin) //the constructor fromline 1656
2872 : Melt_CallFrameWithValues<19> (fil,lin, sizeof(MeltFrame_meltrout_12_WARMELTmiBASE_ADD2LIST)) {};
2873 MeltFrame_meltrout_12_WARMELTmiBASE_ADD2LIST(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
2874 : Melt_CallFrameWithValues<19> (fil,lin, sizeof(MeltFrame_meltrout_12_WARMELTmiBASE_ADD2LIST), clos) {};
2875 #endif /* ENABLE_CHECKING fromline 1666*/
2877 }; // end class MeltFrame_meltrout_12_WARMELTmiBASE_ADD2LIST
2880 /** end of frame for meltrout_12_WARMELTmiBASE_ADD2LIST fromline 1697**/
2882 /* end of frame for routine meltrout_12_WARMELTmiBASE_ADD2LIST fromline 1756 */
2884 /* classy proc frame meltrout_12_WARMELTmiBASE_ADD2LIST */
2885 MeltFrame_meltrout_12_WARMELTmiBASE_ADD2LIST
2886 meltfram__ /*declfrastruct fromline 1780*/
2887 /*classyprocarg meltrout_12_WARMELTmiBASE_ADD2LIST fromline 1785*/
2888 #if ENABLE_CHECKING
2889 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
2890 #else /*ENABLE_CHECKING */
2891 (meltclosp_) /* fromline 1793*/
2892 #endif /*ENABLE_CHECKING */
2895 #define meltframe meltfram__
2897 melt_trace_start("ADD2LIST", meltcallcount);
2898 /*use arguments*/
2899 (void) meltclosp_;
2900 (void)meltfirstargp_;
2901 (void)meltxargdescr_;
2902 (void)meltxargtab_;
2903 (void)meltxresdescr_;
2904 (void)meltxrestab_;
2905 /*getargs*/
2907 /*getarg#0*/
2908 MELT_LOCATION("warmelt-base.melt:1624:/ getarg");
2909 /*_.LIS__V2*/
2910 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
2912 goto meltlab_endgetargs;
2913 meltlab_endgetargs:
2915 /*body*/
2916 /*^block*/
2917 /*anyblock*/
2921 MELT_CHECK_SIGNAL();
2923 /*_#IS_LIST__L1*/
2924 meltfnum[0] =
2925 (melt_magic_discr((melt_ptr_t)(/*_.LIS__V2*/ meltfptr[1])) == MELTOBMAG_LIST);;
2926 /*^compute*/
2927 /*_#NOT__L2*/
2928 meltfnum[1] =
2929 (!(/*_#IS_LIST__L1*/ meltfnum[0]));;
2930 MELT_LOCATION("warmelt-base.melt:1628:/ cond");
2931 /*cond*/
2932 if (/*_#NOT__L2*/ meltfnum[1]) /*then*/
2934 /*^cond.then*/
2935 /*^block*/
2936 /*anyblock*/
2940 MELT_CHECK_SIGNAL();
2942 MELT_LOCATION("warmelt-base.melt:1629:/ quasiblock");
2945 /*_._RETVAL___V1*/
2946 meltfptr[0] = (/*nil*/NULL);;
2949 MELT_LOCATION("warmelt-base.melt:1629:/ locexp");
2950 /*ochecknores compilobj_nrep_return*/
2951 #if MELT_HAVE_DEBUG
2952 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
2953 melt_warn_for_no_expected_secondary_results();
2954 /* we warned when secondary results are expected but not returned. */
2955 #endif /*MELT_HAVE_DEBUG*/
2959 /*^finalreturn*/
2961 /*finalret*/
2962 goto meltlabend_rout ;
2963 /*_._IF___V3*/
2964 meltfptr[2] = /*_.RETURN___V4*/ meltfptr[3];;
2965 /*epilog*/
2967 MELT_LOCATION("warmelt-base.melt:1628:/ clear");
2968 /*clear*/ /*_.RETURN___V4*/
2969 meltfptr[3] = 0 ;
2973 else /*^cond.else*/
2976 /*_._IF___V3*/ meltfptr[2] = /*reallynil*/ NULL ;;
2979 MELT_LOCATION("warmelt-base.melt:1630:/ loop");
2980 /*loop*/
2982 meltlabloop_ARGLOOP_3:;/*^loopbody*/
2984 /*^block*/
2985 /*anyblock*/
2989 MELT_CHECK_SIGNAL();
2991 MELT_LOCATION("warmelt-base.melt:1633:/ cond");
2992 /*cond*/
2993 if (/*ifvariadic nomore*/ variad_ADD2LIST_ix == variad_ADD2LIST_len) /*then*/
2995 /*^cond.then*/
2996 /*^block*/
2997 /*anyblock*/
3000 /*^compute*/
3002 /*consume variadic !*/ variad_ADD2LIST_ix += 0;;
3003 MELT_LOCATION("warmelt-base.melt:1634:/ quasiblock");
3006 /*^compute*/
3007 /*_.ARGLOOP__V6*/
3008 meltfptr[5] = /*reallynil*/ NULL ;;
3010 /*^exit*/
3011 /*exit*/
3013 goto meltlabexit_ARGLOOP_3;
3016 /*epilog*/
3020 else
3022 MELT_LOCATION("warmelt-base.melt:1633:/ cond.else");
3024 /*^block*/
3025 /*anyblock*/
3028 MELT_LOCATION("warmelt-base.melt:1635:/ cond");
3029 /*cond*/
3030 if (/*ifvariadic arg#1*/ variad_ADD2LIST_ix>=0 && variad_ADD2LIST_ix + 1 <= variad_ADD2LIST_len && meltxargdescr_[variad_ADD2LIST_ix]== MELTBPAR_PTR) /*then*/
3032 /*^cond.then*/
3033 /*^block*/
3034 /*anyblock*/
3037 /*^compute*/
3038 /*_.V__V7*/ meltfptr[6] =
3039 /*variadic argument value*/ ((meltxargtab_[variad_ADD2LIST_ix + 0].meltbp_aptr) ? (*(meltxargtab_[variad_ADD2LIST_ix + 0].meltbp_aptr)) : NULL);;
3040 /*^compute*/
3042 /*consume variadic Value !*/
3043 variad_ADD2LIST_ix += 1;;
3046 MELT_LOCATION("warmelt-base.melt:1636:/ locexp");
3047 meltgc_append_list((melt_ptr_t)(/*_.LIS__V2*/ meltfptr[1]), (melt_ptr_t)(/*_.V__V7*/ meltfptr[6]));
3050 /*epilog*/
3052 MELT_LOCATION("warmelt-base.melt:1635:/ clear");
3053 /*clear*/ /*_.V__V7*/
3054 meltfptr[6] = 0 ;
3058 else /*^cond.else*/
3061 /*^block*/
3062 /*anyblock*/
3065 MELT_LOCATION("warmelt-base.melt:1637:/ cond");
3066 /*cond*/
3067 if (/*ifvariadic arg#1*/ variad_ADD2LIST_ix>=0 && variad_ADD2LIST_ix + 1 <= variad_ADD2LIST_len && meltxargdescr_[variad_ADD2LIST_ix]== MELTBPAR_LONG) /*then*/
3069 /*^cond.then*/
3070 /*^block*/
3071 /*anyblock*/
3074 /*^compute*/
3075 /*_#L__L3*/ meltfnum[2] =
3076 /*variadic argument stuff*/ meltxargtab_[variad_ADD2LIST_ix + 0].meltbp_long;;
3077 /*^compute*/
3079 /*consume variadic LONG !*/
3080 variad_ADD2LIST_ix += 1;;
3081 /*_.BOX__V8*/
3082 meltfptr[6] =
3083 /*full constboxing*/ /*boxing ctype_long*/ meltgc_new_int((meltobject_ptr_t) (((melt_ptr_t)(MELT_PREDEF(DISCR_CONSTANT_INTEGER)))), (/*_#L__L3*/ meltfnum[2]));;
3086 MELT_LOCATION("warmelt-base.melt:1638:/ locexp");
3087 meltgc_append_list((melt_ptr_t)(/*_.LIS__V2*/ meltfptr[1]), (melt_ptr_t)(/*_.BOX__V8*/ meltfptr[6]));
3090 /*epilog*/
3092 MELT_LOCATION("warmelt-base.melt:1637:/ clear");
3093 /*clear*/ /*_#L__L3*/
3094 meltfnum[2] = 0 ;
3095 /*^clear*/
3096 /*clear*/ /*_.BOX__V8*/
3097 meltfptr[6] = 0 ;
3101 else /*^cond.else*/
3104 /*^block*/
3105 /*anyblock*/
3108 MELT_LOCATION("warmelt-base.melt:1639:/ cond");
3109 /*cond*/
3110 if (/*ifvariadic arg#1*/ variad_ADD2LIST_ix>=0 && variad_ADD2LIST_ix + 1 <= variad_ADD2LIST_len && meltxargdescr_[variad_ADD2LIST_ix]== MELTBPAR_CSTRING) /*then*/
3112 /*^cond.then*/
3113 /*^block*/
3114 /*anyblock*/
3117 /*^compute*/
3118 /*_?*/ meltfram__.loc_CSTRING__o0 =
3119 /*variadic argument stuff*/ meltxargtab_[variad_ADD2LIST_ix + 0].meltbp_cstring;;
3120 /*^compute*/
3122 /*consume variadic CSTRING !*/
3123 variad_ADD2LIST_ix += 1;;
3124 /*_.BOX__V9*/
3125 meltfptr[6] =
3126 /*full constboxing*/ /*ctype_cstring boxing*/ meltgc_new_stringdup((meltobject_ptr_t) (((melt_ptr_t)(MELT_PREDEF(DISCR_STRING)))), (/*_?*/ meltfram__.loc_CSTRING__o0));;
3129 MELT_LOCATION("warmelt-base.melt:1640:/ locexp");
3130 meltgc_append_list((melt_ptr_t)(/*_.LIS__V2*/ meltfptr[1]), (melt_ptr_t)(/*_.BOX__V9*/ meltfptr[6]));
3133 /*epilog*/
3135 MELT_LOCATION("warmelt-base.melt:1639:/ clear");
3136 /*clear*/ /*_?*/
3137 meltfram__.loc_CSTRING__o0 = 0 ;
3138 /*^clear*/
3139 /*clear*/ /*_.BOX__V9*/
3140 meltfptr[6] = 0 ;
3144 else /*^cond.else*/
3147 /*^block*/
3148 /*anyblock*/
3151 MELT_LOCATION("warmelt-base.melt:1641:/ cond");
3152 /*cond*/
3153 if (/*ifvariadic arg#1*/ variad_ADD2LIST_ix>=0 && variad_ADD2LIST_ix + 1 <= variad_ADD2LIST_len && meltxargdescr_[variad_ADD2LIST_ix]== MELTBPAR_TREE) /*then*/
3155 /*^cond.then*/
3156 /*^block*/
3157 /*anyblock*/
3160 /*^compute*/
3161 /*_?*/ meltfram__.loc_TREE__o1 =
3162 /*variadic argument stuff*/ meltxargtab_[variad_ADD2LIST_ix + 0].meltbp_tree;;
3163 /*^compute*/
3165 /*consume variadic TREE !*/
3166 variad_ADD2LIST_ix += 1;;
3167 /*_.BOX__V10*/
3168 meltfptr[6] =
3169 /*full constboxing*/ meltgc_new_tree((meltobject_ptr_t) (((melt_ptr_t)(MELT_PREDEF(DISCR_CONSTANT_TREE)))), (/*_?*/ meltfram__.loc_TREE__o1));;
3172 MELT_LOCATION("warmelt-base.melt:1642:/ locexp");
3173 meltgc_append_list((melt_ptr_t)(/*_.LIS__V2*/ meltfptr[1]), (melt_ptr_t)(/*_.BOX__V10*/ meltfptr[6]));
3176 /*epilog*/
3178 MELT_LOCATION("warmelt-base.melt:1641:/ clear");
3179 /*clear*/ /*_?*/
3180 meltfram__.loc_TREE__o1 = 0 ;
3181 /*^clear*/
3182 /*clear*/ /*_.BOX__V10*/
3183 meltfptr[6] = 0 ;
3187 else /*^cond.else*/
3190 /*^block*/
3191 /*anyblock*/
3194 MELT_LOCATION("warmelt-base.melt:1643:/ cond");
3195 /*cond*/
3196 if (/*ifvariadic arg#1*/ variad_ADD2LIST_ix>=0 && variad_ADD2LIST_ix + 1 <= variad_ADD2LIST_len && meltxargdescr_[variad_ADD2LIST_ix]== MELTBPAR_GIMPLE) /*then*/
3198 /*^cond.then*/
3199 /*^block*/
3200 /*anyblock*/
3203 /*^compute*/
3204 /*_?*/ meltfram__.loc_GIMPLE__o2 =
3205 /*variadic argument stuff*/ meltxargtab_[variad_ADD2LIST_ix + 0].meltbp_gimple;;
3206 /*^compute*/
3208 /*consume variadic GIMPLE !*/
3209 variad_ADD2LIST_ix += 1;;
3210 /*_.BOX__V11*/
3211 meltfptr[6] =
3212 /*full constboxing*/ meltgc_new_gimple((meltobject_ptr_t) (((melt_ptr_t)(MELT_PREDEF(DISCR_CONSTANT_GIMPLE)))), (/*_?*/ meltfram__.loc_GIMPLE__o2));;
3215 MELT_LOCATION("warmelt-base.melt:1644:/ locexp");
3216 meltgc_append_list((melt_ptr_t)(/*_.LIS__V2*/ meltfptr[1]), (melt_ptr_t)(/*_.BOX__V11*/ meltfptr[6]));
3219 /*epilog*/
3221 MELT_LOCATION("warmelt-base.melt:1643:/ clear");
3222 /*clear*/ /*_?*/
3223 meltfram__.loc_GIMPLE__o2 = 0 ;
3224 /*^clear*/
3225 /*clear*/ /*_.BOX__V11*/
3226 meltfptr[6] = 0 ;
3230 else /*^cond.else*/
3233 /*^block*/
3234 /*anyblock*/
3237 MELT_LOCATION("warmelt-base.melt:1645:/ cond");
3238 /*cond*/
3239 if (/*ifvariadic arg#1*/ variad_ADD2LIST_ix>=0 && variad_ADD2LIST_ix + 1 <= variad_ADD2LIST_len && meltxargdescr_[variad_ADD2LIST_ix]== MELTBPAR_EDGE) /*then*/
3241 /*^cond.then*/
3242 /*^block*/
3243 /*anyblock*/
3246 /*^compute*/
3247 /*_?*/ meltfram__.loc_EDGE__o3 =
3248 /*variadic argument stuff*/ meltxargtab_[variad_ADD2LIST_ix + 0].meltbp_edge;;
3249 /*^compute*/
3251 /*consume variadic EDGE !*/
3252 variad_ADD2LIST_ix += 1;;
3253 /*_.BOX__V12*/
3254 meltfptr[6] =
3255 /*full constboxing*/ meltgc_new_edge((meltobject_ptr_t) (((melt_ptr_t)(MELT_PREDEF(DISCR_CONSTANT_EDGE)))), (/*_?*/ meltfram__.loc_EDGE__o3));;
3258 MELT_LOCATION("warmelt-base.melt:1646:/ locexp");
3259 meltgc_append_list((melt_ptr_t)(/*_.LIS__V2*/ meltfptr[1]), (melt_ptr_t)(/*_.BOX__V12*/ meltfptr[6]));
3262 /*epilog*/
3264 MELT_LOCATION("warmelt-base.melt:1645:/ clear");
3265 /*clear*/ /*_?*/
3266 meltfram__.loc_EDGE__o3 = 0 ;
3267 /*^clear*/
3268 /*clear*/ /*_.BOX__V12*/
3269 meltfptr[6] = 0 ;
3273 else /*^cond.else*/
3276 /*^block*/
3277 /*anyblock*/
3280 MELT_LOCATION("warmelt-base.melt:1648:/ quasiblock");
3283 /*_.VCTY__V14*/
3284 meltfptr[13] =
3285 /*variadic_type_code*/
3286 #ifdef melt_variadic_index
3287 (((melt_variadic_index + 0) >= 0
3288 && (melt_variadic_index + 0) < melt_variadic_length)
3289 ? melt_code_to_ctype (meltxargdescr_[melt_variadic_index + 0]
3290 & MELT_ARGDESCR_MAX)
3291 : NULL)
3292 #else
3293 NULL /* no variadic_ctype outside of variadic functions */
3294 #endif /*melt_variadic_index*/
3296 MELT_LOCATION("warmelt-base.melt:1651:/ cond");
3297 /*cond*/
3298 if (
3299 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.VCTY__V14*/ meltfptr[13]),
3300 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[0])))
3301 ) /*then*/
3303 /*^cond.then*/
3304 /*^getslot*/
3306 melt_ptr_t slot=NULL, obj=NULL;
3307 obj = (melt_ptr_t)(/*_.VCTY__V14*/ meltfptr[13]) /*=obj*/;
3308 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
3309 /*_.NAMED_NAME__V15*/
3310 meltfptr[14] = slot;
3314 else /*^cond.else*/
3317 /*_.NAMED_NAME__V15*/ meltfptr[14] = /*reallynil*/ NULL ;;
3322 MELT_LOCATION("warmelt-base.melt:1650:/ locexp");
3323 error ("MELT ERROR MSG [#%ld]::: %s - %s", melt_dbgcounter, ( "ADD2LIST for unsupported ctype "),
3324 melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V15*/ meltfptr[14])));
3328 #if MELT_HAVE_DEBUG
3329 MELT_LOCATION("warmelt-base.melt:1652:/ cppif.then");
3330 /*^block*/
3331 /*anyblock*/
3335 MELT_CHECK_SIGNAL();
3337 /*^cond*/
3338 /*cond*/
3339 if ((/*nil*/NULL)) /*then*/
3341 /*^cond.then*/
3342 /*_._IFELSE___V17*/ meltfptr[16] = (/*nil*/NULL);;
3344 else
3346 MELT_LOCATION("warmelt-base.melt:1652:/ cond.else");
3348 /*^block*/
3349 /*anyblock*/
3353 MELT_CHECK_SIGNAL();
3355 /*^apply*/
3356 /*apply*/
3358 union meltparam_un argtab[4];
3359 memset(&argtab, 0, sizeof(argtab));
3360 /*^apply.arg*/
3361 argtab[0].meltbp_cstring = "invalid variadic argument to ADD2LIST";
3362 /*^apply.arg*/
3363 argtab[1].meltbp_cstring = "warmelt-base.melt";
3364 /*^apply.arg*/
3365 argtab[2].meltbp_long = 1652;
3366 /*^apply.arg*/
3367 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.VCTY__V14*/ meltfptr[13];
3368 /*_.MELT_ASSERT_FAILURE_FUN__V18*/
3369 meltfptr[17] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[1])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
3372 /*_._IFELSE___V17*/
3373 meltfptr[16] = /*_.MELT_ASSERT_FAILURE_FUN__V18*/ meltfptr[17];;
3374 /*epilog*/
3376 MELT_LOCATION("warmelt-base.melt:1652:/ clear");
3377 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V18*/
3378 meltfptr[17] = 0 ;
3383 /*_.IFCPP___V16*/
3384 meltfptr[15] = /*_._IFELSE___V17*/ meltfptr[16];;
3385 /*epilog*/
3387 MELT_LOCATION("warmelt-base.melt:1652:/ clear");
3388 /*clear*/ /*_._IFELSE___V17*/
3389 meltfptr[16] = 0 ;
3392 #else /*MELT_HAVE_DEBUG*/
3393 /*^cppif.else*/
3394 /*_.IFCPP___V16*/ meltfptr[15] = (/*nil*/NULL);
3395 #endif /*MELT_HAVE_DEBUG*/
3397 /*^compute*/
3398 /*_.LET___V13*/
3399 meltfptr[6] = /*_.IFCPP___V16*/ meltfptr[15];;
3401 MELT_LOCATION("warmelt-base.melt:1648:/ clear");
3402 /*clear*/ /*_.VCTY__V14*/
3403 meltfptr[13] = 0 ;
3404 /*^clear*/
3405 /*clear*/ /*_.NAMED_NAME__V15*/
3406 meltfptr[14] = 0 ;
3407 /*^clear*/
3408 /*clear*/ /*_.IFCPP___V16*/
3409 meltfptr[15] = 0 ;
3410 /*epilog*/
3412 MELT_LOCATION("warmelt-base.melt:1645:/ clear");
3413 /*clear*/ /*_.LET___V13*/
3414 meltfptr[6] = 0 ;
3419 /*epilog*/
3424 /*epilog*/
3429 /*epilog*/
3434 /*epilog*/
3439 /*epilog*/
3444 /*epilog*/
3449 /*epilog*/
3453 goto meltlabloop_ARGLOOP_3;
3454 meltlabexit_ARGLOOP_3:
3456 MELT_LOCATION("warmelt-base.melt:1630:/ loopepilog");
3457 /*loopepilog*/
3458 /*_.FOREVER___V5*/
3459 meltfptr[3] = /*_.ARGLOOP__V6*/ meltfptr[5];;
3463 MELT_CHECK_SIGNAL();
3465 MELT_LOCATION("warmelt-base.melt:1654:/ quasiblock");
3468 /*_._RETVAL___V1*/
3469 meltfptr[0] = /*_.LIS__V2*/ meltfptr[1];;
3472 MELT_LOCATION("warmelt-base.melt:1654:/ locexp");
3473 /*ochecknores compilobj_nrep_return*/
3474 #if MELT_HAVE_DEBUG
3475 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
3476 melt_warn_for_no_expected_secondary_results();
3477 /* we warned when secondary results are expected but not returned. */
3478 #endif /*MELT_HAVE_DEBUG*/
3482 /*^finalreturn*/
3484 /*finalret*/
3485 goto meltlabend_rout ;
3487 MELT_CHECK_SIGNAL();
3489 MELT_LOCATION("warmelt-base.melt:1624:/ quasiblock");
3492 /*_._RETVAL___V1*/
3493 meltfptr[0] = /*_.RETURN___V19*/ meltfptr[17];;
3496 MELT_LOCATION("warmelt-base.melt:1624:/ locexp");
3497 /*ochecknores compilobj_nrep_return*/
3498 #if MELT_HAVE_DEBUG
3499 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
3500 melt_warn_for_no_expected_secondary_results();
3501 /* we warned when secondary results are expected but not returned. */
3502 #endif /*MELT_HAVE_DEBUG*/
3506 /*^finalreturn*/
3508 /*finalret*/
3509 goto meltlabend_rout ;
3510 /*epilog*/
3512 /*^clear*/
3513 /*clear*/ /*_#IS_LIST__L1*/
3514 meltfnum[0] = 0 ;
3515 /*^clear*/
3516 /*clear*/ /*_#NOT__L2*/
3517 meltfnum[1] = 0 ;
3518 /*^clear*/
3519 /*clear*/ /*_._IF___V3*/
3520 meltfptr[2] = 0 ;
3521 /*^clear*/
3522 /*clear*/ /*_.FOREVER___V5*/
3523 meltfptr[3] = 0 ;
3524 /*^clear*/
3525 /*clear*/ /*_.RETURN___V19*/
3526 meltfptr[17] = 0 ;
3530 goto meltlabend_rout;
3531 meltlabend_rout:
3532 melt_trace_end("ADD2LIST", meltcallcount);
3533 melt_blocklevel_signals = current_blocklevel_signals_meltrout_12_WARMELTmiBASE_ADD2LIST_melt;
3534 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
3535 #undef melt_variadic_length
3536 #undef melt_variadic_index
3538 #undef meltcallcount
3539 #undef meltfram__
3540 #undef MELTFRAM_NBVARNUM
3541 #undef MELTFRAM_NBVARPTR
3542 } /*end meltrout_12_WARMELTmiBASE_ADD2LIST*/
3549 melt_ptr_t MELT_MODULE_VISIBILITY
3550 meltrout_13_WARMELTmiBASE_STRING4OUT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
3551 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
3553 /*variadic*/ int variad_STRING4OUT_ix = 0, variad_STRING4OUT_len = melt_argdescr_length (meltxargdescr_);
3554 #define melt_variadic_length (0+variad_STRING4OUT_len)
3555 #define melt_variadic_index variad_STRING4OUT_ix
3557 long current_blocklevel_signals_meltrout_13_WARMELTmiBASE_STRING4OUT_melt = melt_blocklevel_signals;
3559 #if MELT_HAVE_DEBUG
3560 static long melt_call_counter__;
3561 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
3562 #undef meltcallcount
3563 #define meltcallcount melt_thiscallcounter__
3564 #else
3565 #undef meltcallcount
3566 #define meltcallcount 0L
3567 #endif
3568 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
3570 /* start of frame for routine meltrout_13_WARMELTmiBASE_STRING4OUT fromline 1752 */
3572 /** start of frame for meltrout_13_WARMELTmiBASE_STRING4OUT of CLASS_PROCROUTINEOBJ from 1555**/
3574 /*curframdeclclassy*/ class MeltFrame_meltrout_13_WARMELTmiBASE_STRING4OUT// fromline 1568
3575 : public Melt_CallFrameWithValues<44>
3577 public: /* fromline 1572*/
3578 long mcfr_varnum[5];
3579 /*classy others*/
3580 const char* loc_CSTRING__o0;
3581 tree loc_TREE__o1;
3582 gimple loc_GIMPLE__o2;
3583 gimple_seq loc_GIMPLE_SEQ__o3;
3584 edge loc_EDGE__o4;
3585 loop_p loc_LOOP__o5;
3586 const char* loc_CSTRING__o6;
3587 long _meltsparel;
3588 void melt_mark_stuff (void)
3590 /*marking tree*/
3591 /*:tree marker*/ gt_ggc_mx_tree_node (loc_TREE__o1);
3592 /*marking gimple*/
3593 /*:gimple marker*/
3594 gt_ggc_mx_gimple_statement_d (loc_GIMPLE__o2);
3595 /*marking gimple_seq*/
3596 /*:gimple_seq marker, really gimple marker*/
3597 gt_ggc_mx_gimple_statement_d (loc_GIMPLE_SEQ__o3);
3598 /*marking edge*/
3599 /*:edge marker*/
3600 gt_ggc_mx_edge_def (loc_EDGE__o4);
3601 /*marking loop_p*/
3602 /*:loop marker*/
3603 gt_ggc_mx_loop (loc_LOOP__o5);
3604 } /*end melt_mark_stuff*/
3605 virtual void melt_mark_ggc_data (void)
3607 melt_mark_values ();
3608 melt_mark_stuff ();
3609 }; /*end melt_mark_ggc_data*/
3610 MeltFrame_meltrout_13_WARMELTmiBASE_STRING4OUT(meltclosure_ptr_t clos) //the closure constructor fromline 1630
3611 : Melt_CallFrameWithValues<44> (
3612 #if ENABLE_CHECKING /*fromline 1634*/
3613 __FILE__, __LINE__,
3614 #endif /* ENABLE_CHECKING fromline 1638*/
3615 sizeof(MeltFrame_meltrout_13_WARMELTmiBASE_STRING4OUT), clos) {};
3616 MeltFrame_meltrout_13_WARMELTmiBASE_STRING4OUT() //the constructor fromline 1642
3617 : Melt_CallFrameWithValues<44> (
3618 #if ENABLE_CHECKING /*fromline 1646*/
3619 __FILE__, __LINE__,
3620 #endif /* ENABLE_CHECKING fromline 1650*/
3621 sizeof(MeltFrame_meltrout_13_WARMELTmiBASE_STRING4OUT)) {};
3622 #if ENABLE_CHECKING /*fromline 1654*/
3623 MeltFrame_meltrout_13_WARMELTmiBASE_STRING4OUT(const char*fil, int lin) //the constructor fromline 1656
3624 : Melt_CallFrameWithValues<44> (fil,lin, sizeof(MeltFrame_meltrout_13_WARMELTmiBASE_STRING4OUT)) {};
3625 MeltFrame_meltrout_13_WARMELTmiBASE_STRING4OUT(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
3626 : Melt_CallFrameWithValues<44> (fil,lin, sizeof(MeltFrame_meltrout_13_WARMELTmiBASE_STRING4OUT), clos) {};
3627 #endif /* ENABLE_CHECKING fromline 1666*/
3629 }; // end class MeltFrame_meltrout_13_WARMELTmiBASE_STRING4OUT
3632 /** end of frame for meltrout_13_WARMELTmiBASE_STRING4OUT fromline 1697**/
3634 /* end of frame for routine meltrout_13_WARMELTmiBASE_STRING4OUT fromline 1756 */
3636 /* classy proc frame meltrout_13_WARMELTmiBASE_STRING4OUT */
3637 MeltFrame_meltrout_13_WARMELTmiBASE_STRING4OUT
3638 meltfram__ /*declfrastruct fromline 1780*/
3639 /*classyprocarg meltrout_13_WARMELTmiBASE_STRING4OUT fromline 1785*/
3640 #if ENABLE_CHECKING
3641 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
3642 #else /*ENABLE_CHECKING */
3643 (meltclosp_) /* fromline 1793*/
3644 #endif /*ENABLE_CHECKING */
3647 #define meltframe meltfram__
3649 melt_trace_start("STRING4OUT", meltcallcount);
3650 /*use arguments*/
3651 (void) meltclosp_;
3652 (void)meltfirstargp_;
3653 (void)meltxargdescr_;
3654 (void)meltxargtab_;
3655 (void)meltxresdescr_;
3656 (void)meltxrestab_;
3657 /*getargs*/
3659 /*getarg#0*/
3660 MELT_LOCATION("warmelt-base.melt:1658:/ getarg");
3661 /*_.DIS__V2*/
3662 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
3664 goto meltlab_endgetargs;
3665 meltlab_endgetargs:
3667 /*body*/
3668 /*^block*/
3669 /*anyblock*/
3673 MELT_CHECK_SIGNAL();
3675 MELT_LOCATION("warmelt-base.melt:1661:/ cond");
3676 /*cond*/
3677 if (/*_.DIS__V2*/ meltfptr[1]) /*then*/
3679 /*^cond.then*/
3680 /*_._IFELSE___V3*/ meltfptr[2] = (/*nil*/NULL);;
3682 else
3684 MELT_LOCATION("warmelt-base.melt:1661:/ cond.else");
3686 /*^block*/
3687 /*anyblock*/
3690 /*^compute*/
3691 /*_.DIS__V2*/ meltfptr[1] = /*_.SETQ___V4*/ meltfptr[3] = (/*!DISCR_STRING*/ meltfrout->tabval[0]);;
3692 /*^quasiblock*/
3695 /*_.PROGN___V5*/
3696 meltfptr[4] = /*_.SETQ___V4*/ meltfptr[3];;
3697 /*^compute*/
3698 /*_._IFELSE___V3*/
3699 meltfptr[2] = /*_.PROGN___V5*/ meltfptr[4];;
3700 /*epilog*/
3702 MELT_LOCATION("warmelt-base.melt:1661:/ clear");
3703 /*clear*/ /*_.SETQ___V4*/
3704 meltfptr[3] = 0 ;
3705 /*^clear*/
3706 /*clear*/ /*_.PROGN___V5*/
3707 meltfptr[4] = 0 ;
3713 MELT_CHECK_SIGNAL();
3715 /*_#IS_A__L1*/
3716 meltfnum[0] =
3717 melt_is_instance_of((melt_ptr_t)(/*_.DIS__V2*/ meltfptr[1]), (melt_ptr_t)((/*!CLASS_DISCRIMINANT*/ meltfrout->tabval[1])));;
3718 MELT_LOCATION("warmelt-base.melt:1662:/ cond");
3719 /*cond*/
3720 if (/*_#IS_A__L1*/ meltfnum[0]) /*then*/
3722 /*^cond.then*/
3723 /*_._IFELSE___V6*/ meltfptr[3] = (/*nil*/NULL);;
3725 else
3727 MELT_LOCATION("warmelt-base.melt:1662:/ cond.else");
3729 /*^block*/
3730 /*anyblock*/
3733 MELT_LOCATION("warmelt-base.melt:1663:/ quasiblock");
3736 /*_._RETVAL___V1*/
3737 meltfptr[0] = /*reallynil*/ NULL ;;
3740 MELT_LOCATION("warmelt-base.melt:1663:/ locexp");
3741 /*ochecknores compilobj_nrep_return*/
3742 #if MELT_HAVE_DEBUG
3743 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
3744 melt_warn_for_no_expected_secondary_results();
3745 /* we warned when secondary results are expected but not returned. */
3746 #endif /*MELT_HAVE_DEBUG*/
3750 /*^finalreturn*/
3752 /*finalret*/
3753 goto meltlabend_rout ;
3754 MELT_LOCATION("warmelt-base.melt:1662:/ quasiblock");
3757 /*_.PROGN___V8*/
3758 meltfptr[7] = /*_.RETURN___V7*/ meltfptr[4];;
3759 /*^compute*/
3760 /*_._IFELSE___V6*/
3761 meltfptr[3] = /*_.PROGN___V8*/ meltfptr[7];;
3762 /*epilog*/
3764 MELT_LOCATION("warmelt-base.melt:1662:/ clear");
3765 /*clear*/ /*_.RETURN___V7*/
3766 meltfptr[4] = 0 ;
3767 /*^clear*/
3768 /*clear*/ /*_.PROGN___V8*/
3769 meltfptr[7] = 0 ;
3774 MELT_LOCATION("warmelt-base.melt:1664:/ quasiblock");
3777 /*_#GOODMAG__L2*/
3778 meltfnum[1] = 0;;
3781 MELT_LOCATION("warmelt-base.melt:1666:/ locexp");
3782 /* string4out GETMAGIDISCHK__1 */ /*_#GOODMAG__L2*/
3783 meltfnum[1] =
3784 ((meltobject_ptr_t)/*_.DIS__V2*/ meltfptr[1])->meltobj_magic == MELTOBMAG_STRING ;;
3788 MELT_CHECK_SIGNAL();
3790 MELT_LOCATION("warmelt-base.melt:1669:/ cond");
3791 /*cond*/
3792 if (/*_#GOODMAG__L2*/ meltfnum[1]) /*then*/
3794 /*^cond.then*/
3795 /*_._IFELSE___V10*/ meltfptr[7] = (/*nil*/NULL);;
3797 else
3799 MELT_LOCATION("warmelt-base.melt:1669:/ cond.else");
3801 /*^block*/
3802 /*anyblock*/
3805 /*^quasiblock*/
3808 /*_._RETVAL___V1*/ meltfptr[0] = /*reallynil*/ NULL ;;
3811 MELT_LOCATION("warmelt-base.melt:1669:/ locexp");
3812 /*ochecknores compilobj_nrep_return*/
3813 #if MELT_HAVE_DEBUG
3814 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
3815 melt_warn_for_no_expected_secondary_results();
3816 /* we warned when secondary results are expected but not returned. */
3817 #endif /*MELT_HAVE_DEBUG*/
3821 /*^finalreturn*/
3823 /*finalret*/
3824 goto meltlabend_rout ;
3825 /*^quasiblock*/
3828 /*_.PROGN___V12*/
3829 meltfptr[11] = /*_.RETURN___V11*/ meltfptr[10];;
3830 /*^compute*/
3831 /*_._IFELSE___V10*/
3832 meltfptr[7] = /*_.PROGN___V12*/ meltfptr[11];;
3833 /*epilog*/
3835 MELT_LOCATION("warmelt-base.melt:1669:/ clear");
3836 /*clear*/ /*_.RETURN___V11*/
3837 meltfptr[10] = 0 ;
3838 /*^clear*/
3839 /*clear*/ /*_.PROGN___V12*/
3840 meltfptr[11] = 0 ;
3845 /*_.LET___V9*/
3846 meltfptr[4] = /*_._IFELSE___V10*/ meltfptr[7];;
3848 MELT_LOCATION("warmelt-base.melt:1664:/ clear");
3849 /*clear*/ /*_#GOODMAG__L2*/
3850 meltfnum[1] = 0 ;
3851 /*^clear*/
3852 /*clear*/ /*_._IFELSE___V10*/
3853 meltfptr[7] = 0 ;
3854 MELT_LOCATION("warmelt-base.melt:1670:/ quasiblock");
3857 /*_.OUT__V14*/
3858 meltfptr[11] =
3859 (melt_ptr_t) meltgc_new_strbuf((meltobject_ptr_t)((/*!DISCR_STRBUF*/ meltfrout->tabval[2])), (const char*)0);;
3860 MELT_LOCATION("warmelt-base.melt:1672:/ loop");
3861 /*loop*/
3863 meltlabloop_ARGLOOP_4:;/*^loopbody*/
3865 /*^block*/
3866 /*anyblock*/
3870 MELT_CHECK_SIGNAL();
3872 MELT_LOCATION("warmelt-base.melt:1675:/ cond");
3873 /*cond*/
3874 if (/*ifvariadic nomore*/ variad_STRING4OUT_ix == variad_STRING4OUT_len) /*then*/
3876 /*^cond.then*/
3877 /*^block*/
3878 /*anyblock*/
3881 /*^compute*/
3883 /*consume variadic !*/ variad_STRING4OUT_ix += 0;;
3884 MELT_LOCATION("warmelt-base.melt:1676:/ quasiblock");
3887 /*^compute*/
3888 /*_.ARGLOOP__V16*/
3889 meltfptr[15] = /*reallynil*/ NULL ;;
3891 /*^exit*/
3892 /*exit*/
3894 goto meltlabexit_ARGLOOP_4;
3897 /*epilog*/
3901 else
3903 MELT_LOCATION("warmelt-base.melt:1675:/ cond.else");
3905 /*^block*/
3906 /*anyblock*/
3909 MELT_LOCATION("warmelt-base.melt:1677:/ cond");
3910 /*cond*/
3911 if (/*ifvariadic arg#1*/ variad_STRING4OUT_ix>=0 && variad_STRING4OUT_ix + 1 <= variad_STRING4OUT_len && meltxargdescr_[variad_STRING4OUT_ix]== MELTBPAR_PTR) /*then*/
3913 /*^cond.then*/
3914 /*^block*/
3915 /*anyblock*/
3918 /*^compute*/
3919 /*_.V__V17*/ meltfptr[16] =
3920 /*variadic argument value*/ ((meltxargtab_[variad_STRING4OUT_ix + 0].meltbp_aptr) ? (*(meltxargtab_[variad_STRING4OUT_ix + 0].meltbp_aptr)) : NULL);;
3921 /*^compute*/
3923 /*consume variadic Value !*/
3924 variad_STRING4OUT_ix += 1;;
3926 MELT_CHECK_SIGNAL();
3928 /*_#IS_CLOSURE__L3*/
3929 meltfnum[1] =
3930 (melt_magic_discr((melt_ptr_t)(/*_.V__V17*/ meltfptr[16])) == MELTOBMAG_CLOSURE);;
3931 MELT_LOCATION("warmelt-base.melt:1678:/ cond");
3932 /*cond*/
3933 if (/*_#IS_CLOSURE__L3*/ meltfnum[1]) /*then*/
3935 /*^cond.then*/
3936 /*^block*/
3937 /*anyblock*/
3940 MELT_LOCATION("warmelt-base.melt:1680:/ cond");
3941 /*cond*/
3942 if (/*ifvariadic arg#1*/ variad_STRING4OUT_ix>=0 && variad_STRING4OUT_ix + 1 <= variad_STRING4OUT_len && meltxargdescr_[variad_STRING4OUT_ix]== MELTBPAR_PTR) /*then*/
3944 /*^cond.then*/
3945 /*^block*/
3946 /*anyblock*/
3949 /*^compute*/
3950 /*_.VV__V19*/ meltfptr[18] =
3951 /*variadic argument value*/ ((meltxargtab_[variad_STRING4OUT_ix + 0].meltbp_aptr) ? (*(meltxargtab_[variad_STRING4OUT_ix + 0].meltbp_aptr)) : NULL);;
3952 /*^compute*/
3954 /*consume variadic Value !*/
3955 variad_STRING4OUT_ix += 1;;
3957 MELT_CHECK_SIGNAL();
3959 MELT_LOCATION("warmelt-base.melt:1681:/ apply");
3960 /*apply*/
3962 union meltparam_un argtab[1];
3963 memset(&argtab, 0, sizeof(argtab));
3964 /*^apply.arg*/
3965 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.VV__V19*/ meltfptr[18];
3966 /*_.V__V20*/
3967 meltfptr[19] = melt_apply ((meltclosure_ptr_t)(/*_.V__V17*/ meltfptr[16]), (melt_ptr_t)(/*_.OUT__V14*/ meltfptr[11]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
3970 /*_._IFELSE___V18*/
3971 meltfptr[17] = /*_.V__V20*/ meltfptr[19];;
3972 /*epilog*/
3974 MELT_LOCATION("warmelt-base.melt:1680:/ clear");
3975 /*clear*/ /*_.VV__V19*/
3976 meltfptr[18] = 0 ;
3977 /*^clear*/
3978 /*clear*/ /*_.V__V20*/
3979 meltfptr[19] = 0 ;
3983 else /*^cond.else*/
3986 /*^block*/
3987 /*anyblock*/
3990 MELT_LOCATION("warmelt-base.melt:1682:/ cond");
3991 /*cond*/
3992 if (/*ifvariadic arg#1*/ variad_STRING4OUT_ix>=0 && variad_STRING4OUT_ix + 1 <= variad_STRING4OUT_len && meltxargdescr_[variad_STRING4OUT_ix]== MELTBPAR_LONG) /*then*/
3994 /*^cond.then*/
3995 /*^block*/
3996 /*anyblock*/
3999 /*^compute*/
4000 /*_#LL__L4*/ meltfnum[3] =
4001 /*variadic argument stuff*/ meltxargtab_[variad_STRING4OUT_ix + 0].meltbp_long;;
4002 /*^compute*/
4004 /*consume variadic LONG !*/
4005 variad_STRING4OUT_ix += 1;;
4007 MELT_CHECK_SIGNAL();
4009 MELT_LOCATION("warmelt-base.melt:1683:/ apply");
4010 /*apply*/
4012 union meltparam_un argtab[1];
4013 memset(&argtab, 0, sizeof(argtab));
4014 /*^apply.arg*/
4015 argtab[0].meltbp_long = /*_#LL__L4*/ meltfnum[3];
4016 /*_.V__V21*/
4017 meltfptr[18] = melt_apply ((meltclosure_ptr_t)(/*_.V__V17*/ meltfptr[16]), (melt_ptr_t)(/*_.OUT__V14*/ meltfptr[11]), (MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un*)0);
4020 /*_._IFELSE___V18*/
4021 meltfptr[17] = /*_.V__V21*/ meltfptr[18];;
4022 /*epilog*/
4024 MELT_LOCATION("warmelt-base.melt:1682:/ clear");
4025 /*clear*/ /*_#LL__L4*/
4026 meltfnum[3] = 0 ;
4027 /*^clear*/
4028 /*clear*/ /*_.V__V21*/
4029 meltfptr[18] = 0 ;
4033 else /*^cond.else*/
4036 /*^block*/
4037 /*anyblock*/
4040 MELT_LOCATION("warmelt-base.melt:1684:/ cond");
4041 /*cond*/
4042 if (/*ifvariadic arg#1*/ variad_STRING4OUT_ix>=0 && variad_STRING4OUT_ix + 1 <= variad_STRING4OUT_len && meltxargdescr_[variad_STRING4OUT_ix]== MELTBPAR_CSTRING) /*then*/
4044 /*^cond.then*/
4045 /*^block*/
4046 /*anyblock*/
4049 /*^compute*/
4050 /*_?*/ meltfram__.loc_CSTRING__o0 =
4051 /*variadic argument stuff*/ meltxargtab_[variad_STRING4OUT_ix + 0].meltbp_cstring;;
4052 /*^compute*/
4054 /*consume variadic CSTRING !*/
4055 variad_STRING4OUT_ix += 1;;
4057 MELT_CHECK_SIGNAL();
4059 MELT_LOCATION("warmelt-base.melt:1685:/ apply");
4060 /*apply*/
4062 union meltparam_un argtab[1];
4063 memset(&argtab, 0, sizeof(argtab));
4064 /*^apply.arg*/
4065 argtab[0].meltbp_cstring = /*_?*/ meltfram__.loc_CSTRING__o0;
4066 /*_.V__V22*/
4067 meltfptr[19] = melt_apply ((meltclosure_ptr_t)(/*_.V__V17*/ meltfptr[16]), (melt_ptr_t)(/*_.OUT__V14*/ meltfptr[11]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
4070 /*_._IFELSE___V18*/
4071 meltfptr[17] = /*_.V__V22*/ meltfptr[19];;
4072 /*epilog*/
4074 MELT_LOCATION("warmelt-base.melt:1684:/ clear");
4075 /*clear*/ /*_?*/
4076 meltfram__.loc_CSTRING__o0 = 0 ;
4077 /*^clear*/
4078 /*clear*/ /*_.V__V22*/
4079 meltfptr[19] = 0 ;
4083 else /*^cond.else*/
4086 /*^block*/
4087 /*anyblock*/
4090 MELT_LOCATION("warmelt-base.melt:1686:/ cond");
4091 /*cond*/
4092 if (/*ifvariadic arg#1*/ variad_STRING4OUT_ix>=0 && variad_STRING4OUT_ix + 1 <= variad_STRING4OUT_len && meltxargdescr_[variad_STRING4OUT_ix]== MELTBPAR_TREE) /*then*/
4094 /*^cond.then*/
4095 /*^block*/
4096 /*anyblock*/
4099 /*^compute*/
4100 /*_?*/ meltfram__.loc_TREE__o1 =
4101 /*variadic argument stuff*/ meltxargtab_[variad_STRING4OUT_ix + 0].meltbp_tree;;
4102 /*^compute*/
4104 /*consume variadic TREE !*/
4105 variad_STRING4OUT_ix += 1;;
4107 MELT_CHECK_SIGNAL();
4109 MELT_LOCATION("warmelt-base.melt:1687:/ apply");
4110 /*apply*/
4112 union meltparam_un argtab[1];
4113 memset(&argtab, 0, sizeof(argtab));
4114 /*^apply.arg*/
4115 argtab[0].meltbp_tree = /*_?*/ meltfram__.loc_TREE__o1;
4116 /*_.V__V23*/
4117 meltfptr[18] = melt_apply ((meltclosure_ptr_t)(/*_.V__V17*/ meltfptr[16]), (melt_ptr_t)(/*_.OUT__V14*/ meltfptr[11]), (MELTBPARSTR_TREE ""), argtab, "", (union meltparam_un*)0);
4120 /*_._IFELSE___V18*/
4121 meltfptr[17] = /*_.V__V23*/ meltfptr[18];;
4122 /*epilog*/
4124 MELT_LOCATION("warmelt-base.melt:1686:/ clear");
4125 /*clear*/ /*_?*/
4126 meltfram__.loc_TREE__o1 = 0 ;
4127 /*^clear*/
4128 /*clear*/ /*_.V__V23*/
4129 meltfptr[18] = 0 ;
4133 else /*^cond.else*/
4136 /*^block*/
4137 /*anyblock*/
4140 MELT_LOCATION("warmelt-base.melt:1688:/ cond");
4141 /*cond*/
4142 if (/*ifvariadic arg#1*/ variad_STRING4OUT_ix>=0 && variad_STRING4OUT_ix + 1 <= variad_STRING4OUT_len && meltxargdescr_[variad_STRING4OUT_ix]== MELTBPAR_GIMPLE) /*then*/
4144 /*^cond.then*/
4145 /*^block*/
4146 /*anyblock*/
4149 /*^compute*/
4150 /*_?*/ meltfram__.loc_GIMPLE__o2 =
4151 /*variadic argument stuff*/ meltxargtab_[variad_STRING4OUT_ix + 0].meltbp_gimple;;
4152 /*^compute*/
4154 /*consume variadic GIMPLE !*/
4155 variad_STRING4OUT_ix += 1;;
4157 MELT_CHECK_SIGNAL();
4159 MELT_LOCATION("warmelt-base.melt:1689:/ apply");
4160 /*apply*/
4162 union meltparam_un argtab[1];
4163 memset(&argtab, 0, sizeof(argtab));
4164 /*^apply.arg*/
4165 argtab[0].meltbp_gimple = /*_?*/ meltfram__.loc_GIMPLE__o2;
4166 /*_.V__V24*/
4167 meltfptr[19] = melt_apply ((meltclosure_ptr_t)(/*_.V__V17*/ meltfptr[16]), (melt_ptr_t)(/*_.OUT__V14*/ meltfptr[11]), (MELTBPARSTR_GIMPLE ""), argtab, "", (union meltparam_un*)0);
4170 /*_._IFELSE___V18*/
4171 meltfptr[17] = /*_.V__V24*/ meltfptr[19];;
4172 /*epilog*/
4174 MELT_LOCATION("warmelt-base.melt:1688:/ clear");
4175 /*clear*/ /*_?*/
4176 meltfram__.loc_GIMPLE__o2 = 0 ;
4177 /*^clear*/
4178 /*clear*/ /*_.V__V24*/
4179 meltfptr[19] = 0 ;
4183 else /*^cond.else*/
4186 /*^block*/
4187 /*anyblock*/
4190 MELT_LOCATION("warmelt-base.melt:1690:/ cond");
4191 /*cond*/
4192 if (/*ifvariadic arg#1*/ variad_STRING4OUT_ix>=0 && variad_STRING4OUT_ix + 1 <= variad_STRING4OUT_len && meltxargdescr_[variad_STRING4OUT_ix]== MELTBPAR_GIMPLESEQ) /*then*/
4194 /*^cond.then*/
4195 /*^block*/
4196 /*anyblock*/
4199 /*^compute*/
4200 /*_?*/ meltfram__.loc_GIMPLE_SEQ__o3 =
4201 /*variadic argument stuff*/ meltxargtab_[variad_STRING4OUT_ix + 0].meltbp_gimpleseq;;
4202 /*^compute*/
4204 /*consume variadic GIMPLE_SEQ !*/
4205 variad_STRING4OUT_ix += 1;;
4207 MELT_CHECK_SIGNAL();
4209 MELT_LOCATION("warmelt-base.melt:1691:/ apply");
4210 /*apply*/
4212 union meltparam_un argtab[1];
4213 memset(&argtab, 0, sizeof(argtab));
4214 /*^apply.arg*/
4215 argtab[0].meltbp_gimpleseq = /*_?*/ meltfram__.loc_GIMPLE_SEQ__o3;
4216 /*_.V__V25*/
4217 meltfptr[18] = melt_apply ((meltclosure_ptr_t)(/*_.V__V17*/ meltfptr[16]), (melt_ptr_t)(/*_.OUT__V14*/ meltfptr[11]), (MELTBPARSTR_GIMPLESEQ ""), argtab, "", (union meltparam_un*)0);
4220 /*_._IFELSE___V18*/
4221 meltfptr[17] = /*_.V__V25*/ meltfptr[18];;
4222 /*epilog*/
4224 MELT_LOCATION("warmelt-base.melt:1690:/ clear");
4225 /*clear*/ /*_?*/
4226 meltfram__.loc_GIMPLE_SEQ__o3 = 0 ;
4227 /*^clear*/
4228 /*clear*/ /*_.V__V25*/
4229 meltfptr[18] = 0 ;
4233 else /*^cond.else*/
4236 /*^block*/
4237 /*anyblock*/
4240 MELT_LOCATION("warmelt-base.melt:1692:/ cond");
4241 /*cond*/
4242 if (/*ifvariadic arg#1*/ variad_STRING4OUT_ix>=0 && variad_STRING4OUT_ix + 1 <= variad_STRING4OUT_len && meltxargdescr_[variad_STRING4OUT_ix]== MELTBPAR_EDGE) /*then*/
4244 /*^cond.then*/
4245 /*^block*/
4246 /*anyblock*/
4249 /*^compute*/
4250 /*_?*/ meltfram__.loc_EDGE__o4 =
4251 /*variadic argument stuff*/ meltxargtab_[variad_STRING4OUT_ix + 0].meltbp_edge;;
4252 /*^compute*/
4254 /*consume variadic EDGE !*/
4255 variad_STRING4OUT_ix += 1;;
4257 MELT_CHECK_SIGNAL();
4259 MELT_LOCATION("warmelt-base.melt:1693:/ apply");
4260 /*apply*/
4262 union meltparam_un argtab[1];
4263 memset(&argtab, 0, sizeof(argtab));
4264 /*^apply.arg*/
4265 argtab[0].meltbp_edge = /*_?*/ meltfram__.loc_EDGE__o4;
4266 /*_.V__V26*/
4267 meltfptr[19] = melt_apply ((meltclosure_ptr_t)(/*_.V__V17*/ meltfptr[16]), (melt_ptr_t)(/*_.OUT__V14*/ meltfptr[11]), (MELTBPARSTR_EDGE ""), argtab, "", (union meltparam_un*)0);
4270 /*_._IFELSE___V18*/
4271 meltfptr[17] = /*_.V__V26*/ meltfptr[19];;
4272 /*epilog*/
4274 MELT_LOCATION("warmelt-base.melt:1692:/ clear");
4275 /*clear*/ /*_?*/
4276 meltfram__.loc_EDGE__o4 = 0 ;
4277 /*^clear*/
4278 /*clear*/ /*_.V__V26*/
4279 meltfptr[19] = 0 ;
4283 else /*^cond.else*/
4286 /*^block*/
4287 /*anyblock*/
4290 MELT_LOCATION("warmelt-base.melt:1694:/ cond");
4291 /*cond*/
4292 if (/*ifvariadic arg#1*/ variad_STRING4OUT_ix>=0 && variad_STRING4OUT_ix + 1 <= variad_STRING4OUT_len && meltxargdescr_[variad_STRING4OUT_ix]== MELTBPAR_LOOP) /*then*/
4294 /*^cond.then*/
4295 /*^block*/
4296 /*anyblock*/
4299 /*^compute*/
4300 /*_?*/ meltfram__.loc_LOOP__o5 =
4301 /*variadic argument stuff*/ meltxargtab_[variad_STRING4OUT_ix + 0].meltbp_loop;;
4302 /*^compute*/
4304 /*consume variadic LOOP !*/
4305 variad_STRING4OUT_ix += 1;;
4307 MELT_CHECK_SIGNAL();
4309 MELT_LOCATION("warmelt-base.melt:1695:/ apply");
4310 /*apply*/
4312 union meltparam_un argtab[1];
4313 memset(&argtab, 0, sizeof(argtab));
4314 /*^apply.arg*/
4315 argtab[0].meltbp_loop = /*_?*/ meltfram__.loc_LOOP__o5;
4316 /*_.V__V27*/
4317 meltfptr[18] = melt_apply ((meltclosure_ptr_t)(/*_.V__V17*/ meltfptr[16]), (melt_ptr_t)(/*_.OUT__V14*/ meltfptr[11]), (MELTBPARSTR_LOOP ""), argtab, "", (union meltparam_un*)0);
4320 /*_._IFELSE___V18*/
4321 meltfptr[17] = /*_.V__V27*/ meltfptr[18];;
4322 /*epilog*/
4324 MELT_LOCATION("warmelt-base.melt:1694:/ clear");
4325 /*clear*/ /*_?*/
4326 meltfram__.loc_LOOP__o5 = 0 ;
4327 /*^clear*/
4328 /*clear*/ /*_.V__V27*/
4329 meltfptr[18] = 0 ;
4333 else /*^cond.else*/
4336 /*^block*/
4337 /*anyblock*/
4340 MELT_LOCATION("warmelt-base.melt:1697:/ quasiblock");
4343 /*_.VCTY__V29*/
4344 meltfptr[18] =
4345 /*variadic_type_code*/
4346 #ifdef melt_variadic_index
4347 (((melt_variadic_index + 0) >= 0
4348 && (melt_variadic_index + 0) < melt_variadic_length)
4349 ? melt_code_to_ctype (meltxargdescr_[melt_variadic_index + 0]
4350 & MELT_ARGDESCR_MAX)
4351 : NULL)
4352 #else
4353 NULL /* no variadic_ctype outside of variadic functions */
4354 #endif /*melt_variadic_index*/
4356 MELT_LOCATION("warmelt-base.melt:1700:/ cond");
4357 /*cond*/
4358 if (
4359 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.VCTY__V29*/ meltfptr[18]),
4360 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[3])))
4361 ) /*then*/
4363 /*^cond.then*/
4364 /*^getslot*/
4366 melt_ptr_t slot=NULL, obj=NULL;
4367 obj = (melt_ptr_t)(/*_.VCTY__V29*/ meltfptr[18]) /*=obj*/;
4368 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
4369 /*_.NAMED_NAME__V30*/
4370 meltfptr[29] = slot;
4374 else /*^cond.else*/
4377 /*_.NAMED_NAME__V30*/ meltfptr[29] = /*reallynil*/ NULL ;;
4382 MELT_LOCATION("warmelt-base.melt:1699:/ locexp");
4383 error ("MELT ERROR MSG [#%ld]::: %s - %s", melt_dbgcounter, ( "STRING4OUT with manipulator for unsupported ctype"),
4384 melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V30*/ meltfptr[29])));
4388 #if MELT_HAVE_DEBUG
4389 MELT_LOCATION("warmelt-base.melt:1701:/ cppif.then");
4390 /*^block*/
4391 /*anyblock*/
4395 MELT_CHECK_SIGNAL();
4397 /*^cond*/
4398 /*cond*/
4399 if ((/*nil*/NULL)) /*then*/
4401 /*^cond.then*/
4402 /*_._IFELSE___V32*/ meltfptr[31] = (/*nil*/NULL);;
4404 else
4406 MELT_LOCATION("warmelt-base.melt:1701:/ cond.else");
4408 /*^block*/
4409 /*anyblock*/
4413 MELT_CHECK_SIGNAL();
4415 /*^apply*/
4416 /*apply*/
4418 union meltparam_un argtab[4];
4419 memset(&argtab, 0, sizeof(argtab));
4420 /*^apply.arg*/
4421 argtab[0].meltbp_cstring = "invalid variadic argument after closure to STRING4OUT";
4422 /*^apply.arg*/
4423 argtab[1].meltbp_cstring = "warmelt-base.melt";
4424 /*^apply.arg*/
4425 argtab[2].meltbp_long = 1701;
4426 /*^apply.arg*/
4427 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.VCTY__V29*/ meltfptr[18];
4428 /*_.MELT_ASSERT_FAILURE_FUN__V33*/
4429 meltfptr[32] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[4])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
4432 /*_._IFELSE___V32*/
4433 meltfptr[31] = /*_.MELT_ASSERT_FAILURE_FUN__V33*/ meltfptr[32];;
4434 /*epilog*/
4436 MELT_LOCATION("warmelt-base.melt:1701:/ clear");
4437 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V33*/
4438 meltfptr[32] = 0 ;
4443 /*_.IFCPP___V31*/
4444 meltfptr[30] = /*_._IFELSE___V32*/ meltfptr[31];;
4445 /*epilog*/
4447 MELT_LOCATION("warmelt-base.melt:1701:/ clear");
4448 /*clear*/ /*_._IFELSE___V32*/
4449 meltfptr[31] = 0 ;
4452 #else /*MELT_HAVE_DEBUG*/
4453 /*^cppif.else*/
4454 /*_.IFCPP___V31*/ meltfptr[30] = (/*nil*/NULL);
4455 #endif /*MELT_HAVE_DEBUG*/
4457 MELT_LOCATION("warmelt-base.melt:1702:/ quasiblock");
4460 /*_._RETVAL___V1*/
4461 meltfptr[0] = /*reallynil*/ NULL ;;
4464 MELT_LOCATION("warmelt-base.melt:1702:/ locexp");
4465 /*ochecknores compilobj_nrep_return*/
4466 #if MELT_HAVE_DEBUG
4467 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
4468 melt_warn_for_no_expected_secondary_results();
4469 /* we warned when secondary results are expected but not returned. */
4470 #endif /*MELT_HAVE_DEBUG*/
4474 /*^finalreturn*/
4476 /*finalret*/
4477 goto meltlabend_rout ;
4478 /*_.LET___V28*/
4479 meltfptr[19] = /*_.RETURN___V34*/ meltfptr[32];;
4481 MELT_LOCATION("warmelt-base.melt:1697:/ clear");
4482 /*clear*/ /*_.VCTY__V29*/
4483 meltfptr[18] = 0 ;
4484 /*^clear*/
4485 /*clear*/ /*_.NAMED_NAME__V30*/
4486 meltfptr[29] = 0 ;
4487 /*^clear*/
4488 /*clear*/ /*_.IFCPP___V31*/
4489 meltfptr[30] = 0 ;
4490 /*^clear*/
4491 /*clear*/ /*_.RETURN___V34*/
4492 meltfptr[32] = 0 ;
4493 /*_._IFELSE___V18*/
4494 meltfptr[17] = /*_.LET___V28*/ meltfptr[19];;
4495 /*epilog*/
4497 MELT_LOCATION("warmelt-base.melt:1694:/ clear");
4498 /*clear*/ /*_.LET___V28*/
4499 meltfptr[19] = 0 ;
4504 /*epilog*/
4509 /*epilog*/
4514 /*epilog*/
4519 /*epilog*/
4524 /*epilog*/
4529 /*epilog*/
4534 /*epilog*/
4539 /*epilog*/
4543 else
4545 MELT_LOCATION("warmelt-base.melt:1678:/ cond.else");
4547 /*^block*/
4548 /*anyblock*/
4552 MELT_CHECK_SIGNAL();
4554 MELT_LOCATION("warmelt-base.melt:1704:/ msend");
4555 /*msend*/
4557 union meltparam_un argtab[1];
4558 memset(&argtab, 0, sizeof(argtab));
4559 /*^ojbmsend.arg*/
4560 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.OUT__V14*/ meltfptr[11];
4561 /*_.ADD_TO_OUT__V35*/
4562 meltfptr[31] = meltgc_send((melt_ptr_t)(/*_.V__V17*/ meltfptr[16]), (melt_ptr_t)((/*!ADD_TO_OUT*/ meltfrout->tabval[5])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
4565 /*_._IFELSE___V18*/
4566 meltfptr[17] = /*_.ADD_TO_OUT__V35*/ meltfptr[31];;
4567 /*epilog*/
4569 MELT_LOCATION("warmelt-base.melt:1678:/ clear");
4570 /*clear*/ /*_.ADD_TO_OUT__V35*/
4571 meltfptr[31] = 0 ;
4576 /*epilog*/
4578 MELT_LOCATION("warmelt-base.melt:1677:/ clear");
4579 /*clear*/ /*_.V__V17*/
4580 meltfptr[16] = 0 ;
4581 /*^clear*/
4582 /*clear*/ /*_#IS_CLOSURE__L3*/
4583 meltfnum[1] = 0 ;
4584 /*^clear*/
4585 /*clear*/ /*_._IFELSE___V18*/
4586 meltfptr[17] = 0 ;
4590 else /*^cond.else*/
4593 /*^block*/
4594 /*anyblock*/
4597 MELT_LOCATION("warmelt-base.melt:1705:/ cond");
4598 /*cond*/
4599 if (/*ifvariadic arg#1*/ variad_STRING4OUT_ix>=0 && variad_STRING4OUT_ix + 1 <= variad_STRING4OUT_len && meltxargdescr_[variad_STRING4OUT_ix]== MELTBPAR_LONG) /*then*/
4601 /*^cond.then*/
4602 /*^block*/
4603 /*anyblock*/
4606 /*^compute*/
4607 /*_#N__L5*/ meltfnum[3] =
4608 /*variadic argument stuff*/ meltxargtab_[variad_STRING4OUT_ix + 0].meltbp_long;;
4609 /*^compute*/
4611 /*consume variadic LONG !*/
4612 variad_STRING4OUT_ix += 1;;
4615 MELT_LOCATION("warmelt-base.melt:1706:/ locexp");
4616 meltgc_add_out_dec((melt_ptr_t)(/*_.OUT__V14*/ meltfptr[11]), (/*_#N__L5*/ meltfnum[3]));
4619 /*epilog*/
4621 MELT_LOCATION("warmelt-base.melt:1705:/ clear");
4622 /*clear*/ /*_#N__L5*/
4623 meltfnum[3] = 0 ;
4627 else /*^cond.else*/
4630 /*^block*/
4631 /*anyblock*/
4634 MELT_LOCATION("warmelt-base.melt:1707:/ cond");
4635 /*cond*/
4636 if (/*ifvariadic arg#1*/ variad_STRING4OUT_ix>=0 && variad_STRING4OUT_ix + 1 <= variad_STRING4OUT_len && meltxargdescr_[variad_STRING4OUT_ix]== MELTBPAR_CSTRING) /*then*/
4638 /*^cond.then*/
4639 /*^block*/
4640 /*anyblock*/
4643 /*^compute*/
4644 /*_?*/ meltfram__.loc_CSTRING__o6 =
4645 /*variadic argument stuff*/ meltxargtab_[variad_STRING4OUT_ix + 0].meltbp_cstring;;
4646 /*^compute*/
4648 /*consume variadic CSTRING !*/
4649 variad_STRING4OUT_ix += 1;;
4652 MELT_LOCATION("warmelt-base.melt:1708:/ locexp");
4653 meltgc_add_out((melt_ptr_t)(/*_.OUT__V14*/ meltfptr[11]), (/*_?*/ meltfram__.loc_CSTRING__o6));
4656 /*epilog*/
4658 MELT_LOCATION("warmelt-base.melt:1707:/ clear");
4659 /*clear*/ /*_?*/
4660 meltfram__.loc_CSTRING__o6 = 0 ;
4664 else /*^cond.else*/
4667 /*^block*/
4668 /*anyblock*/
4671 MELT_LOCATION("warmelt-base.melt:1710:/ quasiblock");
4674 /*_.VCTY__V37*/
4675 meltfptr[29] =
4676 /*variadic_type_code*/
4677 #ifdef melt_variadic_index
4678 (((melt_variadic_index + 0) >= 0
4679 && (melt_variadic_index + 0) < melt_variadic_length)
4680 ? melt_code_to_ctype (meltxargdescr_[melt_variadic_index + 0]
4681 & MELT_ARGDESCR_MAX)
4682 : NULL)
4683 #else
4684 NULL /* no variadic_ctype outside of variadic functions */
4685 #endif /*melt_variadic_index*/
4687 MELT_LOCATION("warmelt-base.melt:1713:/ cond");
4688 /*cond*/
4689 if (
4690 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.VCTY__V37*/ meltfptr[29]),
4691 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[3])))
4692 ) /*then*/
4694 /*^cond.then*/
4695 /*^getslot*/
4697 melt_ptr_t slot=NULL, obj=NULL;
4698 obj = (melt_ptr_t)(/*_.VCTY__V37*/ meltfptr[29]) /*=obj*/;
4699 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
4700 /*_.NAMED_NAME__V38*/
4701 meltfptr[30] = slot;
4705 else /*^cond.else*/
4708 /*_.NAMED_NAME__V38*/ meltfptr[30] = /*reallynil*/ NULL ;;
4713 MELT_LOCATION("warmelt-base.melt:1712:/ locexp");
4714 error ("MELT ERROR MSG [#%ld]::: %s - %s", melt_dbgcounter, ( "STRING4OUT for unsupported ctype; use a manipulator like OUTPUT_TREE "),
4715 melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V38*/ meltfptr[30])));
4719 #if MELT_HAVE_DEBUG
4720 MELT_LOCATION("warmelt-base.melt:1714:/ cppif.then");
4721 /*^block*/
4722 /*anyblock*/
4726 MELT_CHECK_SIGNAL();
4728 /*^cond*/
4729 /*cond*/
4730 if ((/*nil*/NULL)) /*then*/
4732 /*^cond.then*/
4733 /*_._IFELSE___V40*/ meltfptr[19] = (/*nil*/NULL);;
4735 else
4737 MELT_LOCATION("warmelt-base.melt:1714:/ cond.else");
4739 /*^block*/
4740 /*anyblock*/
4744 MELT_CHECK_SIGNAL();
4746 /*^apply*/
4747 /*apply*/
4749 union meltparam_un argtab[4];
4750 memset(&argtab, 0, sizeof(argtab));
4751 /*^apply.arg*/
4752 argtab[0].meltbp_cstring = "invalid variadic argument to STRING4OUT";
4753 /*^apply.arg*/
4754 argtab[1].meltbp_cstring = "warmelt-base.melt";
4755 /*^apply.arg*/
4756 argtab[2].meltbp_long = 1714;
4757 /*^apply.arg*/
4758 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.VCTY__V37*/ meltfptr[29];
4759 /*_.MELT_ASSERT_FAILURE_FUN__V41*/
4760 meltfptr[31] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[4])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
4763 /*_._IFELSE___V40*/
4764 meltfptr[19] = /*_.MELT_ASSERT_FAILURE_FUN__V41*/ meltfptr[31];;
4765 /*epilog*/
4767 MELT_LOCATION("warmelt-base.melt:1714:/ clear");
4768 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V41*/
4769 meltfptr[31] = 0 ;
4774 /*_.IFCPP___V39*/
4775 meltfptr[32] = /*_._IFELSE___V40*/ meltfptr[19];;
4776 /*epilog*/
4778 MELT_LOCATION("warmelt-base.melt:1714:/ clear");
4779 /*clear*/ /*_._IFELSE___V40*/
4780 meltfptr[19] = 0 ;
4783 #else /*MELT_HAVE_DEBUG*/
4784 /*^cppif.else*/
4785 /*_.IFCPP___V39*/ meltfptr[32] = (/*nil*/NULL);
4786 #endif /*MELT_HAVE_DEBUG*/
4788 /*^compute*/
4789 /*_.LET___V36*/
4790 meltfptr[18] = /*_.IFCPP___V39*/ meltfptr[32];;
4792 MELT_LOCATION("warmelt-base.melt:1710:/ clear");
4793 /*clear*/ /*_.VCTY__V37*/
4794 meltfptr[29] = 0 ;
4795 /*^clear*/
4796 /*clear*/ /*_.NAMED_NAME__V38*/
4797 meltfptr[30] = 0 ;
4798 /*^clear*/
4799 /*clear*/ /*_.IFCPP___V39*/
4800 meltfptr[32] = 0 ;
4801 /*epilog*/
4803 MELT_LOCATION("warmelt-base.melt:1707:/ clear");
4804 /*clear*/ /*_.LET___V36*/
4805 meltfptr[18] = 0 ;
4810 /*epilog*/
4815 /*epilog*/
4820 /*epilog*/
4825 /*epilog*/
4829 goto meltlabloop_ARGLOOP_4;
4830 meltlabexit_ARGLOOP_4:
4832 MELT_LOCATION("warmelt-base.melt:1672:/ loopepilog");
4833 /*loopepilog*/
4834 /*_.FOREVER___V15*/
4835 meltfptr[7] = /*_.ARGLOOP__V16*/ meltfptr[15];;
4838 MELT_LOCATION("warmelt-base.melt:1717:/ quasiblock");
4841 /*_.STR__V43*/
4842 meltfptr[17] =
4843 (meltgc_new_stringdup((meltobject_ptr_t)(/*_.DIS__V2*/ meltfptr[1]), melt_strbuf_str((melt_ptr_t)(/*_.OUT__V14*/ meltfptr[11]))));;
4845 MELT_CHECK_SIGNAL();
4847 MELT_LOCATION("warmelt-base.melt:1719:/ quasiblock");
4850 /*_._RETVAL___V1*/
4851 meltfptr[0] = /*_.STR__V43*/ meltfptr[17];;
4854 MELT_LOCATION("warmelt-base.melt:1719:/ locexp");
4855 /*ochecknores compilobj_nrep_return*/
4856 #if MELT_HAVE_DEBUG
4857 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
4858 melt_warn_for_no_expected_secondary_results();
4859 /* we warned when secondary results are expected but not returned. */
4860 #endif /*MELT_HAVE_DEBUG*/
4864 /*^finalreturn*/
4866 /*finalret*/
4867 goto meltlabend_rout ;
4868 /*_.LET___V42*/
4869 meltfptr[16] = /*_.RETURN___V44*/ meltfptr[31];;
4871 MELT_LOCATION("warmelt-base.melt:1717:/ clear");
4872 /*clear*/ /*_.STR__V43*/
4873 meltfptr[17] = 0 ;
4874 /*^clear*/
4875 /*clear*/ /*_.RETURN___V44*/
4876 meltfptr[31] = 0 ;
4877 /*_.LET___V13*/
4878 meltfptr[10] = /*_.LET___V42*/ meltfptr[16];;
4880 MELT_LOCATION("warmelt-base.melt:1670:/ clear");
4881 /*clear*/ /*_.OUT__V14*/
4882 meltfptr[11] = 0 ;
4883 /*^clear*/
4884 /*clear*/ /*_.FOREVER___V15*/
4885 meltfptr[7] = 0 ;
4886 /*^clear*/
4887 /*clear*/ /*_.LET___V42*/
4888 meltfptr[16] = 0 ;
4890 MELT_CHECK_SIGNAL();
4892 MELT_LOCATION("warmelt-base.melt:1658:/ quasiblock");
4895 /*_._RETVAL___V1*/
4896 meltfptr[0] = /*_.LET___V13*/ meltfptr[10];;
4899 MELT_LOCATION("warmelt-base.melt:1658:/ locexp");
4900 /*ochecknores compilobj_nrep_return*/
4901 #if MELT_HAVE_DEBUG
4902 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
4903 melt_warn_for_no_expected_secondary_results();
4904 /* we warned when secondary results are expected but not returned. */
4905 #endif /*MELT_HAVE_DEBUG*/
4909 /*^finalreturn*/
4911 /*finalret*/
4912 goto meltlabend_rout ;
4913 /*epilog*/
4915 /*^clear*/
4916 /*clear*/ /*_._IFELSE___V3*/
4917 meltfptr[2] = 0 ;
4918 /*^clear*/
4919 /*clear*/ /*_#IS_A__L1*/
4920 meltfnum[0] = 0 ;
4921 /*^clear*/
4922 /*clear*/ /*_._IFELSE___V6*/
4923 meltfptr[3] = 0 ;
4924 /*^clear*/
4925 /*clear*/ /*_.LET___V9*/
4926 meltfptr[4] = 0 ;
4927 /*^clear*/
4928 /*clear*/ /*_.LET___V13*/
4929 meltfptr[10] = 0 ;
4933 goto meltlabend_rout;
4934 meltlabend_rout:
4935 melt_trace_end("STRING4OUT", meltcallcount);
4936 melt_blocklevel_signals = current_blocklevel_signals_meltrout_13_WARMELTmiBASE_STRING4OUT_melt;
4937 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
4938 #undef melt_variadic_length
4939 #undef melt_variadic_index
4941 #undef meltcallcount
4942 #undef meltfram__
4943 #undef MELTFRAM_NBVARNUM
4944 #undef MELTFRAM_NBVARPTR
4945 } /*end meltrout_13_WARMELTmiBASE_STRING4OUT*/
4952 melt_ptr_t MELT_MODULE_VISIBILITY
4953 meltrout_14_WARMELTmiBASE_ADD2OUT4NULL(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
4954 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
4956 long current_blocklevel_signals_meltrout_14_WARMELTmiBASE_ADD2OUT4NULL_melt = melt_blocklevel_signals;
4958 #if MELT_HAVE_DEBUG
4959 static long melt_call_counter__;
4960 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
4961 #undef meltcallcount
4962 #define meltcallcount melt_thiscallcounter__
4963 #else
4964 #undef meltcallcount
4965 #define meltcallcount 0L
4966 #endif
4967 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
4969 /* start of frame for routine meltrout_14_WARMELTmiBASE_ADD2OUT4NULL fromline 1752 */
4971 /** start of frame for meltrout_14_WARMELTmiBASE_ADD2OUT4NULL of CLASS_PROCROUTINEOBJ from 1555**/
4973 /*curframdeclclassy*/ class MeltFrame_meltrout_14_WARMELTmiBASE_ADD2OUT4NULL// fromline 1568
4974 : public Melt_CallFrameWithValues<6>
4976 public: /* fromline 1572*/
4977 long mcfr_varnum[1];
4978 /*classy others*/
4979 long _meltsparel;
4980 void melt_mark_stuff (void)
4982 } /*end melt_mark_stuff*/
4983 virtual void melt_mark_ggc_data (void)
4985 melt_mark_values ();
4986 melt_mark_stuff ();
4987 }; /*end melt_mark_ggc_data*/
4988 MeltFrame_meltrout_14_WARMELTmiBASE_ADD2OUT4NULL(meltclosure_ptr_t clos) //the closure constructor fromline 1630
4989 : Melt_CallFrameWithValues<6> (
4990 #if ENABLE_CHECKING /*fromline 1634*/
4991 __FILE__, __LINE__,
4992 #endif /* ENABLE_CHECKING fromline 1638*/
4993 sizeof(MeltFrame_meltrout_14_WARMELTmiBASE_ADD2OUT4NULL), clos) {};
4994 MeltFrame_meltrout_14_WARMELTmiBASE_ADD2OUT4NULL() //the constructor fromline 1642
4995 : Melt_CallFrameWithValues<6> (
4996 #if ENABLE_CHECKING /*fromline 1646*/
4997 __FILE__, __LINE__,
4998 #endif /* ENABLE_CHECKING fromline 1650*/
4999 sizeof(MeltFrame_meltrout_14_WARMELTmiBASE_ADD2OUT4NULL)) {};
5000 #if ENABLE_CHECKING /*fromline 1654*/
5001 MeltFrame_meltrout_14_WARMELTmiBASE_ADD2OUT4NULL(const char*fil, int lin) //the constructor fromline 1656
5002 : Melt_CallFrameWithValues<6> (fil,lin, sizeof(MeltFrame_meltrout_14_WARMELTmiBASE_ADD2OUT4NULL)) {};
5003 MeltFrame_meltrout_14_WARMELTmiBASE_ADD2OUT4NULL(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
5004 : Melt_CallFrameWithValues<6> (fil,lin, sizeof(MeltFrame_meltrout_14_WARMELTmiBASE_ADD2OUT4NULL), clos) {};
5005 #endif /* ENABLE_CHECKING fromline 1666*/
5007 }; // end class MeltFrame_meltrout_14_WARMELTmiBASE_ADD2OUT4NULL
5010 /** end of frame for meltrout_14_WARMELTmiBASE_ADD2OUT4NULL fromline 1697**/
5012 /* end of frame for routine meltrout_14_WARMELTmiBASE_ADD2OUT4NULL fromline 1756 */
5014 /* classy proc frame meltrout_14_WARMELTmiBASE_ADD2OUT4NULL */
5015 MeltFrame_meltrout_14_WARMELTmiBASE_ADD2OUT4NULL
5016 meltfram__ /*declfrastruct fromline 1780*/
5017 /*classyprocarg meltrout_14_WARMELTmiBASE_ADD2OUT4NULL fromline 1785*/
5018 #if ENABLE_CHECKING
5019 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
5020 #else /*ENABLE_CHECKING */
5021 (meltclosp_) /* fromline 1793*/
5022 #endif /*ENABLE_CHECKING */
5025 #define meltframe meltfram__
5027 melt_trace_start("ADD2OUT4NULL", meltcallcount);
5028 /*use arguments*/
5029 (void) meltclosp_;
5030 (void)meltfirstargp_;
5031 (void)meltxargdescr_;
5032 (void)meltxargtab_;
5033 (void)meltxresdescr_;
5034 (void)meltxrestab_;
5035 /*getargs*/
5037 /*getarg#0*/
5038 MELT_LOCATION("warmelt-base.melt:1725:/ getarg");
5039 /*_.V__V2*/
5040 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
5042 /*getarg#1*/
5043 /*^getarg*/
5044 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
5045 /*_.OUT__V3*/
5046 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
5047 gcc_assert(melt_discr((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2])) != NULL);
5050 goto meltlab_endgetargs;
5051 meltlab_endgetargs:
5053 /*body*/
5054 /*^block*/
5055 /*anyblock*/
5059 #if MELT_HAVE_DEBUG
5060 MELT_LOCATION("warmelt-base.melt:1726:/ cppif.then");
5061 /*^block*/
5062 /*anyblock*/
5066 MELT_CHECK_SIGNAL();
5068 /*_#NULL__L1*/
5069 meltfnum[0] =
5070 (/*null*/(/*_.V__V2*/ meltfptr[1]) == NULL);;
5071 MELT_LOCATION("warmelt-base.melt:1726:/ cond");
5072 /*cond*/
5073 if (/*_#NULL__L1*/ meltfnum[0]) /*then*/
5075 /*^cond.then*/
5076 /*_._IFELSE___V5*/ meltfptr[4] = (/*nil*/NULL);;
5078 else
5080 MELT_LOCATION("warmelt-base.melt:1726:/ cond.else");
5082 /*^block*/
5083 /*anyblock*/
5087 MELT_CHECK_SIGNAL();
5089 /*^apply*/
5090 /*apply*/
5092 union meltparam_un argtab[4];
5093 memset(&argtab, 0, sizeof(argtab));
5094 /*^apply.arg*/
5095 argtab[0].meltbp_cstring = "check null v";
5096 /*^apply.arg*/
5097 argtab[1].meltbp_cstring = "warmelt-base.melt";
5098 /*^apply.arg*/
5099 argtab[2].meltbp_long = 1726;
5100 /*^apply.arg*/
5101 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.V__V2*/ meltfptr[1];
5102 /*_.MELT_ASSERT_FAILURE_FUN__V6*/
5103 meltfptr[5] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
5106 /*_._IFELSE___V5*/
5107 meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V6*/ meltfptr[5];;
5108 /*epilog*/
5110 MELT_LOCATION("warmelt-base.melt:1726:/ clear");
5111 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V6*/
5112 meltfptr[5] = 0 ;
5117 /*_.IFCPP___V4*/
5118 meltfptr[3] = /*_._IFELSE___V5*/ meltfptr[4];;
5119 /*epilog*/
5121 MELT_LOCATION("warmelt-base.melt:1726:/ clear");
5122 /*clear*/ /*_#NULL__L1*/
5123 meltfnum[0] = 0 ;
5124 /*^clear*/
5125 /*clear*/ /*_._IFELSE___V5*/
5126 meltfptr[4] = 0 ;
5129 #else /*MELT_HAVE_DEBUG*/
5130 /*^cppif.else*/
5131 /*_.IFCPP___V4*/ meltfptr[3] = (/*nil*/NULL);
5132 #endif /*MELT_HAVE_DEBUG*/
5136 MELT_LOCATION("warmelt-base.melt:1727:/ locexp");
5137 meltgc_add_out((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), ( "*nil*"));
5141 MELT_CHECK_SIGNAL();
5143 /*epilog*/
5145 MELT_LOCATION("warmelt-base.melt:1725:/ clear");
5146 /*clear*/ /*_.IFCPP___V4*/
5147 meltfptr[3] = 0 ;
5151 goto meltlabend_rout;
5152 meltlabend_rout:
5153 melt_trace_end("ADD2OUT4NULL", meltcallcount);
5154 melt_blocklevel_signals = current_blocklevel_signals_meltrout_14_WARMELTmiBASE_ADD2OUT4NULL_melt;
5155 return (melt_ptr_t)(/*noretval*/ NULL);
5156 #undef meltcallcount
5157 #undef meltfram__
5158 #undef MELTFRAM_NBVARNUM
5159 #undef MELTFRAM_NBVARPTR
5160 } /*end meltrout_14_WARMELTmiBASE_ADD2OUT4NULL*/
5167 melt_ptr_t MELT_MODULE_VISIBILITY
5168 meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
5169 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
5171 long current_blocklevel_signals_meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER_melt = melt_blocklevel_signals;
5173 #if MELT_HAVE_DEBUG
5174 static long melt_call_counter__;
5175 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
5176 #undef meltcallcount
5177 #define meltcallcount melt_thiscallcounter__
5178 #else
5179 #undef meltcallcount
5180 #define meltcallcount 0L
5181 #endif
5182 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
5184 /* start of frame for routine meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER fromline 1752 */
5186 /** start of frame for meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER of CLASS_PROCROUTINEOBJ from 1555**/
5188 /*curframdeclclassy*/ class MeltFrame_meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER// fromline 1568
5189 : public Melt_CallFrameWithValues<6>
5191 public: /* fromline 1572*/
5192 long mcfr_varnum[2];
5193 /*classy others*/
5194 long _meltsparel;
5195 void melt_mark_stuff (void)
5197 } /*end melt_mark_stuff*/
5198 virtual void melt_mark_ggc_data (void)
5200 melt_mark_values ();
5201 melt_mark_stuff ();
5202 }; /*end melt_mark_ggc_data*/
5203 MeltFrame_meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER(meltclosure_ptr_t clos) //the closure constructor fromline 1630
5204 : Melt_CallFrameWithValues<6> (
5205 #if ENABLE_CHECKING /*fromline 1634*/
5206 __FILE__, __LINE__,
5207 #endif /* ENABLE_CHECKING fromline 1638*/
5208 sizeof(MeltFrame_meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER), clos) {};
5209 MeltFrame_meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER() //the constructor fromline 1642
5210 : Melt_CallFrameWithValues<6> (
5211 #if ENABLE_CHECKING /*fromline 1646*/
5212 __FILE__, __LINE__,
5213 #endif /* ENABLE_CHECKING fromline 1650*/
5214 sizeof(MeltFrame_meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER)) {};
5215 #if ENABLE_CHECKING /*fromline 1654*/
5216 MeltFrame_meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER(const char*fil, int lin) //the constructor fromline 1656
5217 : Melt_CallFrameWithValues<6> (fil,lin, sizeof(MeltFrame_meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER)) {};
5218 MeltFrame_meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
5219 : Melt_CallFrameWithValues<6> (fil,lin, sizeof(MeltFrame_meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER), clos) {};
5220 #endif /* ENABLE_CHECKING fromline 1666*/
5222 }; // end class MeltFrame_meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER
5225 /** end of frame for meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER fromline 1697**/
5227 /* end of frame for routine meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER fromline 1756 */
5229 /* classy proc frame meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER */
5230 MeltFrame_meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER
5231 meltfram__ /*declfrastruct fromline 1780*/
5232 /*classyprocarg meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER fromline 1785*/
5233 #if ENABLE_CHECKING
5234 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
5235 #else /*ENABLE_CHECKING */
5236 (meltclosp_) /* fromline 1793*/
5237 #endif /*ENABLE_CHECKING */
5240 #define meltframe meltfram__
5242 melt_trace_start("ADD2OUT4INTEGER", meltcallcount);
5243 /*use arguments*/
5244 (void) meltclosp_;
5245 (void)meltfirstargp_;
5246 (void)meltxargdescr_;
5247 (void)meltxargtab_;
5248 (void)meltxresdescr_;
5249 (void)meltxrestab_;
5250 /*getargs*/
5252 /*getarg#0*/
5253 MELT_LOCATION("warmelt-base.melt:1730:/ getarg");
5254 /*_.VN__V2*/
5255 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
5257 /*getarg#1*/
5258 /*^getarg*/
5259 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
5260 /*_.OUT__V3*/
5261 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
5262 gcc_assert(melt_discr((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2])) != NULL);
5265 goto meltlab_endgetargs;
5266 meltlab_endgetargs:
5268 /*body*/
5269 /*^block*/
5270 /*anyblock*/
5274 #if MELT_HAVE_DEBUG
5275 MELT_LOCATION("warmelt-base.melt:1731:/ cppif.then");
5276 /*^block*/
5277 /*anyblock*/
5281 MELT_CHECK_SIGNAL();
5283 /*_#IS_INTEGERBOX__L1*/
5284 meltfnum[0] =
5285 (melt_magic_discr((melt_ptr_t)(/*_.VN__V2*/ meltfptr[1])) == MELTOBMAG_INT);;
5286 MELT_LOCATION("warmelt-base.melt:1731:/ cond");
5287 /*cond*/
5288 if (/*_#IS_INTEGERBOX__L1*/ meltfnum[0]) /*then*/
5290 /*^cond.then*/
5291 /*_._IFELSE___V5*/ meltfptr[4] = (/*nil*/NULL);;
5293 else
5295 MELT_LOCATION("warmelt-base.melt:1731:/ cond.else");
5297 /*^block*/
5298 /*anyblock*/
5302 MELT_CHECK_SIGNAL();
5304 /*^apply*/
5305 /*apply*/
5307 union meltparam_un argtab[4];
5308 memset(&argtab, 0, sizeof(argtab));
5309 /*^apply.arg*/
5310 argtab[0].meltbp_cstring = "check boxed number vn";
5311 /*^apply.arg*/
5312 argtab[1].meltbp_cstring = "warmelt-base.melt";
5313 /*^apply.arg*/
5314 argtab[2].meltbp_long = 1731;
5315 /*^apply.arg*/
5316 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.VN__V2*/ meltfptr[1];
5317 /*_.MELT_ASSERT_FAILURE_FUN__V6*/
5318 meltfptr[5] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
5321 /*_._IFELSE___V5*/
5322 meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V6*/ meltfptr[5];;
5323 /*epilog*/
5325 MELT_LOCATION("warmelt-base.melt:1731:/ clear");
5326 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V6*/
5327 meltfptr[5] = 0 ;
5332 /*_.IFCPP___V4*/
5333 meltfptr[3] = /*_._IFELSE___V5*/ meltfptr[4];;
5334 /*epilog*/
5336 MELT_LOCATION("warmelt-base.melt:1731:/ clear");
5337 /*clear*/ /*_#IS_INTEGERBOX__L1*/
5338 meltfnum[0] = 0 ;
5339 /*^clear*/
5340 /*clear*/ /*_._IFELSE___V5*/
5341 meltfptr[4] = 0 ;
5344 #else /*MELT_HAVE_DEBUG*/
5345 /*^cppif.else*/
5346 /*_.IFCPP___V4*/ meltfptr[3] = (/*nil*/NULL);
5347 #endif /*MELT_HAVE_DEBUG*/
5349 /*^compute*/
5350 /*_#GET_INT__L2*/
5351 meltfnum[0] =
5352 (melt_get_int((melt_ptr_t)(/*_.VN__V2*/ meltfptr[1])));;
5355 MELT_LOCATION("warmelt-base.melt:1732:/ locexp");
5356 meltgc_add_out_dec((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), (/*_#GET_INT__L2*/ meltfnum[0]));
5360 MELT_CHECK_SIGNAL();
5362 /*epilog*/
5364 MELT_LOCATION("warmelt-base.melt:1730:/ clear");
5365 /*clear*/ /*_.IFCPP___V4*/
5366 meltfptr[3] = 0 ;
5367 /*^clear*/
5368 /*clear*/ /*_#GET_INT__L2*/
5369 meltfnum[0] = 0 ;
5373 goto meltlabend_rout;
5374 meltlabend_rout:
5375 melt_trace_end("ADD2OUT4INTEGER", meltcallcount);
5376 melt_blocklevel_signals = current_blocklevel_signals_meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER_melt;
5377 return (melt_ptr_t)(/*noretval*/ NULL);
5378 #undef meltcallcount
5379 #undef meltfram__
5380 #undef MELTFRAM_NBVARNUM
5381 #undef MELTFRAM_NBVARPTR
5382 } /*end meltrout_15_WARMELTmiBASE_ADD2OUT4INTEGER*/
5389 melt_ptr_t MELT_MODULE_VISIBILITY
5390 meltrout_16_WARMELTmiBASE_ADD2OUT4STRING(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
5391 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
5393 long current_blocklevel_signals_meltrout_16_WARMELTmiBASE_ADD2OUT4STRING_melt = melt_blocklevel_signals;
5395 #if MELT_HAVE_DEBUG
5396 static long melt_call_counter__;
5397 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
5398 #undef meltcallcount
5399 #define meltcallcount melt_thiscallcounter__
5400 #else
5401 #undef meltcallcount
5402 #define meltcallcount 0L
5403 #endif
5404 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
5406 /* start of frame for routine meltrout_16_WARMELTmiBASE_ADD2OUT4STRING fromline 1752 */
5408 /** start of frame for meltrout_16_WARMELTmiBASE_ADD2OUT4STRING of CLASS_PROCROUTINEOBJ from 1555**/
5410 /*curframdeclclassy*/ class MeltFrame_meltrout_16_WARMELTmiBASE_ADD2OUT4STRING// fromline 1568
5411 : public Melt_CallFrameWithValues<6>
5413 public: /* fromline 1572*/
5414 long mcfr_varnum[1];
5415 /*classy others*/
5416 long _meltsparel;
5417 void melt_mark_stuff (void)
5419 } /*end melt_mark_stuff*/
5420 virtual void melt_mark_ggc_data (void)
5422 melt_mark_values ();
5423 melt_mark_stuff ();
5424 }; /*end melt_mark_ggc_data*/
5425 MeltFrame_meltrout_16_WARMELTmiBASE_ADD2OUT4STRING(meltclosure_ptr_t clos) //the closure constructor fromline 1630
5426 : Melt_CallFrameWithValues<6> (
5427 #if ENABLE_CHECKING /*fromline 1634*/
5428 __FILE__, __LINE__,
5429 #endif /* ENABLE_CHECKING fromline 1638*/
5430 sizeof(MeltFrame_meltrout_16_WARMELTmiBASE_ADD2OUT4STRING), clos) {};
5431 MeltFrame_meltrout_16_WARMELTmiBASE_ADD2OUT4STRING() //the constructor fromline 1642
5432 : Melt_CallFrameWithValues<6> (
5433 #if ENABLE_CHECKING /*fromline 1646*/
5434 __FILE__, __LINE__,
5435 #endif /* ENABLE_CHECKING fromline 1650*/
5436 sizeof(MeltFrame_meltrout_16_WARMELTmiBASE_ADD2OUT4STRING)) {};
5437 #if ENABLE_CHECKING /*fromline 1654*/
5438 MeltFrame_meltrout_16_WARMELTmiBASE_ADD2OUT4STRING(const char*fil, int lin) //the constructor fromline 1656
5439 : Melt_CallFrameWithValues<6> (fil,lin, sizeof(MeltFrame_meltrout_16_WARMELTmiBASE_ADD2OUT4STRING)) {};
5440 MeltFrame_meltrout_16_WARMELTmiBASE_ADD2OUT4STRING(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
5441 : Melt_CallFrameWithValues<6> (fil,lin, sizeof(MeltFrame_meltrout_16_WARMELTmiBASE_ADD2OUT4STRING), clos) {};
5442 #endif /* ENABLE_CHECKING fromline 1666*/
5444 }; // end class MeltFrame_meltrout_16_WARMELTmiBASE_ADD2OUT4STRING
5447 /** end of frame for meltrout_16_WARMELTmiBASE_ADD2OUT4STRING fromline 1697**/
5449 /* end of frame for routine meltrout_16_WARMELTmiBASE_ADD2OUT4STRING fromline 1756 */
5451 /* classy proc frame meltrout_16_WARMELTmiBASE_ADD2OUT4STRING */
5452 MeltFrame_meltrout_16_WARMELTmiBASE_ADD2OUT4STRING
5453 meltfram__ /*declfrastruct fromline 1780*/
5454 /*classyprocarg meltrout_16_WARMELTmiBASE_ADD2OUT4STRING fromline 1785*/
5455 #if ENABLE_CHECKING
5456 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
5457 #else /*ENABLE_CHECKING */
5458 (meltclosp_) /* fromline 1793*/
5459 #endif /*ENABLE_CHECKING */
5462 #define meltframe meltfram__
5464 melt_trace_start("ADD2OUT4STRING", meltcallcount);
5465 /*use arguments*/
5466 (void) meltclosp_;
5467 (void)meltfirstargp_;
5468 (void)meltxargdescr_;
5469 (void)meltxargtab_;
5470 (void)meltxresdescr_;
5471 (void)meltxrestab_;
5472 /*getargs*/
5474 /*getarg#0*/
5475 MELT_LOCATION("warmelt-base.melt:1735:/ getarg");
5476 /*_.VS__V2*/
5477 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
5479 /*getarg#1*/
5480 /*^getarg*/
5481 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
5482 /*_.OUT__V3*/
5483 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
5484 gcc_assert(melt_discr((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2])) != NULL);
5487 goto meltlab_endgetargs;
5488 meltlab_endgetargs:
5490 /*body*/
5491 /*^block*/
5492 /*anyblock*/
5496 #if MELT_HAVE_DEBUG
5497 MELT_LOCATION("warmelt-base.melt:1736:/ cppif.then");
5498 /*^block*/
5499 /*anyblock*/
5503 MELT_CHECK_SIGNAL();
5505 /*_#IS_STRING__L1*/
5506 meltfnum[0] =
5507 (melt_magic_discr((melt_ptr_t)(/*_.VS__V2*/ meltfptr[1])) == MELTOBMAG_STRING);;
5508 MELT_LOCATION("warmelt-base.melt:1736:/ cond");
5509 /*cond*/
5510 if (/*_#IS_STRING__L1*/ meltfnum[0]) /*then*/
5512 /*^cond.then*/
5513 /*_._IFELSE___V5*/ meltfptr[4] = (/*nil*/NULL);;
5515 else
5517 MELT_LOCATION("warmelt-base.melt:1736:/ cond.else");
5519 /*^block*/
5520 /*anyblock*/
5524 MELT_CHECK_SIGNAL();
5526 /*^apply*/
5527 /*apply*/
5529 union meltparam_un argtab[4];
5530 memset(&argtab, 0, sizeof(argtab));
5531 /*^apply.arg*/
5532 argtab[0].meltbp_cstring = "check boxed string vs";
5533 /*^apply.arg*/
5534 argtab[1].meltbp_cstring = "warmelt-base.melt";
5535 /*^apply.arg*/
5536 argtab[2].meltbp_long = 1736;
5537 /*^apply.arg*/
5538 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.VS__V2*/ meltfptr[1];
5539 /*_.MELT_ASSERT_FAILURE_FUN__V6*/
5540 meltfptr[5] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
5543 /*_._IFELSE___V5*/
5544 meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V6*/ meltfptr[5];;
5545 /*epilog*/
5547 MELT_LOCATION("warmelt-base.melt:1736:/ clear");
5548 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V6*/
5549 meltfptr[5] = 0 ;
5554 /*_.IFCPP___V4*/
5555 meltfptr[3] = /*_._IFELSE___V5*/ meltfptr[4];;
5556 /*epilog*/
5558 MELT_LOCATION("warmelt-base.melt:1736:/ clear");
5559 /*clear*/ /*_#IS_STRING__L1*/
5560 meltfnum[0] = 0 ;
5561 /*^clear*/
5562 /*clear*/ /*_._IFELSE___V5*/
5563 meltfptr[4] = 0 ;
5566 #else /*MELT_HAVE_DEBUG*/
5567 /*^cppif.else*/
5568 /*_.IFCPP___V4*/ meltfptr[3] = (/*nil*/NULL);
5569 #endif /*MELT_HAVE_DEBUG*/
5573 MELT_LOCATION("warmelt-base.melt:1737:/ locexp");
5574 meltgc_add_out((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.VS__V2*/ meltfptr[1])));
5578 MELT_CHECK_SIGNAL();
5580 /*epilog*/
5582 MELT_LOCATION("warmelt-base.melt:1735:/ clear");
5583 /*clear*/ /*_.IFCPP___V4*/
5584 meltfptr[3] = 0 ;
5588 goto meltlabend_rout;
5589 meltlabend_rout:
5590 melt_trace_end("ADD2OUT4STRING", meltcallcount);
5591 melt_blocklevel_signals = current_blocklevel_signals_meltrout_16_WARMELTmiBASE_ADD2OUT4STRING_melt;
5592 return (melt_ptr_t)(/*noretval*/ NULL);
5593 #undef meltcallcount
5594 #undef meltfram__
5595 #undef MELTFRAM_NBVARNUM
5596 #undef MELTFRAM_NBVARPTR
5597 } /*end meltrout_16_WARMELTmiBASE_ADD2OUT4STRING*/
5604 melt_ptr_t MELT_MODULE_VISIBILITY
5605 meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
5606 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
5608 long current_blocklevel_signals_meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF_melt = melt_blocklevel_signals;
5610 #if MELT_HAVE_DEBUG
5611 static long melt_call_counter__;
5612 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
5613 #undef meltcallcount
5614 #define meltcallcount melt_thiscallcounter__
5615 #else
5616 #undef meltcallcount
5617 #define meltcallcount 0L
5618 #endif
5619 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
5621 /* start of frame for routine meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF fromline 1752 */
5623 /** start of frame for meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF of CLASS_PROCROUTINEOBJ from 1555**/
5625 /*curframdeclclassy*/ class MeltFrame_meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF// fromline 1568
5626 : public Melt_CallFrameWithValues<6>
5628 public: /* fromline 1572*/
5629 long mcfr_varnum[1];
5630 /*classy others*/
5631 long _meltsparel;
5632 void melt_mark_stuff (void)
5634 } /*end melt_mark_stuff*/
5635 virtual void melt_mark_ggc_data (void)
5637 melt_mark_values ();
5638 melt_mark_stuff ();
5639 }; /*end melt_mark_ggc_data*/
5640 MeltFrame_meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF(meltclosure_ptr_t clos) //the closure constructor fromline 1630
5641 : Melt_CallFrameWithValues<6> (
5642 #if ENABLE_CHECKING /*fromline 1634*/
5643 __FILE__, __LINE__,
5644 #endif /* ENABLE_CHECKING fromline 1638*/
5645 sizeof(MeltFrame_meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF), clos) {};
5646 MeltFrame_meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF() //the constructor fromline 1642
5647 : Melt_CallFrameWithValues<6> (
5648 #if ENABLE_CHECKING /*fromline 1646*/
5649 __FILE__, __LINE__,
5650 #endif /* ENABLE_CHECKING fromline 1650*/
5651 sizeof(MeltFrame_meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF)) {};
5652 #if ENABLE_CHECKING /*fromline 1654*/
5653 MeltFrame_meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF(const char*fil, int lin) //the constructor fromline 1656
5654 : Melt_CallFrameWithValues<6> (fil,lin, sizeof(MeltFrame_meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF)) {};
5655 MeltFrame_meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
5656 : Melt_CallFrameWithValues<6> (fil,lin, sizeof(MeltFrame_meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF), clos) {};
5657 #endif /* ENABLE_CHECKING fromline 1666*/
5659 }; // end class MeltFrame_meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF
5662 /** end of frame for meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF fromline 1697**/
5664 /* end of frame for routine meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF fromline 1756 */
5666 /* classy proc frame meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF */
5667 MeltFrame_meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF
5668 meltfram__ /*declfrastruct fromline 1780*/
5669 /*classyprocarg meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF fromline 1785*/
5670 #if ENABLE_CHECKING
5671 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
5672 #else /*ENABLE_CHECKING */
5673 (meltclosp_) /* fromline 1793*/
5674 #endif /*ENABLE_CHECKING */
5677 #define meltframe meltfram__
5679 melt_trace_start("ADD2OUT4STRBUF", meltcallcount);
5680 /*use arguments*/
5681 (void) meltclosp_;
5682 (void)meltfirstargp_;
5683 (void)meltxargdescr_;
5684 (void)meltxargtab_;
5685 (void)meltxresdescr_;
5686 (void)meltxrestab_;
5687 /*getargs*/
5689 /*getarg#0*/
5690 MELT_LOCATION("warmelt-base.melt:1740:/ getarg");
5691 /*_.VSBUF__V2*/
5692 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
5694 /*getarg#1*/
5695 /*^getarg*/
5696 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
5697 /*_.OUT__V3*/
5698 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
5699 gcc_assert(melt_discr((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2])) != NULL);
5702 goto meltlab_endgetargs;
5703 meltlab_endgetargs:
5705 /*body*/
5706 /*^block*/
5707 /*anyblock*/
5711 #if MELT_HAVE_DEBUG
5712 MELT_LOCATION("warmelt-base.melt:1741:/ cppif.then");
5713 /*^block*/
5714 /*anyblock*/
5718 MELT_CHECK_SIGNAL();
5720 /*_#IS_STRBUF__L1*/
5721 meltfnum[0] =
5722 (melt_magic_discr((melt_ptr_t)(/*_.VSBUF__V2*/ meltfptr[1])) == MELTOBMAG_STRBUF);;
5723 MELT_LOCATION("warmelt-base.melt:1741:/ cond");
5724 /*cond*/
5725 if (/*_#IS_STRBUF__L1*/ meltfnum[0]) /*then*/
5727 /*^cond.then*/
5728 /*_._IFELSE___V5*/ meltfptr[4] = (/*nil*/NULL);;
5730 else
5732 MELT_LOCATION("warmelt-base.melt:1741:/ cond.else");
5734 /*^block*/
5735 /*anyblock*/
5739 MELT_CHECK_SIGNAL();
5741 /*^apply*/
5742 /*apply*/
5744 union meltparam_un argtab[4];
5745 memset(&argtab, 0, sizeof(argtab));
5746 /*^apply.arg*/
5747 argtab[0].meltbp_cstring = "check strbuf vsbuf";
5748 /*^apply.arg*/
5749 argtab[1].meltbp_cstring = "warmelt-base.melt";
5750 /*^apply.arg*/
5751 argtab[2].meltbp_long = 1741;
5752 /*^apply.arg*/
5753 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.VSBUF__V2*/ meltfptr[1];
5754 /*_.MELT_ASSERT_FAILURE_FUN__V6*/
5755 meltfptr[5] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[0])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
5758 /*_._IFELSE___V5*/
5759 meltfptr[4] = /*_.MELT_ASSERT_FAILURE_FUN__V6*/ meltfptr[5];;
5760 /*epilog*/
5762 MELT_LOCATION("warmelt-base.melt:1741:/ clear");
5763 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V6*/
5764 meltfptr[5] = 0 ;
5769 /*_.IFCPP___V4*/
5770 meltfptr[3] = /*_._IFELSE___V5*/ meltfptr[4];;
5771 /*epilog*/
5773 MELT_LOCATION("warmelt-base.melt:1741:/ clear");
5774 /*clear*/ /*_#IS_STRBUF__L1*/
5775 meltfnum[0] = 0 ;
5776 /*^clear*/
5777 /*clear*/ /*_._IFELSE___V5*/
5778 meltfptr[4] = 0 ;
5781 #else /*MELT_HAVE_DEBUG*/
5782 /*^cppif.else*/
5783 /*_.IFCPP___V4*/ meltfptr[3] = (/*nil*/NULL);
5784 #endif /*MELT_HAVE_DEBUG*/
5788 MELT_LOCATION("warmelt-base.melt:1742:/ locexp");
5789 meltgc_add_out ((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), melt_strbuf_str ((melt_ptr_t) /*_.VSBUF__V2*/ meltfptr[1]));
5793 MELT_CHECK_SIGNAL();
5795 /*epilog*/
5797 MELT_LOCATION("warmelt-base.melt:1740:/ clear");
5798 /*clear*/ /*_.IFCPP___V4*/
5799 meltfptr[3] = 0 ;
5803 goto meltlabend_rout;
5804 meltlabend_rout:
5805 melt_trace_end("ADD2OUT4STRBUF", meltcallcount);
5806 melt_blocklevel_signals = current_blocklevel_signals_meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF_melt;
5807 return (melt_ptr_t)(/*noretval*/ NULL);
5808 #undef meltcallcount
5809 #undef meltfram__
5810 #undef MELTFRAM_NBVARNUM
5811 #undef MELTFRAM_NBVARPTR
5812 } /*end meltrout_17_WARMELTmiBASE_ADD2OUT4STRBUF*/
5819 melt_ptr_t MELT_MODULE_VISIBILITY
5820 meltrout_18_WARMELTmiBASE_OUTPUT_JSON(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
5821 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
5823 long current_blocklevel_signals_meltrout_18_WARMELTmiBASE_OUTPUT_JSON_melt = melt_blocklevel_signals;
5825 #if MELT_HAVE_DEBUG
5826 static long melt_call_counter__;
5827 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
5828 #undef meltcallcount
5829 #define meltcallcount melt_thiscallcounter__
5830 #else
5831 #undef meltcallcount
5832 #define meltcallcount 0L
5833 #endif
5834 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
5836 /* start of frame for routine meltrout_18_WARMELTmiBASE_OUTPUT_JSON fromline 1752 */
5838 /** start of frame for meltrout_18_WARMELTmiBASE_OUTPUT_JSON of CLASS_PROCROUTINEOBJ from 1555**/
5840 /*curframdeclclassy*/ class MeltFrame_meltrout_18_WARMELTmiBASE_OUTPUT_JSON// fromline 1568
5841 : public Melt_CallFrameWithValues<26>
5843 public: /* fromline 1572*/
5844 long mcfr_varnum[9];
5845 /*classy others*/
5846 long _meltsparel;
5847 void melt_mark_stuff (void)
5849 } /*end melt_mark_stuff*/
5850 virtual void melt_mark_ggc_data (void)
5852 melt_mark_values ();
5853 melt_mark_stuff ();
5854 }; /*end melt_mark_ggc_data*/
5855 MeltFrame_meltrout_18_WARMELTmiBASE_OUTPUT_JSON(meltclosure_ptr_t clos) //the closure constructor fromline 1630
5856 : Melt_CallFrameWithValues<26> (
5857 #if ENABLE_CHECKING /*fromline 1634*/
5858 __FILE__, __LINE__,
5859 #endif /* ENABLE_CHECKING fromline 1638*/
5860 sizeof(MeltFrame_meltrout_18_WARMELTmiBASE_OUTPUT_JSON), clos) {};
5861 MeltFrame_meltrout_18_WARMELTmiBASE_OUTPUT_JSON() //the constructor fromline 1642
5862 : Melt_CallFrameWithValues<26> (
5863 #if ENABLE_CHECKING /*fromline 1646*/
5864 __FILE__, __LINE__,
5865 #endif /* ENABLE_CHECKING fromline 1650*/
5866 sizeof(MeltFrame_meltrout_18_WARMELTmiBASE_OUTPUT_JSON)) {};
5867 #if ENABLE_CHECKING /*fromline 1654*/
5868 MeltFrame_meltrout_18_WARMELTmiBASE_OUTPUT_JSON(const char*fil, int lin) //the constructor fromline 1656
5869 : Melt_CallFrameWithValues<26> (fil,lin, sizeof(MeltFrame_meltrout_18_WARMELTmiBASE_OUTPUT_JSON)) {};
5870 MeltFrame_meltrout_18_WARMELTmiBASE_OUTPUT_JSON(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
5871 : Melt_CallFrameWithValues<26> (fil,lin, sizeof(MeltFrame_meltrout_18_WARMELTmiBASE_OUTPUT_JSON), clos) {};
5872 #endif /* ENABLE_CHECKING fromline 1666*/
5874 }; // end class MeltFrame_meltrout_18_WARMELTmiBASE_OUTPUT_JSON
5877 /** end of frame for meltrout_18_WARMELTmiBASE_OUTPUT_JSON fromline 1697**/
5879 /* end of frame for routine meltrout_18_WARMELTmiBASE_OUTPUT_JSON fromline 1756 */
5881 /* classy proc frame meltrout_18_WARMELTmiBASE_OUTPUT_JSON */
5882 MeltFrame_meltrout_18_WARMELTmiBASE_OUTPUT_JSON
5883 meltfram__ /*declfrastruct fromline 1780*/
5884 /*classyprocarg meltrout_18_WARMELTmiBASE_OUTPUT_JSON fromline 1785*/
5885 #if ENABLE_CHECKING
5886 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
5887 #else /*ENABLE_CHECKING */
5888 (meltclosp_) /* fromline 1793*/
5889 #endif /*ENABLE_CHECKING */
5892 #define meltframe meltfram__
5894 melt_trace_start("OUTPUT_JSON", meltcallcount);
5895 /*use arguments*/
5896 (void) meltclosp_;
5897 (void)meltfirstargp_;
5898 (void)meltxargdescr_;
5899 (void)meltxargtab_;
5900 (void)meltxresdescr_;
5901 (void)meltxrestab_;
5902 /*getargs*/
5904 /*getarg#0*/
5905 MELT_LOCATION("warmelt-base.melt:1753:/ getarg");
5906 /*_.OUT__V2*/
5907 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
5909 /*getarg#1*/
5910 /*^getarg*/
5911 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
5912 /*_.V__V3*/
5913 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
5914 gcc_assert(melt_discr((melt_ptr_t)(/*_.V__V3*/ meltfptr[2])) != NULL);
5917 goto meltlab_endgetargs;
5918 meltlab_endgetargs:
5920 /*body*/
5921 /*^block*/
5922 /*anyblock*/
5926 MELT_CHECK_SIGNAL();
5928 /*_#IS_INTEGERBOX__L1*/
5929 meltfnum[0] =
5930 (melt_magic_discr((melt_ptr_t)(/*_.V__V3*/ meltfptr[2])) == MELTOBMAG_INT);;
5931 MELT_LOCATION("warmelt-base.melt:1755:/ cond");
5932 /*cond*/
5933 if (/*_#IS_INTEGERBOX__L1*/ meltfnum[0]) /*then*/
5935 /*^cond.then*/
5936 /*^block*/
5937 /*anyblock*/
5940 /*_#GET_INT__L2*/ meltfnum[1] =
5941 (melt_get_int((melt_ptr_t)(/*_.V__V3*/ meltfptr[2])));;
5943 MELT_CHECK_SIGNAL();
5945 MELT_LOCATION("warmelt-base.melt:1756:/ apply");
5946 /*apply*/
5948 union meltparam_un argtab[1];
5949 memset(&argtab, 0, sizeof(argtab));
5950 /*^apply.arg*/
5951 argtab[0].meltbp_long = /*_#GET_INT__L2*/ meltfnum[1];
5952 /*_.ADD2OUT__V5*/
5953 meltfptr[4] = melt_apply ((meltclosure_ptr_t)((/*!ADD2OUT*/ meltfrout->tabval[0])), (melt_ptr_t)(/*_.OUT__V2*/ meltfptr[1]), (MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un*)0);
5956 /*_._IFELSE___V4*/
5957 meltfptr[3] = /*_.ADD2OUT__V5*/ meltfptr[4];;
5958 /*epilog*/
5960 MELT_LOCATION("warmelt-base.melt:1755:/ clear");
5961 /*clear*/ /*_#GET_INT__L2*/
5962 meltfnum[1] = 0 ;
5963 /*^clear*/
5964 /*clear*/ /*_.ADD2OUT__V5*/
5965 meltfptr[4] = 0 ;
5969 else /*^cond.else*/
5972 /*^block*/
5973 /*anyblock*/
5977 MELT_CHECK_SIGNAL();
5979 /*_#eqeq__L3*/
5980 meltfnum[1] =
5981 ((/*_.V__V3*/ meltfptr[2]) == ((/*!konst_1_TRUE*/ meltfrout->tabval[1])));;
5982 MELT_LOCATION("warmelt-base.melt:1757:/ cond");
5983 /*cond*/
5984 if (/*_#eqeq__L3*/ meltfnum[1]) /*then*/
5986 /*^cond.then*/
5987 /*^block*/
5988 /*anyblock*/
5992 MELT_CHECK_SIGNAL();
5994 MELT_LOCATION("warmelt-base.melt:1758:/ apply");
5995 /*apply*/
5997 union meltparam_un argtab[1];
5998 memset(&argtab, 0, sizeof(argtab));
5999 /*^apply.arg*/
6000 argtab[0].meltbp_cstring = "true";
6001 /*_.ADD2OUT__V7*/
6002 meltfptr[6] = melt_apply ((meltclosure_ptr_t)((/*!ADD2OUT*/ meltfrout->tabval[0])), (melt_ptr_t)(/*_.OUT__V2*/ meltfptr[1]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
6005 /*_._IFELSE___V6*/
6006 meltfptr[4] = /*_.ADD2OUT__V7*/ meltfptr[6];;
6007 /*epilog*/
6009 MELT_LOCATION("warmelt-base.melt:1757:/ clear");
6010 /*clear*/ /*_.ADD2OUT__V7*/
6011 meltfptr[6] = 0 ;
6015 else /*^cond.else*/
6018 /*^block*/
6019 /*anyblock*/
6023 MELT_CHECK_SIGNAL();
6025 /*_#eqeq__L4*/
6026 meltfnum[3] =
6027 ((/*_.V__V3*/ meltfptr[2]) == ((/*!konst_2_JSON_FALSE*/ meltfrout->tabval[2])));;
6028 MELT_LOCATION("warmelt-base.melt:1760:/ cond");
6029 /*cond*/
6030 if (/*_#eqeq__L4*/ meltfnum[3]) /*then*/
6032 /*^cond.then*/
6033 /*^block*/
6034 /*anyblock*/
6038 MELT_CHECK_SIGNAL();
6040 MELT_LOCATION("warmelt-base.melt:1761:/ apply");
6041 /*apply*/
6043 union meltparam_un argtab[1];
6044 memset(&argtab, 0, sizeof(argtab));
6045 /*^apply.arg*/
6046 argtab[0].meltbp_cstring = "false";
6047 /*_.ADD2OUT__V9*/
6048 meltfptr[8] = melt_apply ((meltclosure_ptr_t)((/*!ADD2OUT*/ meltfrout->tabval[0])), (melt_ptr_t)(/*_.OUT__V2*/ meltfptr[1]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
6051 /*_._IFELSE___V8*/
6052 meltfptr[6] = /*_.ADD2OUT__V9*/ meltfptr[8];;
6053 /*epilog*/
6055 MELT_LOCATION("warmelt-base.melt:1760:/ clear");
6056 /*clear*/ /*_.ADD2OUT__V9*/
6057 meltfptr[8] = 0 ;
6061 else /*^cond.else*/
6064 /*^block*/
6065 /*anyblock*/
6069 MELT_CHECK_SIGNAL();
6071 /*_#NULL__L5*/
6072 meltfnum[4] =
6073 (/*null*/(/*_.V__V3*/ meltfptr[2]) == NULL);;
6074 MELT_LOCATION("warmelt-base.melt:1763:/ cond");
6075 /*cond*/
6076 if (/*_#NULL__L5*/ meltfnum[4]) /*then*/
6078 /*^cond.then*/
6079 /*^block*/
6080 /*anyblock*/
6084 MELT_CHECK_SIGNAL();
6086 MELT_LOCATION("warmelt-base.melt:1764:/ apply");
6087 /*apply*/
6089 union meltparam_un argtab[1];
6090 memset(&argtab, 0, sizeof(argtab));
6091 /*^apply.arg*/
6092 argtab[0].meltbp_cstring = "null";
6093 /*_.ADD2OUT__V11*/
6094 meltfptr[10] = melt_apply ((meltclosure_ptr_t)((/*!ADD2OUT*/ meltfrout->tabval[0])), (melt_ptr_t)(/*_.OUT__V2*/ meltfptr[1]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
6097 /*_._IFELSE___V10*/
6098 meltfptr[8] = /*_.ADD2OUT__V11*/ meltfptr[10];;
6099 /*epilog*/
6101 MELT_LOCATION("warmelt-base.melt:1763:/ clear");
6102 /*clear*/ /*_.ADD2OUT__V11*/
6103 meltfptr[10] = 0 ;
6107 else /*^cond.else*/
6110 /*^block*/
6111 /*anyblock*/
6115 MELT_CHECK_SIGNAL();
6117 /*_#IS_MULTIPLE__L6*/
6118 meltfnum[5] =
6119 (melt_magic_discr((melt_ptr_t)(/*_.V__V3*/ meltfptr[2])) == MELTOBMAG_MULTIPLE);;
6120 MELT_LOCATION("warmelt-base.melt:1766:/ cond");
6121 /*cond*/
6122 if (/*_#IS_MULTIPLE__L6*/ meltfnum[5]) /*then*/
6124 /*^cond.then*/
6125 /*^block*/
6126 /*anyblock*/
6130 MELT_CHECK_SIGNAL();
6132 MELT_LOCATION("warmelt-base.melt:1767:/ apply");
6133 /*apply*/
6135 union meltparam_un argtab[1];
6136 memset(&argtab, 0, sizeof(argtab));
6137 /*^apply.arg*/
6138 argtab[0].meltbp_cstring = "[";
6139 /*_.ADD2OUT__V13*/
6140 meltfptr[12] = melt_apply ((meltclosure_ptr_t)((/*!ADD2OUT*/ meltfrout->tabval[0])), (melt_ptr_t)(/*_.OUT__V2*/ meltfptr[1]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
6143 /*citerblock FOREACH_IN_MULTIPLE*/
6145 /* start foreach_in_multiple meltcit1__EACHTUP */
6146 long meltcit1__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.V__V3*/ meltfptr[2]);
6147 for (/*_#IX__L7*/ meltfnum[6] = 0;
6148 (/*_#IX__L7*/ meltfnum[6] >= 0) && (/*_#IX__L7*/ meltfnum[6] < meltcit1__EACHTUP_ln);
6149 /*_#IX__L7*/ meltfnum[6]++)
6151 /*_.CURCOMP__V14*/ meltfptr[13] = melt_multiple_nth((melt_ptr_t)(/*_.V__V3*/ meltfptr[2]), /*_#IX__L7*/ meltfnum[6]);
6156 MELT_CHECK_SIGNAL();
6158 MELT_LOCATION("warmelt-base.melt:1771:/ cond");
6159 /*cond*/
6160 if (/*_#IX__L7*/ meltfnum[6]) /*then*/
6162 /*^cond.then*/
6163 /*^block*/
6164 /*anyblock*/
6168 MELT_CHECK_SIGNAL();
6170 /*^apply*/
6171 /*apply*/
6173 union meltparam_un argtab[1];
6174 memset(&argtab, 0, sizeof(argtab));
6175 /*^apply.arg*/
6176 argtab[0].meltbp_cstring = ",";
6177 /*_.ADD2OUT__V16*/
6178 meltfptr[15] = melt_apply ((meltclosure_ptr_t)((/*!ADD2OUT*/ meltfrout->tabval[0])), (melt_ptr_t)(/*_.OUT__V2*/ meltfptr[1]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
6181 /*_._IF___V15*/
6182 meltfptr[14] = /*_.ADD2OUT__V16*/ meltfptr[15];;
6183 /*epilog*/
6185 MELT_LOCATION("warmelt-base.melt:1771:/ clear");
6186 /*clear*/ /*_.ADD2OUT__V16*/
6187 meltfptr[15] = 0 ;
6191 else /*^cond.else*/
6194 /*_._IF___V15*/ meltfptr[14] = /*reallynil*/ NULL ;;
6198 MELT_CHECK_SIGNAL();
6200 MELT_LOCATION("warmelt-base.melt:1772:/ apply");
6201 /*apply*/
6203 union meltparam_un argtab[1];
6204 memset(&argtab, 0, sizeof(argtab));
6205 /*^apply.arg*/
6206 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.CURCOMP__V14*/ meltfptr[13];
6207 /*_.OUTPUT_JSON__V17*/
6208 meltfptr[15] = melt_apply ((meltclosure_ptr_t)((/*!OUTPUT_JSON*/ meltfrout->tabval[3])), (melt_ptr_t)(/*_.OUT__V2*/ meltfptr[1]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
6211 if (/*_#IX__L7*/ meltfnum[6]<0) break;
6212 } /* end foreach_in_multiple meltcit1__EACHTUP */
6214 /*citerepilog*/
6216 MELT_LOCATION("warmelt-base.melt:1768:/ clear");
6217 /*clear*/ /*_.CURCOMP__V14*/
6218 meltfptr[13] = 0 ;
6219 /*^clear*/
6220 /*clear*/ /*_#IX__L7*/
6221 meltfnum[6] = 0 ;
6222 /*^clear*/
6223 /*clear*/ /*_._IF___V15*/
6224 meltfptr[14] = 0 ;
6225 /*^clear*/
6226 /*clear*/ /*_.OUTPUT_JSON__V17*/
6227 meltfptr[15] = 0 ;
6228 } /*endciterblock FOREACH_IN_MULTIPLE*/
6231 MELT_CHECK_SIGNAL();
6233 MELT_LOCATION("warmelt-base.melt:1773:/ apply");
6234 /*apply*/
6236 union meltparam_un argtab[1];
6237 memset(&argtab, 0, sizeof(argtab));
6238 /*^apply.arg*/
6239 argtab[0].meltbp_cstring = "]";
6240 /*_.ADD2OUT__V18*/
6241 meltfptr[17] = melt_apply ((meltclosure_ptr_t)((/*!ADD2OUT*/ meltfrout->tabval[0])), (melt_ptr_t)(/*_.OUT__V2*/ meltfptr[1]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
6244 MELT_LOCATION("warmelt-base.melt:1766:/ quasiblock");
6247 /*_.PROGN___V19*/
6248 meltfptr[18] = /*_.ADD2OUT__V18*/ meltfptr[17];;
6249 /*^compute*/
6250 /*_._IFELSE___V12*/
6251 meltfptr[10] = /*_.PROGN___V19*/ meltfptr[18];;
6252 /*epilog*/
6254 MELT_LOCATION("warmelt-base.melt:1766:/ clear");
6255 /*clear*/ /*_.ADD2OUT__V13*/
6256 meltfptr[12] = 0 ;
6257 /*^clear*/
6258 /*clear*/ /*_.ADD2OUT__V18*/
6259 meltfptr[17] = 0 ;
6260 /*^clear*/
6261 /*clear*/ /*_.PROGN___V19*/
6262 meltfptr[18] = 0 ;
6266 else /*^cond.else*/
6269 /*^block*/
6270 /*anyblock*/
6274 MELT_CHECK_SIGNAL();
6276 /*_#IS_STRING__L8*/
6277 meltfnum[7] =
6278 (melt_magic_discr((melt_ptr_t)(/*_.V__V3*/ meltfptr[2])) == MELTOBMAG_STRING);;
6279 MELT_LOCATION("warmelt-base.melt:1774:/ cond");
6280 /*cond*/
6281 if (/*_#IS_STRING__L8*/ meltfnum[7]) /*then*/
6283 /*^cond.then*/
6284 /*^block*/
6285 /*anyblock*/
6289 MELT_CHECK_SIGNAL();
6291 MELT_LOCATION("warmelt-base.melt:1775:/ apply");
6292 /*apply*/
6294 union meltparam_un argtab[1];
6295 memset(&argtab, 0, sizeof(argtab));
6296 /*^apply.arg*/
6297 argtab[0].meltbp_cstring = "\"";
6298 /*_.ADD2OUT__V21*/
6299 meltfptr[17] = melt_apply ((meltclosure_ptr_t)((/*!ADD2OUT*/ meltfrout->tabval[0])), (melt_ptr_t)(/*_.OUT__V2*/ meltfptr[1]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
6304 MELT_LOCATION("warmelt-base.melt:1776:/ locexp");
6305 /*add2out_utf8json_encstring*/
6306 meltgc_add_out_cstr_len_mode ((melt_ptr_t)(/*_.OUT__V2*/ meltfptr[1]),
6307 melt_string_str ((melt_ptr_t)(/*_.V__V3*/ meltfptr[2])),
6309 MELTCOUT_UTF8JSON);
6313 MELT_CHECK_SIGNAL();
6315 MELT_LOCATION("warmelt-base.melt:1777:/ apply");
6316 /*apply*/
6318 union meltparam_un argtab[1];
6319 memset(&argtab, 0, sizeof(argtab));
6320 /*^apply.arg*/
6321 argtab[0].meltbp_cstring = "\"";
6322 /*_.ADD2OUT__V22*/
6323 meltfptr[18] = melt_apply ((meltclosure_ptr_t)((/*!ADD2OUT*/ meltfrout->tabval[0])), (melt_ptr_t)(/*_.OUT__V2*/ meltfptr[1]), (MELTBPARSTR_CSTRING ""), argtab, "", (union meltparam_un*)0);
6326 MELT_LOCATION("warmelt-base.melt:1774:/ quasiblock");
6329 /*_.PROGN___V23*/
6330 meltfptr[22] = /*_.ADD2OUT__V22*/ meltfptr[18];;
6331 /*^compute*/
6332 /*_._IFELSE___V20*/
6333 meltfptr[12] = /*_.PROGN___V23*/ meltfptr[22];;
6334 /*epilog*/
6336 MELT_LOCATION("warmelt-base.melt:1774:/ clear");
6337 /*clear*/ /*_.ADD2OUT__V21*/
6338 meltfptr[17] = 0 ;
6339 /*^clear*/
6340 /*clear*/ /*_.ADD2OUT__V22*/
6341 meltfptr[18] = 0 ;
6342 /*^clear*/
6343 /*clear*/ /*_.PROGN___V23*/
6344 meltfptr[22] = 0 ;
6348 else /*^cond.else*/
6351 /*^block*/
6352 /*anyblock*/
6356 MELT_CHECK_SIGNAL();
6358 /*_#IS_MIXBIGINT__L9*/
6359 meltfnum[8] =
6360 (melt_magic_discr((melt_ptr_t)(/*_.V__V3*/ meltfptr[2])) == MELTOBMAG_MIXBIGINT);;
6361 MELT_LOCATION("warmelt-base.melt:1779:/ cond");
6362 /*cond*/
6363 if (/*_#IS_MIXBIGINT__L9*/ meltfnum[8]) /*then*/
6365 /*^cond.then*/
6366 /*^block*/
6367 /*anyblock*/
6374 MELT_LOCATION("warmelt-base.melt:1780:/ locexp");
6375 meltgc_ppstrbuf_mixbigint((melt_ptr_t) /*_.OUT__V2*/ meltfptr[1],0,(melt_ptr_t) /*_.V__V3*/ meltfptr[2]);;
6378 /*clear*/ /*_._IFELSE___V24*/
6379 meltfptr[17] = 0 ;
6380 /*epilog*/
6384 else
6386 MELT_LOCATION("warmelt-base.melt:1779:/ cond.else");
6388 /*^block*/
6389 /*anyblock*/
6393 MELT_CHECK_SIGNAL();
6395 MELT_LOCATION("warmelt-base.melt:1783:/ msend");
6396 /*msend*/
6398 union meltparam_un argtab[1];
6399 memset(&argtab, 0, sizeof(argtab));
6400 /*^ojbmsend.arg*/
6401 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.OUT__V2*/ meltfptr[1];
6402 /*_.OUTPUT_AS_JSON__V25*/
6403 meltfptr[18] = meltgc_send((melt_ptr_t)(/*_.V__V3*/ meltfptr[2]), (melt_ptr_t)((/*!OUTPUT_AS_JSON*/ meltfrout->tabval[4])), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
6406 MELT_LOCATION("warmelt-base.melt:1782:/ quasiblock");
6409 /*_.PROGN___V26*/
6410 meltfptr[22] = /*_.OUTPUT_AS_JSON__V25*/ meltfptr[18];;
6411 /*^compute*/
6412 /*_._IFELSE___V24*/
6413 meltfptr[17] = /*_.PROGN___V26*/ meltfptr[22];;
6414 /*epilog*/
6416 MELT_LOCATION("warmelt-base.melt:1779:/ clear");
6417 /*clear*/ /*_.OUTPUT_AS_JSON__V25*/
6418 meltfptr[18] = 0 ;
6419 /*^clear*/
6420 /*clear*/ /*_.PROGN___V26*/
6421 meltfptr[22] = 0 ;
6426 /*_._IFELSE___V20*/
6427 meltfptr[12] = /*_._IFELSE___V24*/ meltfptr[17];;
6428 /*epilog*/
6430 MELT_LOCATION("warmelt-base.melt:1774:/ clear");
6431 /*clear*/ /*_#IS_MIXBIGINT__L9*/
6432 meltfnum[8] = 0 ;
6433 /*^clear*/
6434 /*clear*/ /*_._IFELSE___V24*/
6435 meltfptr[17] = 0 ;
6440 /*_._IFELSE___V12*/
6441 meltfptr[10] = /*_._IFELSE___V20*/ meltfptr[12];;
6442 /*epilog*/
6444 MELT_LOCATION("warmelt-base.melt:1766:/ clear");
6445 /*clear*/ /*_#IS_STRING__L8*/
6446 meltfnum[7] = 0 ;
6447 /*^clear*/
6448 /*clear*/ /*_._IFELSE___V20*/
6449 meltfptr[12] = 0 ;
6454 /*_._IFELSE___V10*/
6455 meltfptr[8] = /*_._IFELSE___V12*/ meltfptr[10];;
6456 /*epilog*/
6458 MELT_LOCATION("warmelt-base.melt:1763:/ clear");
6459 /*clear*/ /*_#IS_MULTIPLE__L6*/
6460 meltfnum[5] = 0 ;
6461 /*^clear*/
6462 /*clear*/ /*_._IFELSE___V12*/
6463 meltfptr[10] = 0 ;
6468 /*_._IFELSE___V8*/
6469 meltfptr[6] = /*_._IFELSE___V10*/ meltfptr[8];;
6470 /*epilog*/
6472 MELT_LOCATION("warmelt-base.melt:1760:/ clear");
6473 /*clear*/ /*_#NULL__L5*/
6474 meltfnum[4] = 0 ;
6475 /*^clear*/
6476 /*clear*/ /*_._IFELSE___V10*/
6477 meltfptr[8] = 0 ;
6482 /*_._IFELSE___V6*/
6483 meltfptr[4] = /*_._IFELSE___V8*/ meltfptr[6];;
6484 /*epilog*/
6486 MELT_LOCATION("warmelt-base.melt:1757:/ clear");
6487 /*clear*/ /*_#eqeq__L4*/
6488 meltfnum[3] = 0 ;
6489 /*^clear*/
6490 /*clear*/ /*_._IFELSE___V8*/
6491 meltfptr[6] = 0 ;
6496 /*_._IFELSE___V4*/
6497 meltfptr[3] = /*_._IFELSE___V6*/ meltfptr[4];;
6498 /*epilog*/
6500 MELT_LOCATION("warmelt-base.melt:1755:/ clear");
6501 /*clear*/ /*_#eqeq__L3*/
6502 meltfnum[1] = 0 ;
6503 /*^clear*/
6504 /*clear*/ /*_._IFELSE___V6*/
6505 meltfptr[4] = 0 ;
6510 MELT_LOCATION("warmelt-base.melt:1753:/ quasiblock");
6513 /*_._RETVAL___V1*/
6514 meltfptr[0] = /*_._IFELSE___V4*/ meltfptr[3];;
6517 MELT_LOCATION("warmelt-base.melt:1753:/ locexp");
6518 /*ochecknores compilobj_nrep_return*/
6519 #if MELT_HAVE_DEBUG
6520 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
6521 melt_warn_for_no_expected_secondary_results();
6522 /* we warned when secondary results are expected but not returned. */
6523 #endif /*MELT_HAVE_DEBUG*/
6527 /*^finalreturn*/
6529 /*finalret*/
6530 goto meltlabend_rout ;
6531 /*epilog*/
6533 /*^clear*/
6534 /*clear*/ /*_#IS_INTEGERBOX__L1*/
6535 meltfnum[0] = 0 ;
6536 /*^clear*/
6537 /*clear*/ /*_._IFELSE___V4*/
6538 meltfptr[3] = 0 ;
6542 goto meltlabend_rout;
6543 meltlabend_rout:
6544 melt_trace_end("OUTPUT_JSON", meltcallcount);
6545 melt_blocklevel_signals = current_blocklevel_signals_meltrout_18_WARMELTmiBASE_OUTPUT_JSON_melt;
6546 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
6547 #undef meltcallcount
6548 #undef meltfram__
6549 #undef MELTFRAM_NBVARNUM
6550 #undef MELTFRAM_NBVARPTR
6551 } /*end meltrout_18_WARMELTmiBASE_OUTPUT_JSON*/
6558 melt_ptr_t MELT_MODULE_VISIBILITY
6559 meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
6560 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
6562 long current_blocklevel_signals_meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB_melt = melt_blocklevel_signals;
6564 #if MELT_HAVE_DEBUG
6565 static long melt_call_counter__;
6566 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
6567 #undef meltcallcount
6568 #define meltcallcount melt_thiscallcounter__
6569 #else
6570 #undef meltcallcount
6571 #define meltcallcount 0L
6572 #endif
6573 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
6575 /* start of frame for routine meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB fromline 1752 */
6577 /** start of frame for meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB of CLASS_PROCROUTINEOBJ from 1555**/
6579 /*curframdeclclassy*/ class MeltFrame_meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB// fromline 1568
6580 : public Melt_CallFrameWithValues<12>
6582 public: /* fromline 1572*/
6583 long mcfr_varnum[3];
6584 /*classy others*/
6585 long _meltsparel;
6586 void melt_mark_stuff (void)
6588 } /*end melt_mark_stuff*/
6589 virtual void melt_mark_ggc_data (void)
6591 melt_mark_values ();
6592 melt_mark_stuff ();
6593 }; /*end melt_mark_ggc_data*/
6594 MeltFrame_meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB(meltclosure_ptr_t clos) //the closure constructor fromline 1630
6595 : Melt_CallFrameWithValues<12> (
6596 #if ENABLE_CHECKING /*fromline 1634*/
6597 __FILE__, __LINE__,
6598 #endif /* ENABLE_CHECKING fromline 1638*/
6599 sizeof(MeltFrame_meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB), clos) {};
6600 MeltFrame_meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB() //the constructor fromline 1642
6601 : Melt_CallFrameWithValues<12> (
6602 #if ENABLE_CHECKING /*fromline 1646*/
6603 __FILE__, __LINE__,
6604 #endif /* ENABLE_CHECKING fromline 1650*/
6605 sizeof(MeltFrame_meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB)) {};
6606 #if ENABLE_CHECKING /*fromline 1654*/
6607 MeltFrame_meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB(const char*fil, int lin) //the constructor fromline 1656
6608 : Melt_CallFrameWithValues<12> (fil,lin, sizeof(MeltFrame_meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB)) {};
6609 MeltFrame_meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
6610 : Melt_CallFrameWithValues<12> (fil,lin, sizeof(MeltFrame_meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB), clos) {};
6611 #endif /* ENABLE_CHECKING fromline 1666*/
6613 }; // end class MeltFrame_meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB
6616 /** end of frame for meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB fromline 1697**/
6618 /* end of frame for routine meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB fromline 1756 */
6620 /* classy proc frame meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB */
6621 MeltFrame_meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB
6622 meltfram__ /*declfrastruct fromline 1780*/
6623 /*classyprocarg meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB fromline 1785*/
6624 #if ENABLE_CHECKING
6625 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
6626 #else /*ENABLE_CHECKING */
6627 (meltclosp_) /* fromline 1793*/
6628 #endif /*ENABLE_CHECKING */
6631 #define meltframe meltfram__
6633 melt_trace_start("ADD2OUT4CLONEDSYMB", meltcallcount);
6634 /*use arguments*/
6635 (void) meltclosp_;
6636 (void)meltfirstargp_;
6637 (void)meltxargdescr_;
6638 (void)meltxargtab_;
6639 (void)meltxresdescr_;
6640 (void)meltxrestab_;
6641 /*getargs*/
6643 /*getarg#0*/
6644 MELT_LOCATION("warmelt-base.melt:1787:/ getarg");
6645 /*_.VC__V2*/
6646 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
6648 /*getarg#1*/
6649 /*^getarg*/
6650 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
6651 /*_.OUT__V3*/
6652 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
6653 gcc_assert(melt_discr((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2])) != NULL);
6656 goto meltlab_endgetargs;
6657 meltlab_endgetargs:
6659 /*body*/
6660 /*^block*/
6661 /*anyblock*/
6665 MELT_CHECK_SIGNAL();
6667 MELT_LOCATION("warmelt-base.melt:1788:/ block");
6668 /*anyblock*/
6671 /*^objgoto*/
6672 /*objgoto*/ goto mtch1_0;
6675 /*objlabel*/
6676 mtch1_0:
6678 MELT_LOCATION("warmelt-base.melt:1789:/ objlabel");
6679 /* objlabel */
6680 #if MELTDEBUG_MATCHING
6681 static long meltlab_count_1;
6682 meltlab_count_1++;
6683 debugeprintf("objlabel_1 mtch1_*CLASS_NORMTESTER_INSTANCE/da91a1. *CLASS_OBJLABELINSTR/2bdbebc5. %ld", meltlab_count_1);
6684 #endif
6687 /*^clear*/
6688 /*clear*/ /*_.NAMED_NAME__V4*/
6689 meltfptr[3] = 0 ;
6690 /*^clear*/
6691 /*clear*/ /*_.CSYM_URANK__V5*/
6692 meltfptr[4] = 0 ;
6693 /*^cond*/
6694 /*cond*/
6695 if (
6696 /*normtesterinst*/ (melt_is_instance_of((melt_ptr_t)(/*_.VC__V2*/ meltfptr[1]),
6697 (melt_ptr_t)((/*!CLASS_CLONED_SYMBOL*/ meltfrout->tabval[0]))))) /*then*/
6699 /*^cond.then*/
6700 /*^block*/
6701 /*anyblock*/
6704 /*^getslot*/
6706 melt_ptr_t slot=NULL, obj=NULL;
6707 obj = (melt_ptr_t)(/*_.VC__V2*/ meltfptr[1]) /*=obj*/;
6708 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
6709 /*_.NAMED_NAME__V4*/
6710 meltfptr[3] = slot;
6713 /*^getslot*/
6715 melt_ptr_t slot=NULL, obj=NULL;
6716 obj = (melt_ptr_t)(/*_.VC__V2*/ meltfptr[1]) /*=obj*/;
6717 melt_object_get_field(slot,obj, 3, "CSYM_URANK");
6718 /*_.CSYM_URANK__V5*/
6719 meltfptr[4] = slot;
6722 MELT_LOCATION("warmelt-base.melt:1791:/ objgoto");
6723 /*objgoto*/
6724 goto mtch1_1;
6729 else
6731 MELT_LOCATION("warmelt-base.melt:1789:/ cond.else");
6733 /*^block*/
6734 /*anyblock*/
6737 MELT_LOCATION("warmelt-base.melt:1796:/ objgoto");
6738 /*objgoto*/
6739 goto mtch1_3;
6746 /*objlabel*/
6747 mtch1_1:
6749 MELT_LOCATION("warmelt-base.melt:1791:/ objlabel");
6750 /* objlabel */
6751 #if MELTDEBUG_MATCHING
6752 static long meltlab_count_2;
6753 meltlab_count_2++;
6754 debugeprintf("objlabel_2 mtch1_*CLASS_NORMTESTER_MATCHER/36c28ea6. *CLASS_OBJLABELINSTR/175adadc. %ld", meltlab_count_2);
6755 #endif
6758 /*^clear*/
6759 /*clear*/ /*_#ICT__L1*/
6760 meltfnum[0] = 0 ;
6761 /*^cond*/
6762 /*cond*/
6763 if (
6764 /* integerbox_of IBOXOF_mtch1__1 ?*/ /*_.CSYM_URANK__V5*/ meltfptr[4]
6765 && melt_magic_discr((melt_ptr_t) /*_.CSYM_URANK__V5*/ meltfptr[4]) == MELTOBMAG_INT ) /*then*/
6767 /*^cond.then*/
6768 /*^block*/
6769 /*anyblock*/
6772 /*^clear*/
6773 /*clear*/ /*_#ICT__L1*/ meltfnum[0] = 0 ;
6776 /*^locexp*/
6777 /* integerbox_of IBOXOF_mtch1__1 !*/ /*_#ICT__L1*/ meltfnum[0] = ((struct meltint_st*)/*_.CSYM_URANK__V5*/ meltfptr[4])->val; ;
6780 MELT_LOCATION("warmelt-base.melt:1789:/ objgoto");
6781 /*objgoto*/
6782 goto mtch1_2;
6787 else
6789 MELT_LOCATION("warmelt-base.melt:1791:/ cond.else");
6791 /*^block*/
6792 /*anyblock*/
6795 MELT_LOCATION("warmelt-base.melt:1796:/ objgoto");
6796 /*objgoto*/
6797 goto mtch1_3;
6804 /*objlabel*/
6805 mtch1_2:
6807 MELT_LOCATION("warmelt-base.melt:1789:/ objlabel");
6808 /* objlabel */
6809 #if MELTDEBUG_MATCHING
6810 static long meltlab_count_3;
6811 meltlab_count_3++;
6812 debugeprintf("objlabel_3 mtch1_*CLASS_NORMTESTER_SUCCESS/20908fa3. *CLASS_OBJLABELINSTR/2a0444. %ld", meltlab_count_3);
6813 #endif
6816 /*^quasiblock*/
6819 /*_.NVARNAM__V6*/
6820 meltfptr[4] = /*_.NAMED_NAME__V4*/ meltfptr[3];;
6821 /*^compute*/
6822 /*_#NVARURANK__L2*/
6823 meltfnum[1] = /*_#ICT__L1*/ meltfnum[0];;
6825 #if MELT_HAVE_DEBUG
6826 MELT_LOCATION("warmelt-base.melt:1792:/ cppif.then");
6827 /*^block*/
6828 /*anyblock*/
6832 MELT_CHECK_SIGNAL();
6834 /*_#IS_STRING__L3*/
6835 meltfnum[2] =
6836 (melt_magic_discr((melt_ptr_t)(/*_.NVARNAM__V6*/ meltfptr[4])) == MELTOBMAG_STRING);;
6837 MELT_LOCATION("warmelt-base.melt:1792:/ cond");
6838 /*cond*/
6839 if (/*_#IS_STRING__L3*/ meltfnum[2]) /*then*/
6841 /*^cond.then*/
6842 /*_._IFELSE___V8*/ meltfptr[7] = (/*nil*/NULL);;
6844 else
6846 MELT_LOCATION("warmelt-base.melt:1792:/ cond.else");
6848 /*^block*/
6849 /*anyblock*/
6853 MELT_CHECK_SIGNAL();
6855 /*^apply*/
6856 /*apply*/
6858 union meltparam_un argtab[4];
6859 memset(&argtab, 0, sizeof(argtab));
6860 /*^apply.arg*/
6861 argtab[0].meltbp_cstring = "check nvarnam";
6862 /*^apply.arg*/
6863 argtab[1].meltbp_cstring = "warmelt-base.melt";
6864 /*^apply.arg*/
6865 argtab[2].meltbp_long = 1792;
6866 /*^apply.arg*/
6867 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.NVARNAM__V6*/ meltfptr[4];
6868 /*_.MELT_ASSERT_FAILURE_FUN__V9*/
6869 meltfptr[8] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
6872 /*_._IFELSE___V8*/
6873 meltfptr[7] = /*_.MELT_ASSERT_FAILURE_FUN__V9*/ meltfptr[8];;
6874 /*epilog*/
6876 MELT_LOCATION("warmelt-base.melt:1792:/ clear");
6877 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V9*/
6878 meltfptr[8] = 0 ;
6883 /*_.IFCPP___V7*/
6884 meltfptr[6] = /*_._IFELSE___V8*/ meltfptr[7];;
6885 /*epilog*/
6887 MELT_LOCATION("warmelt-base.melt:1792:/ clear");
6888 /*clear*/ /*_#IS_STRING__L3*/
6889 meltfnum[2] = 0 ;
6890 /*^clear*/
6891 /*clear*/ /*_._IFELSE___V8*/
6892 meltfptr[7] = 0 ;
6895 #else /*MELT_HAVE_DEBUG*/
6896 /*^cppif.else*/
6897 /*_.IFCPP___V7*/ meltfptr[6] = (/*nil*/NULL);
6898 #endif /*MELT_HAVE_DEBUG*/
6902 MELT_LOCATION("warmelt-base.melt:1793:/ locexp");
6903 meltgc_add_out_cident((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]),
6904 melt_string_str((melt_ptr_t)(/*_.NVARNAM__V6*/ meltfptr[4])));
6909 MELT_LOCATION("warmelt-base.melt:1794:/ locexp");
6910 meltgc_add_out((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), ( "__"));
6915 MELT_LOCATION("warmelt-base.melt:1795:/ locexp");
6916 meltgc_add_out_dec((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), (/*_#NVARURANK__L2*/ meltfnum[1]));
6920 MELT_CHECK_SIGNAL();
6923 MELT_LOCATION("warmelt-base.melt:1789:/ clear");
6924 /*clear*/ /*_.NVARNAM__V6*/
6925 meltfptr[4] = 0 ;
6926 /*^clear*/
6927 /*clear*/ /*_#NVARURANK__L2*/
6928 meltfnum[1] = 0 ;
6929 /*^clear*/
6930 /*clear*/ /*_.IFCPP___V7*/
6931 meltfptr[6] = 0 ;
6932 /*^objgoto*/
6933 /*objgoto*/
6934 goto mtch1__end /*endmatch*/;
6937 /*objlabel*/
6938 mtch1_3:
6940 MELT_LOCATION("warmelt-base.melt:1796:/ objlabel");
6941 /* objlabel */
6942 #if MELTDEBUG_MATCHING
6943 static long meltlab_count_4;
6944 meltlab_count_4++;
6945 debugeprintf("objlabel_4 mtch1_*CLASS_NORMTESTER_SUCCESS/1b2517f1. *CLASS_OBJLABELINSTR/3d919754. %ld", meltlab_count_4);
6946 #endif
6949 /*^quasiblock*/
6953 #if MELT_HAVE_DEBUG
6954 MELT_LOCATION("warmelt-base.melt:1797:/ cppif.then");
6955 /*^block*/
6956 /*anyblock*/
6960 MELT_CHECK_SIGNAL();
6962 /*^cond*/
6963 /*cond*/
6964 if ((/*nil*/NULL)) /*then*/
6966 /*^cond.then*/
6967 /*_._IFELSE___V11*/ meltfptr[7] = (/*nil*/NULL);;
6969 else
6971 MELT_LOCATION("warmelt-base.melt:1797:/ cond.else");
6973 /*^block*/
6974 /*anyblock*/
6978 MELT_CHECK_SIGNAL();
6980 /*^apply*/
6981 /*apply*/
6983 union meltparam_un argtab[4];
6984 memset(&argtab, 0, sizeof(argtab));
6985 /*^apply.arg*/
6986 argtab[0].meltbp_cstring = "bad cloned symbol";
6987 /*^apply.arg*/
6988 argtab[1].meltbp_cstring = "warmelt-base.melt";
6989 /*^apply.arg*/
6990 argtab[2].meltbp_long = 1797;
6991 /*^apply.arg*/
6992 argtab[3].meltbp_aptr = (melt_ptr_t*) &/*_.VC__V2*/ meltfptr[1];
6993 /*_.MELT_ASSERT_FAILURE_FUN__V12*/
6994 meltfptr[4] = melt_apply ((meltclosure_ptr_t)((/*!MELT_ASSERT_FAILURE_FUN*/ meltfrout->tabval[2])), (melt_ptr_t)((/*nil*/NULL)), (MELTBPARSTR_CSTRING MELTBPARSTR_CSTRING MELTBPARSTR_LONG MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
6997 /*_._IFELSE___V11*/
6998 meltfptr[7] = /*_.MELT_ASSERT_FAILURE_FUN__V12*/ meltfptr[4];;
6999 /*epilog*/
7001 MELT_LOCATION("warmelt-base.melt:1797:/ clear");
7002 /*clear*/ /*_.MELT_ASSERT_FAILURE_FUN__V12*/
7003 meltfptr[4] = 0 ;
7008 /*_.IFCPP___V10*/
7009 meltfptr[8] = /*_._IFELSE___V11*/ meltfptr[7];;
7010 /*epilog*/
7012 MELT_LOCATION("warmelt-base.melt:1797:/ clear");
7013 /*clear*/ /*_._IFELSE___V11*/
7014 meltfptr[7] = 0 ;
7017 #else /*MELT_HAVE_DEBUG*/
7018 /*^cppif.else*/
7019 /*_.IFCPP___V10*/ meltfptr[8] = (/*nil*/NULL);
7020 #endif /*MELT_HAVE_DEBUG*/
7023 MELT_LOCATION("warmelt-base.melt:1796:/ clear");
7024 /*clear*/ /*_.IFCPP___V10*/
7025 meltfptr[8] = 0 ;
7026 /*^objgoto*/
7027 /*objgoto*/
7028 goto mtch1__end /*endmatch*/;
7031 /*objlabel*/
7032 mtch1__end:
7034 MELT_LOCATION("warmelt-base.melt:1788:/ objlabel");
7035 /* objlabel */
7036 #if MELTDEBUG_MATCHING
7037 static long meltlab_count_5;
7038 meltlab_count_5++;
7039 debugeprintf("objlabel_5 mtch1__end_h670758135 *CLASS_OBJLABELINSTR/27faf4f7. %ld", meltlab_count_5);
7040 #endif
7045 /*epilog*/
7049 goto meltlabend_rout;
7050 meltlabend_rout:
7051 melt_trace_end("ADD2OUT4CLONEDSYMB", meltcallcount);
7052 melt_blocklevel_signals = current_blocklevel_signals_meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB_melt;
7053 return (melt_ptr_t)(/*noretval*/ NULL);
7054 #undef meltcallcount
7055 #undef meltfram__
7056 #undef MELTFRAM_NBVARNUM
7057 #undef MELTFRAM_NBVARPTR
7058 } /*end meltrout_19_WARMELTmiBASE_ADD2OUT4CLONEDSYMB*/
7065 melt_ptr_t MELT_MODULE_VISIBILITY
7066 meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
7067 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
7069 long current_blocklevel_signals_meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED_melt = melt_blocklevel_signals;
7071 #if MELT_HAVE_DEBUG
7072 static long melt_call_counter__;
7073 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
7074 #undef meltcallcount
7075 #define meltcallcount melt_thiscallcounter__
7076 #else
7077 #undef meltcallcount
7078 #define meltcallcount 0L
7079 #endif
7080 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
7082 /* start of frame for routine meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED fromline 1752 */
7084 /** start of frame for meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED of CLASS_PROCROUTINEOBJ from 1555**/
7086 /*curframdeclclassy*/ class MeltFrame_meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED// fromline 1568
7087 : public Melt_CallFrameWithValues<4>
7089 public: /* fromline 1572*/
7090 // no classy longs
7091 /*classy others*/
7092 long _meltsparel;
7093 void melt_mark_stuff (void)
7095 } /*end melt_mark_stuff*/
7096 virtual void melt_mark_ggc_data (void)
7098 melt_mark_values ();
7099 melt_mark_stuff ();
7100 }; /*end melt_mark_ggc_data*/
7101 MeltFrame_meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED(meltclosure_ptr_t clos) //the closure constructor fromline 1630
7102 : Melt_CallFrameWithValues<4> (
7103 #if ENABLE_CHECKING /*fromline 1634*/
7104 __FILE__, __LINE__,
7105 #endif /* ENABLE_CHECKING fromline 1638*/
7106 sizeof(MeltFrame_meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED), clos) {};
7107 MeltFrame_meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED() //the constructor fromline 1642
7108 : Melt_CallFrameWithValues<4> (
7109 #if ENABLE_CHECKING /*fromline 1646*/
7110 __FILE__, __LINE__,
7111 #endif /* ENABLE_CHECKING fromline 1650*/
7112 sizeof(MeltFrame_meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED)) {};
7113 #if ENABLE_CHECKING /*fromline 1654*/
7114 MeltFrame_meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED(const char*fil, int lin) //the constructor fromline 1656
7115 : Melt_CallFrameWithValues<4> (fil,lin, sizeof(MeltFrame_meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED)) {};
7116 MeltFrame_meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
7117 : Melt_CallFrameWithValues<4> (fil,lin, sizeof(MeltFrame_meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED), clos) {};
7118 #endif /* ENABLE_CHECKING fromline 1666*/
7120 }; // end class MeltFrame_meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED
7123 /** end of frame for meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED fromline 1697**/
7125 /* end of frame for routine meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED fromline 1756 */
7127 /* classy proc frame meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED */
7128 MeltFrame_meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED
7129 meltfram__ /*declfrastruct fromline 1780*/
7130 /*classyprocarg meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED fromline 1785*/
7131 #if ENABLE_CHECKING
7132 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
7133 #else /*ENABLE_CHECKING */
7134 (meltclosp_) /* fromline 1793*/
7135 #endif /*ENABLE_CHECKING */
7138 #define meltframe meltfram__
7140 melt_trace_start("ADD2OUT4NAMED", meltcallcount);
7141 /*use arguments*/
7142 (void) meltclosp_;
7143 (void)meltfirstargp_;
7144 (void)meltxargdescr_;
7145 (void)meltxargtab_;
7146 (void)meltxresdescr_;
7147 (void)meltxrestab_;
7148 /*getargs*/
7150 /*getarg#0*/
7151 MELT_LOCATION("warmelt-base.melt:1800:/ getarg");
7152 /*_.VN__V2*/
7153 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
7155 /*getarg#1*/
7156 /*^getarg*/
7157 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
7158 /*_.OUT__V3*/
7159 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
7160 gcc_assert(melt_discr((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2])) != NULL);
7163 goto meltlab_endgetargs;
7164 meltlab_endgetargs:
7166 /*body*/
7167 /*^block*/
7168 /*anyblock*/
7171 MELT_LOCATION("warmelt-base.melt:1801:/ cond");
7172 /*cond*/
7173 if (
7174 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.VN__V2*/ meltfptr[1]),
7175 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[0])))
7176 ) /*then*/
7178 /*^cond.then*/
7179 /*^getslot*/
7181 melt_ptr_t slot=NULL, obj=NULL;
7182 obj = (melt_ptr_t)(/*_.VN__V2*/ meltfptr[1]) /*=obj*/;
7183 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
7184 /*_.NAMED_NAME__V4*/
7185 meltfptr[3] = slot;
7189 else /*^cond.else*/
7192 /*_.NAMED_NAME__V4*/ meltfptr[3] = /*reallynil*/ NULL ;;
7197 MELT_LOCATION("warmelt-base.melt:1801:/ locexp");
7198 meltgc_add_out_cident((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]),
7199 melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V4*/ meltfptr[3])));
7202 /*epilog*/
7204 MELT_LOCATION("warmelt-base.melt:1800:/ clear");
7205 /*clear*/ /*_.NAMED_NAME__V4*/
7206 meltfptr[3] = 0 ;
7210 goto meltlabend_rout;
7211 meltlabend_rout:
7212 melt_trace_end("ADD2OUT4NAMED", meltcallcount);
7213 melt_blocklevel_signals = current_blocklevel_signals_meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED_melt;
7214 return (melt_ptr_t)(/*noretval*/ NULL);
7215 #undef meltcallcount
7216 #undef meltfram__
7217 #undef MELTFRAM_NBVARNUM
7218 #undef MELTFRAM_NBVARPTR
7219 } /*end meltrout_20_WARMELTmiBASE_ADD2OUT4NAMED*/
7226 melt_ptr_t MELT_MODULE_VISIBILITY
7227 meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
7228 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
7230 long current_blocklevel_signals_meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT_melt = melt_blocklevel_signals;
7232 #if MELT_HAVE_DEBUG
7233 static long melt_call_counter__;
7234 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
7235 #undef meltcallcount
7236 #define meltcallcount melt_thiscallcounter__
7237 #else
7238 #undef meltcallcount
7239 #define meltcallcount 0L
7240 #endif
7241 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
7243 /* start of frame for routine meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT fromline 1752 */
7245 /** start of frame for meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT of CLASS_PROCROUTINEOBJ from 1555**/
7247 /*curframdeclclassy*/ class MeltFrame_meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT// fromline 1568
7248 : public Melt_CallFrameWithValues<5>
7250 public: /* fromline 1572*/
7251 long mcfr_varnum[1];
7252 /*classy others*/
7253 long _meltsparel;
7254 void melt_mark_stuff (void)
7256 } /*end melt_mark_stuff*/
7257 virtual void melt_mark_ggc_data (void)
7259 melt_mark_values ();
7260 melt_mark_stuff ();
7261 }; /*end melt_mark_ggc_data*/
7262 MeltFrame_meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT(meltclosure_ptr_t clos) //the closure constructor fromline 1630
7263 : Melt_CallFrameWithValues<5> (
7264 #if ENABLE_CHECKING /*fromline 1634*/
7265 __FILE__, __LINE__,
7266 #endif /* ENABLE_CHECKING fromline 1638*/
7267 sizeof(MeltFrame_meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT), clos) {};
7268 MeltFrame_meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT() //the constructor fromline 1642
7269 : Melt_CallFrameWithValues<5> (
7270 #if ENABLE_CHECKING /*fromline 1646*/
7271 __FILE__, __LINE__,
7272 #endif /* ENABLE_CHECKING fromline 1650*/
7273 sizeof(MeltFrame_meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT)) {};
7274 #if ENABLE_CHECKING /*fromline 1654*/
7275 MeltFrame_meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT(const char*fil, int lin) //the constructor fromline 1656
7276 : Melt_CallFrameWithValues<5> (fil,lin, sizeof(MeltFrame_meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT)) {};
7277 MeltFrame_meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
7278 : Melt_CallFrameWithValues<5> (fil,lin, sizeof(MeltFrame_meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT), clos) {};
7279 #endif /* ENABLE_CHECKING fromline 1666*/
7281 }; // end class MeltFrame_meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT
7284 /** end of frame for meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT fromline 1697**/
7286 /* end of frame for routine meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT fromline 1756 */
7288 /* classy proc frame meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT */
7289 MeltFrame_meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT
7290 meltfram__ /*declfrastruct fromline 1780*/
7291 /*classyprocarg meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT fromline 1785*/
7292 #if ENABLE_CHECKING
7293 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
7294 #else /*ENABLE_CHECKING */
7295 (meltclosp_) /* fromline 1793*/
7296 #endif /*ENABLE_CHECKING */
7299 #define meltframe meltfram__
7301 melt_trace_start("ADD2OUT4ROOTOBJECT", meltcallcount);
7302 /*use arguments*/
7303 (void) meltclosp_;
7304 (void)meltfirstargp_;
7305 (void)meltxargdescr_;
7306 (void)meltxargtab_;
7307 (void)meltxresdescr_;
7308 (void)meltxrestab_;
7309 /*getargs*/
7311 /*getarg#0*/
7312 MELT_LOCATION("warmelt-base.melt:1804:/ getarg");
7313 /*_.VO__V2*/
7314 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
7316 /*getarg#1*/
7317 /*^getarg*/
7318 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
7319 /*_.OUT__V3*/
7320 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
7321 gcc_assert(melt_discr((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2])) != NULL);
7324 goto meltlab_endgetargs;
7325 meltlab_endgetargs:
7327 /*body*/
7328 /*^block*/
7329 /*anyblock*/
7334 MELT_LOCATION("warmelt-base.melt:1805:/ locexp");
7335 meltgc_add_out((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), ( "*"));
7338 /*_.DISCRIM__V4*/
7339 meltfptr[3] =
7340 ((melt_ptr_t) (melt_discr((melt_ptr_t)(/*_.VO__V2*/ meltfptr[1]))));;
7341 MELT_LOCATION("warmelt-base.melt:1806:/ cond");
7342 /*cond*/
7343 if (
7344 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.DISCRIM__V4*/ meltfptr[3]),
7345 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[0])))
7346 ) /*then*/
7348 /*^cond.then*/
7349 /*^getslot*/
7351 melt_ptr_t slot=NULL, obj=NULL;
7352 obj = (melt_ptr_t)(/*_.DISCRIM__V4*/ meltfptr[3]) /*=obj*/;
7353 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
7354 /*_.NAMED_NAME__V5*/
7355 meltfptr[4] = slot;
7359 else /*^cond.else*/
7362 /*_.NAMED_NAME__V5*/ meltfptr[4] = /*reallynil*/ NULL ;;
7367 MELT_LOCATION("warmelt-base.melt:1806:/ locexp");
7368 meltgc_add_out((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V5*/ meltfptr[4])));
7373 MELT_LOCATION("warmelt-base.melt:1807:/ locexp");
7374 meltgc_add_out((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), ( "/"));
7377 /*_#OBJ_HASH__L1*/
7378 meltfnum[0] =
7379 (melt_obj_hash((melt_ptr_t)(/*_.VO__V2*/ meltfptr[1])));;
7382 MELT_LOCATION("warmelt-base.melt:1808:/ locexp");
7383 meltgc_add_out_hex((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), (/*_#OBJ_HASH__L1*/ meltfnum[0]));
7388 MELT_LOCATION("warmelt-base.melt:1809:/ locexp");
7389 meltgc_add_out((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), ( "."));
7393 MELT_CHECK_SIGNAL();
7395 /*epilog*/
7397 MELT_LOCATION("warmelt-base.melt:1804:/ clear");
7398 /*clear*/ /*_.DISCRIM__V4*/
7399 meltfptr[3] = 0 ;
7400 /*^clear*/
7401 /*clear*/ /*_.NAMED_NAME__V5*/
7402 meltfptr[4] = 0 ;
7403 /*^clear*/
7404 /*clear*/ /*_#OBJ_HASH__L1*/
7405 meltfnum[0] = 0 ;
7409 goto meltlabend_rout;
7410 meltlabend_rout:
7411 melt_trace_end("ADD2OUT4ROOTOBJECT", meltcallcount);
7412 melt_blocklevel_signals = current_blocklevel_signals_meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT_melt;
7413 return (melt_ptr_t)(/*noretval*/ NULL);
7414 #undef meltcallcount
7415 #undef meltfram__
7416 #undef MELTFRAM_NBVARNUM
7417 #undef MELTFRAM_NBVARPTR
7418 } /*end meltrout_21_WARMELTmiBASE_ADD2OUT4ROOTOBJECT*/
7425 melt_ptr_t MELT_MODULE_VISIBILITY
7426 meltrout_22_WARMELTmiBASE_ADD2OUT4ANY(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
7427 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
7429 long current_blocklevel_signals_meltrout_22_WARMELTmiBASE_ADD2OUT4ANY_melt = melt_blocklevel_signals;
7431 #if MELT_HAVE_DEBUG
7432 static long melt_call_counter__;
7433 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
7434 #undef meltcallcount
7435 #define meltcallcount melt_thiscallcounter__
7436 #else
7437 #undef meltcallcount
7438 #define meltcallcount 0L
7439 #endif
7440 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
7442 /* start of frame for routine meltrout_22_WARMELTmiBASE_ADD2OUT4ANY fromline 1752 */
7444 /** start of frame for meltrout_22_WARMELTmiBASE_ADD2OUT4ANY of CLASS_PROCROUTINEOBJ from 1555**/
7446 /*curframdeclclassy*/ class MeltFrame_meltrout_22_WARMELTmiBASE_ADD2OUT4ANY// fromline 1568
7447 : public Melt_CallFrameWithValues<5>
7449 public: /* fromline 1572*/
7450 // no classy longs
7451 /*classy others*/
7452 long _meltsparel;
7453 void melt_mark_stuff (void)
7455 } /*end melt_mark_stuff*/
7456 virtual void melt_mark_ggc_data (void)
7458 melt_mark_values ();
7459 melt_mark_stuff ();
7460 }; /*end melt_mark_ggc_data*/
7461 MeltFrame_meltrout_22_WARMELTmiBASE_ADD2OUT4ANY(meltclosure_ptr_t clos) //the closure constructor fromline 1630
7462 : Melt_CallFrameWithValues<5> (
7463 #if ENABLE_CHECKING /*fromline 1634*/
7464 __FILE__, __LINE__,
7465 #endif /* ENABLE_CHECKING fromline 1638*/
7466 sizeof(MeltFrame_meltrout_22_WARMELTmiBASE_ADD2OUT4ANY), clos) {};
7467 MeltFrame_meltrout_22_WARMELTmiBASE_ADD2OUT4ANY() //the constructor fromline 1642
7468 : Melt_CallFrameWithValues<5> (
7469 #if ENABLE_CHECKING /*fromline 1646*/
7470 __FILE__, __LINE__,
7471 #endif /* ENABLE_CHECKING fromline 1650*/
7472 sizeof(MeltFrame_meltrout_22_WARMELTmiBASE_ADD2OUT4ANY)) {};
7473 #if ENABLE_CHECKING /*fromline 1654*/
7474 MeltFrame_meltrout_22_WARMELTmiBASE_ADD2OUT4ANY(const char*fil, int lin) //the constructor fromline 1656
7475 : Melt_CallFrameWithValues<5> (fil,lin, sizeof(MeltFrame_meltrout_22_WARMELTmiBASE_ADD2OUT4ANY)) {};
7476 MeltFrame_meltrout_22_WARMELTmiBASE_ADD2OUT4ANY(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
7477 : Melt_CallFrameWithValues<5> (fil,lin, sizeof(MeltFrame_meltrout_22_WARMELTmiBASE_ADD2OUT4ANY), clos) {};
7478 #endif /* ENABLE_CHECKING fromline 1666*/
7480 }; // end class MeltFrame_meltrout_22_WARMELTmiBASE_ADD2OUT4ANY
7483 /** end of frame for meltrout_22_WARMELTmiBASE_ADD2OUT4ANY fromline 1697**/
7485 /* end of frame for routine meltrout_22_WARMELTmiBASE_ADD2OUT4ANY fromline 1756 */
7487 /* classy proc frame meltrout_22_WARMELTmiBASE_ADD2OUT4ANY */
7488 MeltFrame_meltrout_22_WARMELTmiBASE_ADD2OUT4ANY
7489 meltfram__ /*declfrastruct fromline 1780*/
7490 /*classyprocarg meltrout_22_WARMELTmiBASE_ADD2OUT4ANY fromline 1785*/
7491 #if ENABLE_CHECKING
7492 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
7493 #else /*ENABLE_CHECKING */
7494 (meltclosp_) /* fromline 1793*/
7495 #endif /*ENABLE_CHECKING */
7498 #define meltframe meltfram__
7500 melt_trace_start("ADD2OUT4ANY", meltcallcount);
7501 /*use arguments*/
7502 (void) meltclosp_;
7503 (void)meltfirstargp_;
7504 (void)meltxargdescr_;
7505 (void)meltxargtab_;
7506 (void)meltxresdescr_;
7507 (void)meltxrestab_;
7508 /*getargs*/
7510 /*getarg#0*/
7511 MELT_LOCATION("warmelt-base.melt:1812:/ getarg");
7512 /*_.VA__V2*/
7513 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
7515 /*getarg#1*/
7516 /*^getarg*/
7517 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
7518 /*_.OUT__V3*/
7519 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
7520 gcc_assert(melt_discr((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2])) != NULL);
7523 goto meltlab_endgetargs;
7524 meltlab_endgetargs:
7526 /*body*/
7527 /*^block*/
7528 /*anyblock*/
7533 MELT_LOCATION("warmelt-base.melt:1813:/ locexp");
7534 meltgc_add_out((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), ( "*"));
7537 /*_.DISCRIM__V4*/
7538 meltfptr[3] =
7539 ((melt_ptr_t) (melt_discr((melt_ptr_t)(/*_.VA__V2*/ meltfptr[1]))));;
7540 MELT_LOCATION("warmelt-base.melt:1814:/ cond");
7541 /*cond*/
7542 if (
7543 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.DISCRIM__V4*/ meltfptr[3]),
7544 (melt_ptr_t)((/*!CLASS_NAMED*/ meltfrout->tabval[0])))
7545 ) /*then*/
7547 /*^cond.then*/
7548 /*^getslot*/
7550 melt_ptr_t slot=NULL, obj=NULL;
7551 obj = (melt_ptr_t)(/*_.DISCRIM__V4*/ meltfptr[3]) /*=obj*/;
7552 melt_object_get_field(slot,obj, 1, "NAMED_NAME");
7553 /*_.NAMED_NAME__V5*/
7554 meltfptr[4] = slot;
7558 else /*^cond.else*/
7561 /*_.NAMED_NAME__V5*/ meltfptr[4] = /*reallynil*/ NULL ;;
7566 MELT_LOCATION("warmelt-base.melt:1814:/ locexp");
7567 meltgc_add_out((melt_ptr_t)(/*_.OUT__V3*/ meltfptr[2]), melt_string_str((melt_ptr_t)(/*_.NAMED_NAME__V5*/ meltfptr[4])));
7571 MELT_CHECK_SIGNAL();
7573 /*epilog*/
7575 MELT_LOCATION("warmelt-base.melt:1812:/ clear");
7576 /*clear*/ /*_.DISCRIM__V4*/
7577 meltfptr[3] = 0 ;
7578 /*^clear*/
7579 /*clear*/ /*_.NAMED_NAME__V5*/
7580 meltfptr[4] = 0 ;
7584 goto meltlabend_rout;
7585 meltlabend_rout:
7586 melt_trace_end("ADD2OUT4ANY", meltcallcount);
7587 melt_blocklevel_signals = current_blocklevel_signals_meltrout_22_WARMELTmiBASE_ADD2OUT4ANY_melt;
7588 return (melt_ptr_t)(/*noretval*/ NULL);
7589 #undef meltcallcount
7590 #undef meltfram__
7591 #undef MELTFRAM_NBVARNUM
7592 #undef MELTFRAM_NBVARPTR
7593 } /*end meltrout_22_WARMELTmiBASE_ADD2OUT4ANY*/
7600 melt_ptr_t MELT_MODULE_VISIBILITY
7601 meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
7602 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
7604 long current_blocklevel_signals_meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY_melt = melt_blocklevel_signals;
7606 #if MELT_HAVE_DEBUG
7607 static long melt_call_counter__;
7608 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
7609 #undef meltcallcount
7610 #define meltcallcount melt_thiscallcounter__
7611 #else
7612 #undef meltcallcount
7613 #define meltcallcount 0L
7614 #endif
7615 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
7617 /* start of frame for routine meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY fromline 1752 */
7619 /** start of frame for meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY of CLASS_PROCROUTINEOBJ from 1555**/
7621 /*curframdeclclassy*/ class MeltFrame_meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY// fromline 1568
7622 : public Melt_CallFrameWithValues<6>
7624 public: /* fromline 1572*/
7625 long mcfr_varnum[2];
7626 /*classy others*/
7627 long _meltsparel;
7628 void melt_mark_stuff (void)
7630 } /*end melt_mark_stuff*/
7631 virtual void melt_mark_ggc_data (void)
7633 melt_mark_values ();
7634 melt_mark_stuff ();
7635 }; /*end melt_mark_ggc_data*/
7636 MeltFrame_meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY(meltclosure_ptr_t clos) //the closure constructor fromline 1630
7637 : Melt_CallFrameWithValues<6> (
7638 #if ENABLE_CHECKING /*fromline 1634*/
7639 __FILE__, __LINE__,
7640 #endif /* ENABLE_CHECKING fromline 1638*/
7641 sizeof(MeltFrame_meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY), clos) {};
7642 MeltFrame_meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY() //the constructor fromline 1642
7643 : Melt_CallFrameWithValues<6> (
7644 #if ENABLE_CHECKING /*fromline 1646*/
7645 __FILE__, __LINE__,
7646 #endif /* ENABLE_CHECKING fromline 1650*/
7647 sizeof(MeltFrame_meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY)) {};
7648 #if ENABLE_CHECKING /*fromline 1654*/
7649 MeltFrame_meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY(const char*fil, int lin) //the constructor fromline 1656
7650 : Melt_CallFrameWithValues<6> (fil,lin, sizeof(MeltFrame_meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY)) {};
7651 MeltFrame_meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
7652 : Melt_CallFrameWithValues<6> (fil,lin, sizeof(MeltFrame_meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY), clos) {};
7653 #endif /* ENABLE_CHECKING fromline 1666*/
7655 }; // end class MeltFrame_meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY
7658 /** end of frame for meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY fromline 1697**/
7660 /* end of frame for routine meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY fromline 1756 */
7662 /* classy proc frame meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY */
7663 MeltFrame_meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY
7664 meltfram__ /*declfrastruct fromline 1780*/
7665 /*classyprocarg meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY fromline 1785*/
7666 #if ENABLE_CHECKING
7667 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
7668 #else /*ENABLE_CHECKING */
7669 (meltclosp_) /* fromline 1793*/
7670 #endif /*ENABLE_CHECKING */
7673 #define meltframe meltfram__
7675 melt_trace_start("MAPSTRING_EVERY", meltcallcount);
7676 /*use arguments*/
7677 (void) meltclosp_;
7678 (void)meltfirstargp_;
7679 (void)meltxargdescr_;
7680 (void)meltxargtab_;
7681 (void)meltxresdescr_;
7682 (void)meltxrestab_;
7683 /*getargs*/
7685 /*getarg#0*/
7686 MELT_LOCATION("warmelt-base.melt:1886:/ getarg");
7687 /*_.MAP__V2*/
7688 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
7690 /*getarg#1*/
7691 /*^getarg*/
7692 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
7693 /*_.F__V3*/
7694 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
7695 gcc_assert(melt_discr((melt_ptr_t)(/*_.F__V3*/ meltfptr[2])) != NULL);
7698 goto meltlab_endgetargs;
7699 meltlab_endgetargs:
7701 /*body*/
7702 /*^block*/
7703 /*anyblock*/
7707 MELT_CHECK_SIGNAL();
7709 /*_#IS_MAPSTRING__L1*/
7710 meltfnum[0] =
7711 (melt_magic_discr((melt_ptr_t)(/*_.MAP__V2*/ meltfptr[1])) == MELTOBMAG_MAPSTRINGS);;
7712 MELT_LOCATION("warmelt-base.melt:1890:/ cond");
7713 /*cond*/
7714 if (/*_#IS_MAPSTRING__L1*/ meltfnum[0]) /*then*/
7716 /*^cond.then*/
7717 /*^block*/
7718 /*anyblock*/
7722 MELT_CHECK_SIGNAL();
7724 /*_#IS_CLOSURE__L2*/
7725 meltfnum[1] =
7726 (melt_magic_discr((melt_ptr_t)(/*_.F__V3*/ meltfptr[2])) == MELTOBMAG_CLOSURE);;
7727 MELT_LOCATION("warmelt-base.melt:1891:/ cond");
7728 /*cond*/
7729 if (/*_#IS_CLOSURE__L2*/ meltfnum[1]) /*then*/
7731 /*^cond.then*/
7732 /*^block*/
7733 /*anyblock*/
7736 /*citerblock FOREACH_IN_MAPSTRING*/
7738 /*foreach_in_mapstring meltcit1__EACHSTRMAP :*/ int meltcit1__EACHSTRMAP_ix=0, meltcit1__EACHSTRMAP_siz=0;
7739 for (meltcit1__EACHSTRMAP_ix=0;
7740 /* we retrieve in meltcit1__EACHSTRMAP_siz the size at each iteration since it could change. */
7741 meltcit1__EACHSTRMAP_ix>=0
7742 && (meltcit1__EACHSTRMAP_siz =
7743 melt_size_mapstrings((struct meltmapstrings_st*)/*_.MAP__V2*/ meltfptr[1])) > 0
7744 && meltcit1__EACHSTRMAP_ix < meltcit1__EACHSTRMAP_siz;
7745 meltcit1__EACHSTRMAP_ix++)
7747 const char* meltcit1__EACHSTRMAP_str = NULL;
7748 const char* meltcit1__EACHSTRMAP_nam = NULL;
7749 /*_.CURAT__V4*/
7750 meltfptr[3] = NULL;
7751 /*_.CURVAL__V5*/
7752 meltfptr[4] = NULL;
7753 meltcit1__EACHSTRMAP_str =
7754 ((struct meltmapstrings_st*)/*_.MAP__V2*/ meltfptr[1])->entab[meltcit1__EACHSTRMAP_ix].e_at;
7755 if (!meltcit1__EACHSTRMAP_str || meltcit1__EACHSTRMAP_str == HTAB_DELETED_ENTRY)
7756 continue; /*foreach_in_mapstring meltcit1__EACHSTRMAP inside before*/
7757 /*_.CURVAL__V5*/
7758 meltfptr[4] = ((struct meltmapstrings_st*)/*_.MAP__V2*/ meltfptr[1])->entab[meltcit1__EACHSTRMAP_ix].e_va;
7759 if (!/*_.CURVAL__V5*/ meltfptr[4])
7760 continue;
7761 if (melt_is_instance_of((melt_ptr_t) /*_.CURVAL__V5*/ meltfptr[4], (melt_ptr_t) MELT_PREDEF (CLASS_NAMED))
7762 && (/*_.CURAT__V4*/ meltfptr[3] = melt_object_nth_field ((melt_ptr_t) /*_.CURVAL__V5*/ meltfptr[4],
7763 MELTFIELD_NAMED_NAME)) != NULL
7764 && (meltcit1__EACHSTRMAP_nam =
7765 melt_string_str ((melt_ptr_t) /*_.CURAT__V4*/ meltfptr[3])) != (char*)0
7766 && !strcmp (meltcit1__EACHSTRMAP_nam, meltcit1__EACHSTRMAP_str))
7767 /*_.CURAT__V4*/ meltfptr[3] = /*_.CURAT__V4*/ meltfptr[3];
7768 else
7770 /*_.CURAT__V4*/ meltfptr[3] = NULL;
7771 /*_.CURAT__V4*/
7772 meltfptr[3] =
7773 meltgc_new_stringdup ((meltobject_ptr_t) MELT_PREDEF (DISCR_STRING),
7774 meltcit1__EACHSTRMAP_str);
7776 meltcit1__EACHSTRMAP_str = (const char*)0;
7777 meltcit1__EACHSTRMAP_nam = (const char*)0;
7782 MELT_CHECK_SIGNAL();
7784 MELT_LOCATION("warmelt-base.melt:1895:/ apply");
7785 /*apply*/
7787 union meltparam_un argtab[1];
7788 memset(&argtab, 0, sizeof(argtab));
7789 /*^apply.arg*/
7790 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.CURVAL__V5*/ meltfptr[4];
7791 /*_.F__V6*/
7792 meltfptr[5] = melt_apply ((meltclosure_ptr_t)(/*_.F__V3*/ meltfptr[2]), (melt_ptr_t)(/*_.CURAT__V4*/ meltfptr[3]), (MELTBPARSTR_PTR ""), argtab, "", (union meltparam_un*)0);
7795 /* end foreach_in_mapstring meltcit1__EACHSTRMAP */
7796 /*_.CURAT__V4*/
7797 meltfptr[3] = NULL;
7798 /*_.CURVAL__V5*/
7799 meltfptr[4] = NULL;
7802 /*citerepilog*/
7804 MELT_LOCATION("warmelt-base.melt:1892:/ clear");
7805 /*clear*/ /*_.CURAT__V4*/
7806 meltfptr[3] = 0 ;
7807 /*^clear*/
7808 /*clear*/ /*_.CURVAL__V5*/
7809 meltfptr[4] = 0 ;
7810 /*^clear*/
7811 /*clear*/ /*_.F__V6*/
7812 meltfptr[5] = 0 ;
7813 } /*endciterblock FOREACH_IN_MAPSTRING*/
7815 /*epilog*/
7818 } /*noelse*/
7820 /*epilog*/
7822 MELT_LOCATION("warmelt-base.melt:1890:/ clear");
7823 /*clear*/ /*_#IS_CLOSURE__L2*/
7824 meltfnum[1] = 0 ;
7827 } /*noelse*/
7829 /*epilog*/
7831 MELT_LOCATION("warmelt-base.melt:1886:/ clear");
7832 /*clear*/ /*_#IS_MAPSTRING__L1*/
7833 meltfnum[0] = 0 ;
7837 goto meltlabend_rout;
7838 meltlabend_rout:
7839 melt_trace_end("MAPSTRING_EVERY", meltcallcount);
7840 melt_blocklevel_signals = current_blocklevel_signals_meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY_melt;
7841 return (melt_ptr_t)(/*noretval*/ NULL);
7842 #undef meltcallcount
7843 #undef meltfram__
7844 #undef MELTFRAM_NBVARNUM
7845 #undef MELTFRAM_NBVARPTR
7846 } /*end meltrout_23_WARMELTmiBASE_MAPSTRING_EVERY*/
7853 melt_ptr_t MELT_MODULE_VISIBILITY
7854 meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
7855 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
7857 long current_blocklevel_signals_meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST_melt = melt_blocklevel_signals;
7859 #if MELT_HAVE_DEBUG
7860 static long melt_call_counter__;
7861 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
7862 #undef meltcallcount
7863 #define meltcallcount melt_thiscallcounter__
7864 #else
7865 #undef meltcallcount
7866 #define meltcallcount 0L
7867 #endif
7868 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
7870 /* start of frame for routine meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST fromline 1752 */
7872 /** start of frame for meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST of CLASS_PROCROUTINEOBJ from 1555**/
7874 /*curframdeclclassy*/ class MeltFrame_meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST// fromline 1568
7875 : public Melt_CallFrameWithValues<10>
7877 public: /* fromline 1572*/
7878 long mcfr_varnum[3];
7879 /*classy others*/
7880 long _meltsparel;
7881 void melt_mark_stuff (void)
7883 } /*end melt_mark_stuff*/
7884 virtual void melt_mark_ggc_data (void)
7886 melt_mark_values ();
7887 melt_mark_stuff ();
7888 }; /*end melt_mark_ggc_data*/
7889 MeltFrame_meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST(meltclosure_ptr_t clos) //the closure constructor fromline 1630
7890 : Melt_CallFrameWithValues<10> (
7891 #if ENABLE_CHECKING /*fromline 1634*/
7892 __FILE__, __LINE__,
7893 #endif /* ENABLE_CHECKING fromline 1638*/
7894 sizeof(MeltFrame_meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST), clos) {};
7895 MeltFrame_meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST() //the constructor fromline 1642
7896 : Melt_CallFrameWithValues<10> (
7897 #if ENABLE_CHECKING /*fromline 1646*/
7898 __FILE__, __LINE__,
7899 #endif /* ENABLE_CHECKING fromline 1650*/
7900 sizeof(MeltFrame_meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST)) {};
7901 #if ENABLE_CHECKING /*fromline 1654*/
7902 MeltFrame_meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST(const char*fil, int lin) //the constructor fromline 1656
7903 : Melt_CallFrameWithValues<10> (fil,lin, sizeof(MeltFrame_meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST)) {};
7904 MeltFrame_meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
7905 : Melt_CallFrameWithValues<10> (fil,lin, sizeof(MeltFrame_meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST), clos) {};
7906 #endif /* ENABLE_CHECKING fromline 1666*/
7908 }; // end class MeltFrame_meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST
7911 /** end of frame for meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST fromline 1697**/
7913 /* end of frame for routine meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST fromline 1756 */
7915 /* classy proc frame meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST */
7916 MeltFrame_meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST
7917 meltfram__ /*declfrastruct fromline 1780*/
7918 /*classyprocarg meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST fromline 1785*/
7919 #if ENABLE_CHECKING
7920 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
7921 #else /*ENABLE_CHECKING */
7922 (meltclosp_) /* fromline 1793*/
7923 #endif /*ENABLE_CHECKING */
7926 #define meltframe meltfram__
7928 melt_trace_start("MAPSTRING_ITERATE_TEST", meltcallcount);
7929 /*use arguments*/
7930 (void) meltclosp_;
7931 (void)meltfirstargp_;
7932 (void)meltxargdescr_;
7933 (void)meltxargtab_;
7934 (void)meltxresdescr_;
7935 (void)meltxrestab_;
7936 /*getargs*/
7938 /*getarg#0*/
7939 MELT_LOCATION("warmelt-base.melt:1899:/ getarg");
7940 /*_.MAP__V2*/
7941 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
7943 /*getarg#1*/
7944 /*^getarg*/
7945 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
7946 /*_.F__V3*/
7947 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
7948 gcc_assert(melt_discr((melt_ptr_t)(/*_.F__V3*/ meltfptr[2])) != NULL);
7951 goto meltlab_endgetargs;
7952 meltlab_endgetargs:
7954 /*body*/
7955 /*^block*/
7956 /*anyblock*/
7960 MELT_CHECK_SIGNAL();
7962 /*_#IS_MAPSTRING__L1*/
7963 meltfnum[0] =
7964 (melt_magic_discr((melt_ptr_t)(/*_.MAP__V2*/ meltfptr[1])) == MELTOBMAG_MAPSTRINGS);;
7965 MELT_LOCATION("warmelt-base.melt:1904:/ cond");
7966 /*cond*/
7967 if (/*_#IS_MAPSTRING__L1*/ meltfnum[0]) /*then*/
7969 /*^cond.then*/
7970 /*^block*/
7971 /*anyblock*/
7975 MELT_CHECK_SIGNAL();
7977 /*_#IS_CLOSURE__L2*/
7978 meltfnum[1] =
7979 (melt_magic_discr((melt_ptr_t)(/*_.F__V3*/ meltfptr[2])) == MELTOBMAG_CLOSURE);;
7980 MELT_LOCATION("warmelt-base.melt:1905:/ cond");
7981 /*cond*/
7982 if (/*_#IS_CLOSURE__L2*/ meltfnum[1]) /*then*/
7984 /*^cond.then*/
7985 /*^block*/
7986 /*anyblock*/
7989 /*citerblock FOREACH_IN_MAPSTRING*/
7991 /*foreach_in_mapstring meltcit1__EACHSTRMAP :*/ int meltcit1__EACHSTRMAP_ix=0, meltcit1__EACHSTRMAP_siz=0;
7992 for (meltcit1__EACHSTRMAP_ix=0;
7993 /* we retrieve in meltcit1__EACHSTRMAP_siz the size at each iteration since it could change. */
7994 meltcit1__EACHSTRMAP_ix>=0
7995 && (meltcit1__EACHSTRMAP_siz =
7996 melt_size_mapstrings((struct meltmapstrings_st*)/*_.MAP__V2*/ meltfptr[1])) > 0
7997 && meltcit1__EACHSTRMAP_ix < meltcit1__EACHSTRMAP_siz;
7998 meltcit1__EACHSTRMAP_ix++)
8000 const char* meltcit1__EACHSTRMAP_str = NULL;
8001 const char* meltcit1__EACHSTRMAP_nam = NULL;
8002 /*_.CURAT__V4*/
8003 meltfptr[3] = NULL;
8004 /*_.CURVAL__V5*/
8005 meltfptr[4] = NULL;
8006 meltcit1__EACHSTRMAP_str =
8007 ((struct meltmapstrings_st*)/*_.MAP__V2*/ meltfptr[1])->entab[meltcit1__EACHSTRMAP_ix].e_at;
8008 if (!meltcit1__EACHSTRMAP_str || meltcit1__EACHSTRMAP_str == HTAB_DELETED_ENTRY)
8009 continue; /*foreach_in_mapstring meltcit1__EACHSTRMAP inside before*/
8010 /*_.CURVAL__V5*/
8011 meltfptr[4] = ((struct meltmapstrings_st*)/*_.MAP__V2*/ meltfptr[1])->entab[meltcit1__EACHSTRMAP_ix].e_va;
8012 if (!/*_.CURVAL__V5*/ meltfptr[4])
8013 continue;
8014 if (melt_is_instance_of((melt_ptr_t) /*_.CURVAL__V5*/ meltfptr[4], (melt_ptr_t) MELT_PREDEF (CLASS_NAMED))
8015 && (/*_.CURAT__V4*/ meltfptr[3] = melt_object_nth_field ((melt_ptr_t) /*_.CURVAL__V5*/ meltfptr[4],
8016 MELTFIELD_NAMED_NAME)) != NULL
8017 && (meltcit1__EACHSTRMAP_nam =
8018 melt_string_str ((melt_ptr_t) /*_.CURAT__V4*/ meltfptr[3])) != (char*)0
8019 && !strcmp (meltcit1__EACHSTRMAP_nam, meltcit1__EACHSTRMAP_str))
8020 /*_.CURAT__V4*/ meltfptr[3] = /*_.CURAT__V4*/ meltfptr[3];
8021 else
8023 /*_.CURAT__V4*/ meltfptr[3] = NULL;
8024 /*_.CURAT__V4*/
8025 meltfptr[3] =
8026 meltgc_new_stringdup ((meltobject_ptr_t) MELT_PREDEF (DISCR_STRING),
8027 meltcit1__EACHSTRMAP_str);
8029 meltcit1__EACHSTRMAP_str = (const char*)0;
8030 meltcit1__EACHSTRMAP_nam = (const char*)0;
8035 MELT_CHECK_SIGNAL();
8037 MELT_LOCATION("warmelt-base.melt:1909:/ quasiblock");
8040 /*^multiapply*/
8041 /*multiapply 2args, 1x.res*/
8043 union meltparam_un argtab[1];
8045 union meltparam_un restab[1];
8046 memset(&restab, 0, sizeof(restab));
8047 memset(&argtab, 0, sizeof(argtab));
8048 /*^multiapply.arg*/
8049 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.CURVAL__V5*/ meltfptr[4];
8050 /*^multiapply.xres*/
8051 restab[0].meltbp_aptr = (melt_ptr_t*) &/*_.OTHER__V8*/ meltfptr[7];
8052 /*^multiapply.appl*/
8053 /*_.TEST__V7*/
8054 meltfptr[6] = melt_apply ((meltclosure_ptr_t)(/*_.F__V3*/ meltfptr[2]), (melt_ptr_t)(/*_.CURAT__V4*/ meltfptr[3]), (MELTBPARSTR_PTR ""), argtab, (MELTBPARSTR_PTR ""), restab);
8057 /*^quasiblock*/
8061 MELT_CHECK_SIGNAL();
8063 /*_#NULL__L3*/
8064 meltfnum[2] =
8065 (/*null*/(/*_.TEST__V7*/ meltfptr[6]) == NULL);;
8066 MELT_LOCATION("warmelt-base.melt:1912:/ cond");
8067 /*cond*/
8068 if (/*_#NULL__L3*/ meltfnum[2]) /*then*/
8070 /*^cond.then*/
8071 /*^block*/
8072 /*anyblock*/
8076 MELT_CHECK_SIGNAL();
8078 MELT_LOCATION("warmelt-base.melt:1913:/ quasiblock");
8081 /*_._RETVAL___V1*/
8082 meltfptr[0] = /*_.CURAT__V4*/ meltfptr[3];;
8083 MELT_LOCATION("warmelt-base.melt:1913:/ putxtraresult");
8084 if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout;
8085 if (meltxresdescr_[0] != MELTBPAR_PTR) goto meltlabend_rout;
8086 if (meltxrestab_[0].meltbp_aptr) *(meltxrestab_[0].meltbp_aptr) = (melt_ptr_t) (/*_.CURVAL__V5*/ meltfptr[4]);
8088 /*^putxtraresult*/
8089 if (!meltxrestab_ || !meltxresdescr_) goto meltlabend_rout;
8090 if (meltxresdescr_[1] != MELTBPAR_PTR) goto meltlabend_rout;
8091 if (meltxrestab_[1].meltbp_aptr) *(meltxrestab_[1].meltbp_aptr) = (melt_ptr_t) (/*_.OTHER__V8*/ meltfptr[7]);
8093 /*^finalreturn*/
8095 /*finalret*/
8096 goto meltlabend_rout ;
8097 /*_._IF___V9*/
8098 meltfptr[8] = /*_.RETURN___V10*/ meltfptr[9];;
8099 /*epilog*/
8101 MELT_LOCATION("warmelt-base.melt:1912:/ clear");
8102 /*clear*/ /*_.RETURN___V10*/
8103 meltfptr[9] = 0 ;
8107 else /*^cond.else*/
8110 /*_._IF___V9*/ meltfptr[8] = /*reallynil*/ NULL ;;
8113 /*^compute*/
8114 /*_.MULTI___V6*/
8115 meltfptr[5] = /*_._IF___V9*/ meltfptr[8];;
8117 MELT_LOCATION("warmelt-base.melt:1909:/ clear");
8118 /*clear*/ /*_#NULL__L3*/
8119 meltfnum[2] = 0 ;
8120 /*^clear*/
8121 /*clear*/ /*_._IF___V9*/
8122 meltfptr[8] = 0 ;
8124 /*^clear*/
8125 /*clear*/ /*_.OTHER__V8*/
8126 meltfptr[7] = 0 ;
8127 /* end foreach_in_mapstring meltcit1__EACHSTRMAP */
8128 /*_.CURAT__V4*/
8129 meltfptr[3] = NULL;
8130 /*_.CURVAL__V5*/
8131 meltfptr[4] = NULL;
8134 /*citerepilog*/
8136 MELT_LOCATION("warmelt-base.melt:1906:/ clear");
8137 /*clear*/ /*_.CURAT__V4*/
8138 meltfptr[3] = 0 ;
8139 /*^clear*/
8140 /*clear*/ /*_.CURVAL__V5*/
8141 meltfptr[4] = 0 ;
8142 /*^clear*/
8143 /*clear*/ /*_.MULTI___V6*/
8144 meltfptr[5] = 0 ;
8145 } /*endciterblock FOREACH_IN_MAPSTRING*/
8147 /*epilog*/
8150 } /*noelse*/
8152 /*epilog*/
8154 MELT_LOCATION("warmelt-base.melt:1904:/ clear");
8155 /*clear*/ /*_#IS_CLOSURE__L2*/
8156 meltfnum[1] = 0 ;
8159 } /*noelse*/
8161 /*epilog*/
8163 MELT_LOCATION("warmelt-base.melt:1899:/ clear");
8164 /*clear*/ /*_#IS_MAPSTRING__L1*/
8165 meltfnum[0] = 0 ;
8169 goto meltlabend_rout;
8170 meltlabend_rout:
8171 melt_trace_end("MAPSTRING_ITERATE_TEST", meltcallcount);
8172 melt_blocklevel_signals = current_blocklevel_signals_meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST_melt;
8173 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
8174 #undef meltcallcount
8175 #undef meltfram__
8176 #undef MELTFRAM_NBVARNUM
8177 #undef MELTFRAM_NBVARPTR
8178 } /*end meltrout_24_WARMELTmiBASE_MAPSTRING_ITERATE_TEST*/
8185 melt_ptr_t MELT_MODULE_VISIBILITY
8186 meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
8187 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
8189 long current_blocklevel_signals_meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY_melt = melt_blocklevel_signals;
8191 #if MELT_HAVE_DEBUG
8192 static long melt_call_counter__;
8193 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
8194 #undef meltcallcount
8195 #define meltcallcount melt_thiscallcounter__
8196 #else
8197 #undef meltcallcount
8198 #define meltcallcount 0L
8199 #endif
8200 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
8202 /* start of frame for routine meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY fromline 1752 */
8204 /** start of frame for meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY of CLASS_PROCROUTINEOBJ from 1555**/
8206 /*curframdeclclassy*/ class MeltFrame_meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY// fromline 1568
8207 : public Melt_CallFrameWithValues<5>
8209 public: /* fromline 1572*/
8210 long mcfr_varnum[3];
8211 /*classy others*/
8212 long _meltsparel;
8213 void melt_mark_stuff (void)
8215 } /*end melt_mark_stuff*/
8216 virtual void melt_mark_ggc_data (void)
8218 melt_mark_values ();
8219 melt_mark_stuff ();
8220 }; /*end melt_mark_ggc_data*/
8221 MeltFrame_meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY(meltclosure_ptr_t clos) //the closure constructor fromline 1630
8222 : Melt_CallFrameWithValues<5> (
8223 #if ENABLE_CHECKING /*fromline 1634*/
8224 __FILE__, __LINE__,
8225 #endif /* ENABLE_CHECKING fromline 1638*/
8226 sizeof(MeltFrame_meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY), clos) {};
8227 MeltFrame_meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY() //the constructor fromline 1642
8228 : Melt_CallFrameWithValues<5> (
8229 #if ENABLE_CHECKING /*fromline 1646*/
8230 __FILE__, __LINE__,
8231 #endif /* ENABLE_CHECKING fromline 1650*/
8232 sizeof(MeltFrame_meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY)) {};
8233 #if ENABLE_CHECKING /*fromline 1654*/
8234 MeltFrame_meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY(const char*fil, int lin) //the constructor fromline 1656
8235 : Melt_CallFrameWithValues<5> (fil,lin, sizeof(MeltFrame_meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY)) {};
8236 MeltFrame_meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
8237 : Melt_CallFrameWithValues<5> (fil,lin, sizeof(MeltFrame_meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY), clos) {};
8238 #endif /* ENABLE_CHECKING fromline 1666*/
8240 }; // end class MeltFrame_meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY
8243 /** end of frame for meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY fromline 1697**/
8245 /* end of frame for routine meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY fromline 1756 */
8247 /* classy proc frame meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY */
8248 MeltFrame_meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY
8249 meltfram__ /*declfrastruct fromline 1780*/
8250 /*classyprocarg meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY fromline 1785*/
8251 #if ENABLE_CHECKING
8252 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
8253 #else /*ENABLE_CHECKING */
8254 (meltclosp_) /* fromline 1793*/
8255 #endif /*ENABLE_CHECKING */
8258 #define meltframe meltfram__
8260 melt_trace_start("MULTIPLE_EVERY", meltcallcount);
8261 /*use arguments*/
8262 (void) meltclosp_;
8263 (void)meltfirstargp_;
8264 (void)meltxargdescr_;
8265 (void)meltxargtab_;
8266 (void)meltxresdescr_;
8267 (void)meltxrestab_;
8268 /*getargs*/
8270 /*getarg#0*/
8271 MELT_LOCATION("warmelt-base.melt:1948:/ getarg");
8272 /*_.TUP__V2*/
8273 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
8275 /*getarg#1*/
8276 /*^getarg*/
8277 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
8278 /*_.F__V3*/
8279 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
8280 gcc_assert(melt_discr((melt_ptr_t)(/*_.F__V3*/ meltfptr[2])) != NULL);
8283 goto meltlab_endgetargs;
8284 meltlab_endgetargs:
8286 /*body*/
8287 /*^block*/
8288 /*anyblock*/
8292 MELT_CHECK_SIGNAL();
8294 /*_#IS_MULTIPLE__L1*/
8295 meltfnum[0] =
8296 (melt_magic_discr((melt_ptr_t)(/*_.TUP__V2*/ meltfptr[1])) == MELTOBMAG_MULTIPLE);;
8297 MELT_LOCATION("warmelt-base.melt:1951:/ cond");
8298 /*cond*/
8299 if (/*_#IS_MULTIPLE__L1*/ meltfnum[0]) /*then*/
8301 /*^cond.then*/
8302 /*^block*/
8303 /*anyblock*/
8307 MELT_CHECK_SIGNAL();
8309 /*_#IS_CLOSURE__L2*/
8310 meltfnum[1] =
8311 (melt_magic_discr((melt_ptr_t)(/*_.F__V3*/ meltfptr[2])) == MELTOBMAG_CLOSURE);;
8312 MELT_LOCATION("warmelt-base.melt:1952:/ cond");
8313 /*cond*/
8314 if (/*_#IS_CLOSURE__L2*/ meltfnum[1]) /*then*/
8316 /*^cond.then*/
8317 /*^block*/
8318 /*anyblock*/
8321 /*citerblock FOREACH_IN_MULTIPLE*/
8323 /* start foreach_in_multiple meltcit1__EACHTUP */
8324 long meltcit1__EACHTUP_ln = melt_multiple_length((melt_ptr_t)/*_.TUP__V2*/ meltfptr[1]);
8325 for (/*_#IX__L3*/ meltfnum[2] = 0;
8326 (/*_#IX__L3*/ meltfnum[2] >= 0) && (/*_#IX__L3*/ meltfnum[2] < meltcit1__EACHTUP_ln);
8327 /*_#IX__L3*/ meltfnum[2]++)
8329 /*_.COMP__V4*/ meltfptr[3] = melt_multiple_nth((melt_ptr_t)(/*_.TUP__V2*/ meltfptr[1]), /*_#IX__L3*/ meltfnum[2]);
8334 MELT_CHECK_SIGNAL();
8336 MELT_LOCATION("warmelt-base.melt:1956:/ apply");
8337 /*apply*/
8339 union meltparam_un argtab[1];
8340 memset(&argtab, 0, sizeof(argtab));
8341 /*^apply.arg*/
8342 argtab[0].meltbp_long = /*_#IX__L3*/ meltfnum[2];
8343 /*_.F__V5*/
8344 meltfptr[4] = melt_apply ((meltclosure_ptr_t)(/*_.F__V3*/ meltfptr[2]), (melt_ptr_t)(/*_.COMP__V4*/ meltfptr[3]), (MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un*)0);
8347 if (/*_#IX__L3*/ meltfnum[2]<0) break;
8348 } /* end foreach_in_multiple meltcit1__EACHTUP */
8350 /*citerepilog*/
8352 MELT_LOCATION("warmelt-base.melt:1953:/ clear");
8353 /*clear*/ /*_.COMP__V4*/
8354 meltfptr[3] = 0 ;
8355 /*^clear*/
8356 /*clear*/ /*_#IX__L3*/
8357 meltfnum[2] = 0 ;
8358 /*^clear*/
8359 /*clear*/ /*_.F__V5*/
8360 meltfptr[4] = 0 ;
8361 } /*endciterblock FOREACH_IN_MULTIPLE*/
8363 /*epilog*/
8366 } /*noelse*/
8368 /*epilog*/
8370 MELT_LOCATION("warmelt-base.melt:1951:/ clear");
8371 /*clear*/ /*_#IS_CLOSURE__L2*/
8372 meltfnum[1] = 0 ;
8375 } /*noelse*/
8377 /*epilog*/
8379 MELT_LOCATION("warmelt-base.melt:1948:/ clear");
8380 /*clear*/ /*_#IS_MULTIPLE__L1*/
8381 meltfnum[0] = 0 ;
8385 goto meltlabend_rout;
8386 meltlabend_rout:
8387 melt_trace_end("MULTIPLE_EVERY", meltcallcount);
8388 melt_blocklevel_signals = current_blocklevel_signals_meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY_melt;
8389 return (melt_ptr_t)(/*noretval*/ NULL);
8390 #undef meltcallcount
8391 #undef meltfram__
8392 #undef MELTFRAM_NBVARNUM
8393 #undef MELTFRAM_NBVARPTR
8394 } /*end meltrout_25_WARMELTmiBASE_MULTIPLE_EVERY*/
8401 melt_ptr_t MELT_MODULE_VISIBILITY
8402 meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
8403 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
8405 long current_blocklevel_signals_meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY_melt = melt_blocklevel_signals;
8407 #if MELT_HAVE_DEBUG
8408 static long melt_call_counter__;
8409 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
8410 #undef meltcallcount
8411 #define meltcallcount melt_thiscallcounter__
8412 #else
8413 #undef meltcallcount
8414 #define meltcallcount 0L
8415 #endif
8416 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
8418 /* start of frame for routine meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY fromline 1752 */
8420 /** start of frame for meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY of CLASS_PROCROUTINEOBJ from 1555**/
8422 /*curframdeclclassy*/ class MeltFrame_meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY// fromline 1568
8423 : public Melt_CallFrameWithValues<5>
8425 public: /* fromline 1572*/
8426 long mcfr_varnum[3];
8427 /*classy others*/
8428 long _meltsparel;
8429 void melt_mark_stuff (void)
8431 } /*end melt_mark_stuff*/
8432 virtual void melt_mark_ggc_data (void)
8434 melt_mark_values ();
8435 melt_mark_stuff ();
8436 }; /*end melt_mark_ggc_data*/
8437 MeltFrame_meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY(meltclosure_ptr_t clos) //the closure constructor fromline 1630
8438 : Melt_CallFrameWithValues<5> (
8439 #if ENABLE_CHECKING /*fromline 1634*/
8440 __FILE__, __LINE__,
8441 #endif /* ENABLE_CHECKING fromline 1638*/
8442 sizeof(MeltFrame_meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY), clos) {};
8443 MeltFrame_meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY() //the constructor fromline 1642
8444 : Melt_CallFrameWithValues<5> (
8445 #if ENABLE_CHECKING /*fromline 1646*/
8446 __FILE__, __LINE__,
8447 #endif /* ENABLE_CHECKING fromline 1650*/
8448 sizeof(MeltFrame_meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY)) {};
8449 #if ENABLE_CHECKING /*fromline 1654*/
8450 MeltFrame_meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY(const char*fil, int lin) //the constructor fromline 1656
8451 : Melt_CallFrameWithValues<5> (fil,lin, sizeof(MeltFrame_meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY)) {};
8452 MeltFrame_meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
8453 : Melt_CallFrameWithValues<5> (fil,lin, sizeof(MeltFrame_meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY), clos) {};
8454 #endif /* ENABLE_CHECKING fromline 1666*/
8456 }; // end class MeltFrame_meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY
8459 /** end of frame for meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY fromline 1697**/
8461 /* end of frame for routine meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY fromline 1756 */
8463 /* classy proc frame meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY */
8464 MeltFrame_meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY
8465 meltfram__ /*declfrastruct fromline 1780*/
8466 /*classyprocarg meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY fromline 1785*/
8467 #if ENABLE_CHECKING
8468 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
8469 #else /*ENABLE_CHECKING */
8470 (meltclosp_) /* fromline 1793*/
8471 #endif /*ENABLE_CHECKING */
8474 #define meltframe meltfram__
8476 melt_trace_start("MULTIPLE_BACKWARD_EVERY", meltcallcount);
8477 /*use arguments*/
8478 (void) meltclosp_;
8479 (void)meltfirstargp_;
8480 (void)meltxargdescr_;
8481 (void)meltxargtab_;
8482 (void)meltxresdescr_;
8483 (void)meltxrestab_;
8484 /*getargs*/
8486 /*getarg#0*/
8487 MELT_LOCATION("warmelt-base.melt:1959:/ getarg");
8488 /*_.TUP__V2*/
8489 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
8491 /*getarg#1*/
8492 /*^getarg*/
8493 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
8494 /*_.F__V3*/
8495 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
8496 gcc_assert(melt_discr((melt_ptr_t)(/*_.F__V3*/ meltfptr[2])) != NULL);
8499 goto meltlab_endgetargs;
8500 meltlab_endgetargs:
8502 /*body*/
8503 /*^block*/
8504 /*anyblock*/
8508 MELT_CHECK_SIGNAL();
8510 /*_#IS_MULTIPLE__L1*/
8511 meltfnum[0] =
8512 (melt_magic_discr((melt_ptr_t)(/*_.TUP__V2*/ meltfptr[1])) == MELTOBMAG_MULTIPLE);;
8513 MELT_LOCATION("warmelt-base.melt:1962:/ cond");
8514 /*cond*/
8515 if (/*_#IS_MULTIPLE__L1*/ meltfnum[0]) /*then*/
8517 /*^cond.then*/
8518 /*^block*/
8519 /*anyblock*/
8523 MELT_CHECK_SIGNAL();
8525 /*_#IS_CLOSURE__L2*/
8526 meltfnum[1] =
8527 (melt_magic_discr((melt_ptr_t)(/*_.F__V3*/ meltfptr[2])) == MELTOBMAG_CLOSURE);;
8528 MELT_LOCATION("warmelt-base.melt:1963:/ cond");
8529 /*cond*/
8530 if (/*_#IS_CLOSURE__L2*/ meltfnum[1]) /*then*/
8532 /*^cond.then*/
8533 /*^block*/
8534 /*anyblock*/
8537 /*citerblock FOREACH_IN_MULTIPLE_BACKWARD*/
8539 /* start foreach_in_multiple_backward meltcit1__EACHTUPBACK */
8540 long meltcit1__EACHTUPBACK_ln = melt_multiple_length((melt_ptr_t)/*_.TUP__V2*/ meltfptr[1]);
8541 long meltcit1__EACHTUPBACK_ix = 0;
8542 for (meltcit1__EACHTUPBACK_ix = meltcit1__EACHTUPBACK_ln - 1;
8543 meltcit1__EACHTUPBACK_ix >= 0;
8544 meltcit1__EACHTUPBACK_ix--)
8546 /*_.COMP__V4*/ meltfptr[3] = melt_multiple_nth((melt_ptr_t)(/*_.TUP__V2*/ meltfptr[1]), meltcit1__EACHTUPBACK_ix);
8547 /*_#IX__L3*/
8548 meltfnum[2] = meltcit1__EACHTUPBACK_ix;
8552 MELT_CHECK_SIGNAL();
8554 MELT_LOCATION("warmelt-base.melt:1967:/ apply");
8555 /*apply*/
8557 union meltparam_un argtab[1];
8558 memset(&argtab, 0, sizeof(argtab));
8559 /*^apply.arg*/
8560 argtab[0].meltbp_long = /*_#IX__L3*/ meltfnum[2];
8561 /*_.F__V5*/
8562 meltfptr[4] = melt_apply ((meltclosure_ptr_t)(/*_.F__V3*/ meltfptr[2]), (melt_ptr_t)(/*_.COMP__V4*/ meltfptr[3]), (MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un*)0);
8565 } /* end foreach_in_multiple_backward meltcit1__EACHTUPBACK */
8567 /*citerepilog*/
8569 MELT_LOCATION("warmelt-base.melt:1964:/ clear");
8570 /*clear*/ /*_.COMP__V4*/
8571 meltfptr[3] = 0 ;
8572 /*^clear*/
8573 /*clear*/ /*_#IX__L3*/
8574 meltfnum[2] = 0 ;
8575 /*^clear*/
8576 /*clear*/ /*_.F__V5*/
8577 meltfptr[4] = 0 ;
8578 } /*endciterblock FOREACH_IN_MULTIPLE_BACKWARD*/
8580 /*epilog*/
8583 } /*noelse*/
8585 /*epilog*/
8587 MELT_LOCATION("warmelt-base.melt:1962:/ clear");
8588 /*clear*/ /*_#IS_CLOSURE__L2*/
8589 meltfnum[1] = 0 ;
8592 } /*noelse*/
8594 /*epilog*/
8596 MELT_LOCATION("warmelt-base.melt:1959:/ clear");
8597 /*clear*/ /*_#IS_MULTIPLE__L1*/
8598 meltfnum[0] = 0 ;
8602 goto meltlabend_rout;
8603 meltlabend_rout:
8604 melt_trace_end("MULTIPLE_BACKWARD_EVERY", meltcallcount);
8605 melt_blocklevel_signals = current_blocklevel_signals_meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY_melt;
8606 return (melt_ptr_t)(/*noretval*/ NULL);
8607 #undef meltcallcount
8608 #undef meltfram__
8609 #undef MELTFRAM_NBVARNUM
8610 #undef MELTFRAM_NBVARPTR
8611 } /*end meltrout_26_WARMELTmiBASE_MULTIPLE_BACKWARD_EVERY*/
8618 melt_ptr_t MELT_MODULE_VISIBILITY
8619 meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
8620 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
8622 long current_blocklevel_signals_meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH_melt = melt_blocklevel_signals;
8624 #if MELT_HAVE_DEBUG
8625 static long melt_call_counter__;
8626 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
8627 #undef meltcallcount
8628 #define meltcallcount melt_thiscallcounter__
8629 #else
8630 #undef meltcallcount
8631 #define meltcallcount 0L
8632 #endif
8633 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
8635 /* start of frame for routine meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH fromline 1752 */
8637 /** start of frame for meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH of CLASS_PROCROUTINEOBJ from 1555**/
8639 /*curframdeclclassy*/ class MeltFrame_meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH// fromline 1568
8640 : public Melt_CallFrameWithValues<13>
8642 public: /* fromline 1572*/
8643 long mcfr_varnum[10];
8644 /*classy others*/
8645 long _meltsparel;
8646 void melt_mark_stuff (void)
8648 } /*end melt_mark_stuff*/
8649 virtual void melt_mark_ggc_data (void)
8651 melt_mark_values ();
8652 melt_mark_stuff ();
8653 }; /*end melt_mark_ggc_data*/
8654 MeltFrame_meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH(meltclosure_ptr_t clos) //the closure constructor fromline 1630
8655 : Melt_CallFrameWithValues<13> (
8656 #if ENABLE_CHECKING /*fromline 1634*/
8657 __FILE__, __LINE__,
8658 #endif /* ENABLE_CHECKING fromline 1638*/
8659 sizeof(MeltFrame_meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH), clos) {};
8660 MeltFrame_meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH() //the constructor fromline 1642
8661 : Melt_CallFrameWithValues<13> (
8662 #if ENABLE_CHECKING /*fromline 1646*/
8663 __FILE__, __LINE__,
8664 #endif /* ENABLE_CHECKING fromline 1650*/
8665 sizeof(MeltFrame_meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH)) {};
8666 #if ENABLE_CHECKING /*fromline 1654*/
8667 MeltFrame_meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH(const char*fil, int lin) //the constructor fromline 1656
8668 : Melt_CallFrameWithValues<13> (fil,lin, sizeof(MeltFrame_meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH)) {};
8669 MeltFrame_meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
8670 : Melt_CallFrameWithValues<13> (fil,lin, sizeof(MeltFrame_meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH), clos) {};
8671 #endif /* ENABLE_CHECKING fromline 1666*/
8673 }; // end class MeltFrame_meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH
8676 /** end of frame for meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH fromline 1697**/
8678 /* end of frame for routine meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH fromline 1756 */
8680 /* classy proc frame meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH */
8681 MeltFrame_meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH
8682 meltfram__ /*declfrastruct fromline 1780*/
8683 /*classyprocarg meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH fromline 1785*/
8684 #if ENABLE_CHECKING
8685 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
8686 #else /*ENABLE_CHECKING */
8687 (meltclosp_) /* fromline 1793*/
8688 #endif /*ENABLE_CHECKING */
8691 #define meltframe meltfram__
8693 melt_trace_start("MULTIPLE_EVERY_BOTH", meltcallcount);
8694 /*use arguments*/
8695 (void) meltclosp_;
8696 (void)meltfirstargp_;
8697 (void)meltxargdescr_;
8698 (void)meltxargtab_;
8699 (void)meltxresdescr_;
8700 (void)meltxrestab_;
8701 /*getargs*/
8703 /*getarg#0*/
8704 MELT_LOCATION("warmelt-base.melt:1971:/ getarg");
8705 /*_.TUP1__V2*/
8706 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
8708 /*getarg#1*/
8709 /*^getarg*/
8710 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
8711 /*_.TUP2__V3*/
8712 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
8713 gcc_assert(melt_discr((melt_ptr_t)(/*_.TUP2__V3*/ meltfptr[2])) != NULL);
8716 /*getarg#2*/
8717 /*^getarg*/
8718 if (meltxargdescr_[1] != MELTBPAR_PTR) goto meltlab_endgetargs;
8719 /*_.F__V4*/
8720 meltfptr[3] = (meltxargtab_[1].meltbp_aptr) ? (*(meltxargtab_[1].meltbp_aptr)) : NULL;
8721 gcc_assert(melt_discr((melt_ptr_t)(/*_.F__V4*/ meltfptr[3])) != NULL);
8724 goto meltlab_endgetargs;
8725 meltlab_endgetargs:
8727 /*body*/
8728 /*^block*/
8729 /*anyblock*/
8733 MELT_CHECK_SIGNAL();
8735 /*_#IS_MULTIPLE__L1*/
8736 meltfnum[0] =
8737 (melt_magic_discr((melt_ptr_t)(/*_.TUP1__V2*/ meltfptr[1])) == MELTOBMAG_MULTIPLE);;
8738 MELT_LOCATION("warmelt-base.melt:1974:/ cond");
8739 /*cond*/
8740 if (/*_#IS_MULTIPLE__L1*/ meltfnum[0]) /*then*/
8742 /*^cond.then*/
8743 /*^block*/
8744 /*anyblock*/
8748 MELT_CHECK_SIGNAL();
8750 /*_#IS_MULTIPLE__L2*/
8751 meltfnum[1] =
8752 (melt_magic_discr((melt_ptr_t)(/*_.TUP2__V3*/ meltfptr[2])) == MELTOBMAG_MULTIPLE);;
8753 MELT_LOCATION("warmelt-base.melt:1975:/ cond");
8754 /*cond*/
8755 if (/*_#IS_MULTIPLE__L2*/ meltfnum[1]) /*then*/
8757 /*^cond.then*/
8758 /*^block*/
8759 /*anyblock*/
8763 MELT_CHECK_SIGNAL();
8765 /*_#IS_CLOSURE__L3*/
8766 meltfnum[2] =
8767 (melt_magic_discr((melt_ptr_t)(/*_.F__V4*/ meltfptr[3])) == MELTOBMAG_CLOSURE);;
8768 MELT_LOCATION("warmelt-base.melt:1976:/ cond");
8769 /*cond*/
8770 if (/*_#IS_CLOSURE__L3*/ meltfnum[2]) /*then*/
8772 /*^cond.then*/
8773 /*^block*/
8774 /*anyblock*/
8777 MELT_LOCATION("warmelt-base.melt:1977:/ quasiblock");
8780 /*_#LN1__L4*/
8781 meltfnum[3] =
8782 (melt_multiple_length((melt_ptr_t)(/*_.TUP1__V2*/ meltfptr[1])));;
8783 /*^compute*/
8784 /*_#LN2__L5*/
8785 meltfnum[4] =
8786 (melt_multiple_length((melt_ptr_t)(/*_.TUP2__V3*/ meltfptr[2])));;
8787 /*^compute*/
8788 /*_#IX__L6*/
8789 meltfnum[5] = 0;;
8790 MELT_LOCATION("warmelt-base.melt:1980:/ loop");
8791 /*loop*/
8793 meltlabloop_TUPLOOP_1:;/*^loopbody*/
8795 /*^block*/
8796 /*anyblock*/
8800 MELT_CHECK_SIGNAL();
8803 MELT_CHECK_SIGNAL();
8805 /*_#gteqI__L7*/
8806 meltfnum[6] =
8807 ((/*_#IX__L6*/ meltfnum[5]) >= (/*_#LN1__L4*/ meltfnum[3]));;
8808 MELT_LOCATION("warmelt-base.melt:1981:/ cond");
8809 /*cond*/
8810 if (/*_#gteqI__L7*/ meltfnum[6]) /*then*/
8812 /*^cond.then*/
8813 /*^block*/
8814 /*anyblock*/
8817 /*^quasiblock*/
8820 /*^compute*/
8821 /*_.TUPLOOP__V10*/ meltfptr[9] = /*reallynil*/ NULL ;;
8823 /*^exit*/
8824 /*exit*/
8826 goto meltlabexit_TUPLOOP_1;
8829 /*epilog*/
8832 } /*noelse*/
8835 MELT_CHECK_SIGNAL();
8837 /*_#gteqI__L8*/
8838 meltfnum[7] =
8839 ((/*_#IX__L6*/ meltfnum[5]) >= (/*_#LN2__L5*/ meltfnum[4]));;
8840 MELT_LOCATION("warmelt-base.melt:1982:/ cond");
8841 /*cond*/
8842 if (/*_#gteqI__L8*/ meltfnum[7]) /*then*/
8844 /*^cond.then*/
8845 /*^block*/
8846 /*anyblock*/
8849 /*^quasiblock*/
8852 /*^compute*/
8853 /*_.TUPLOOP__V10*/ meltfptr[9] = /*reallynil*/ NULL ;;
8855 /*^exit*/
8856 /*exit*/
8858 goto meltlabexit_TUPLOOP_1;
8861 /*epilog*/
8864 } /*noelse*/
8866 /*_.MULTIPLE_NTH__V11*/
8867 meltfptr[10] =
8868 (melt_multiple_nth((melt_ptr_t)(/*_.TUP1__V2*/ meltfptr[1]), (/*_#IX__L6*/ meltfnum[5])));;
8869 /*^compute*/
8870 /*_.MULTIPLE_NTH__V12*/
8871 meltfptr[11] =
8872 (melt_multiple_nth((melt_ptr_t)(/*_.TUP2__V3*/ meltfptr[2]), (/*_#IX__L6*/ meltfnum[5])));;
8874 MELT_CHECK_SIGNAL();
8876 MELT_LOCATION("warmelt-base.melt:1983:/ apply");
8877 /*apply*/
8879 union meltparam_un argtab[2];
8880 memset(&argtab, 0, sizeof(argtab));
8881 /*^apply.arg*/
8882 argtab[0].meltbp_aptr = (melt_ptr_t*) &/*_.MULTIPLE_NTH__V12*/ meltfptr[11];
8883 /*^apply.arg*/
8884 argtab[1].meltbp_long = /*_#IX__L6*/ meltfnum[5];
8885 /*_.F__V13*/
8886 meltfptr[12] = melt_apply ((meltclosure_ptr_t)(/*_.F__V4*/ meltfptr[3]), (melt_ptr_t)(/*_.MULTIPLE_NTH__V11*/ meltfptr[10]), (MELTBPARSTR_PTR MELTBPARSTR_LONG ""), argtab, "", (union meltparam_un*)0);
8889 /*_#plI__L9*/
8890 meltfnum[8] =
8891 ((/*_#IX__L6*/ meltfnum[5]) + (1));;
8892 MELT_LOCATION("warmelt-base.melt:1984:/ compute");
8893 /*_#IX__L6*/
8894 meltfnum[5] = /*_#SETQ___L10*/ meltfnum[9] = /*_#plI__L9*/ meltfnum[8];;
8896 MELT_CHECK_SIGNAL();
8898 /*epilog*/
8900 MELT_LOCATION("warmelt-base.melt:1980:/ clear");
8901 /*clear*/ /*_#gteqI__L7*/
8902 meltfnum[6] = 0 ;
8903 /*^clear*/
8904 /*clear*/ /*_#gteqI__L8*/
8905 meltfnum[7] = 0 ;
8906 /*^clear*/
8907 /*clear*/ /*_.MULTIPLE_NTH__V11*/
8908 meltfptr[10] = 0 ;
8909 /*^clear*/
8910 /*clear*/ /*_.MULTIPLE_NTH__V12*/
8911 meltfptr[11] = 0 ;
8912 /*^clear*/
8913 /*clear*/ /*_.F__V13*/
8914 meltfptr[12] = 0 ;
8915 /*^clear*/
8916 /*clear*/ /*_#plI__L9*/
8917 meltfnum[8] = 0 ;
8918 /*^clear*/
8919 /*clear*/ /*_#SETQ___L10*/
8920 meltfnum[9] = 0 ;
8924 goto meltlabloop_TUPLOOP_1;
8925 meltlabexit_TUPLOOP_1:;/*^loopepilog*/
8926 /*loopepilog*/
8927 /*_.FOREVER___V9*/
8928 meltfptr[8] = /*_.TUPLOOP__V10*/ meltfptr[9];;
8931 /*^compute*/
8932 /*_.LET___V8*/
8933 meltfptr[7] = /*_.FOREVER___V9*/ meltfptr[8];;
8935 MELT_LOCATION("warmelt-base.melt:1977:/ clear");
8936 /*clear*/ /*_#LN1__L4*/
8937 meltfnum[3] = 0 ;
8938 /*^clear*/
8939 /*clear*/ /*_#LN2__L5*/
8940 meltfnum[4] = 0 ;
8941 /*^clear*/
8942 /*clear*/ /*_#IX__L6*/
8943 meltfnum[5] = 0 ;
8944 /*^clear*/
8945 /*clear*/ /*_.FOREVER___V9*/
8946 meltfptr[8] = 0 ;
8947 /*_._IF___V7*/
8948 meltfptr[6] = /*_.LET___V8*/ meltfptr[7];;
8949 /*epilog*/
8951 MELT_LOCATION("warmelt-base.melt:1976:/ clear");
8952 /*clear*/ /*_.LET___V8*/
8953 meltfptr[7] = 0 ;
8957 else /*^cond.else*/
8960 /*_._IF___V7*/ meltfptr[6] = /*reallynil*/ NULL ;;
8963 /*^compute*/
8964 /*_._IF___V6*/
8965 meltfptr[5] = /*_._IF___V7*/ meltfptr[6];;
8966 /*epilog*/
8968 MELT_LOCATION("warmelt-base.melt:1975:/ clear");
8969 /*clear*/ /*_#IS_CLOSURE__L3*/
8970 meltfnum[2] = 0 ;
8971 /*^clear*/
8972 /*clear*/ /*_._IF___V7*/
8973 meltfptr[6] = 0 ;
8977 else /*^cond.else*/
8980 /*_._IF___V6*/ meltfptr[5] = /*reallynil*/ NULL ;;
8983 /*^compute*/
8984 /*_._IF___V5*/
8985 meltfptr[4] = /*_._IF___V6*/ meltfptr[5];;
8986 /*epilog*/
8988 MELT_LOCATION("warmelt-base.melt:1974:/ clear");
8989 /*clear*/ /*_#IS_MULTIPLE__L2*/
8990 meltfnum[1] = 0 ;
8991 /*^clear*/
8992 /*clear*/ /*_._IF___V6*/
8993 meltfptr[5] = 0 ;
8997 else /*^cond.else*/
9000 /*_._IF___V5*/ meltfptr[4] = /*reallynil*/ NULL ;;
9003 MELT_LOCATION("warmelt-base.melt:1971:/ quasiblock");
9006 /*_._RETVAL___V1*/
9007 meltfptr[0] = /*_._IF___V5*/ meltfptr[4];;
9010 MELT_LOCATION("warmelt-base.melt:1971:/ locexp");
9011 /*ochecknores compilobj_nrep_return*/
9012 #if MELT_HAVE_DEBUG
9013 if (meltxresdescr_ && meltxresdescr_[0] && meltxrestab_)
9014 melt_warn_for_no_expected_secondary_results();
9015 /* we warned when secondary results are expected but not returned. */
9016 #endif /*MELT_HAVE_DEBUG*/
9020 /*^finalreturn*/
9022 /*finalret*/
9023 goto meltlabend_rout ;
9024 /*epilog*/
9026 /*^clear*/
9027 /*clear*/ /*_#IS_MULTIPLE__L1*/
9028 meltfnum[0] = 0 ;
9029 /*^clear*/
9030 /*clear*/ /*_._IF___V5*/
9031 meltfptr[4] = 0 ;
9035 goto meltlabend_rout;
9036 meltlabend_rout:
9037 melt_trace_end("MULTIPLE_EVERY_BOTH", meltcallcount);
9038 melt_blocklevel_signals = current_blocklevel_signals_meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH_melt;
9039 return (melt_ptr_t)(/*_._RETVAL___V1*/ meltfptr[0]);
9040 #undef meltcallcount
9041 #undef meltfram__
9042 #undef MELTFRAM_NBVARNUM
9043 #undef MELTFRAM_NBVARPTR
9044 } /*end meltrout_27_WARMELTmiBASE_MULTIPLE_EVERY_BOTH*/
9051 melt_ptr_t MELT_MODULE_VISIBILITY
9052 meltrout_28_WARMELTmiBASE_SET_REFERENCE(meltclosure_ptr_t meltclosp_, melt_ptr_t meltfirstargp_, const melt_argdescr_cell_t meltxargdescr_[], union meltparam_un *meltxargtab_,
9053 const melt_argdescr_cell_t meltxresdescr_[], union meltparam_un *meltxrestab_)
9055 long current_blocklevel_signals_meltrout_28_WARMELTmiBASE_SET_REFERENCE_melt = melt_blocklevel_signals;
9057 #if MELT_HAVE_DEBUG
9058 static long melt_call_counter__;
9059 long melt_thiscallcounter__ ATTRIBUTE_UNUSED = ++ melt_call_counter__;
9060 #undef meltcallcount
9061 #define meltcallcount melt_thiscallcounter__
9062 #else
9063 #undef meltcallcount
9064 #define meltcallcount 0L
9065 #endif
9066 //// emitted by output_curframe_declstruct_init using OUTPUT_CURFRAME_DECLSTRUCT @warmelt-outobj.melt:1538
9068 /* start of frame for routine meltrout_28_WARMELTmiBASE_SET_REFERENCE fromline 1752 */
9070 /** start of frame for meltrout_28_WARMELTmiBASE_SET_REFERENCE of CLASS_PROCROUTINEOBJ from 1555**/
9072 /*curframdeclclassy*/ class MeltFrame_meltrout_28_WARMELTmiBASE_SET_REFERENCE// fromline 1568
9073 : public Melt_CallFrameWithValues<3>
9075 public: /* fromline 1572*/
9076 // no classy longs
9077 /*classy others*/
9078 long _meltsparel;
9079 void melt_mark_stuff (void)
9081 } /*end melt_mark_stuff*/
9082 virtual void melt_mark_ggc_data (void)
9084 melt_mark_values ();
9085 melt_mark_stuff ();
9086 }; /*end melt_mark_ggc_data*/
9087 MeltFrame_meltrout_28_WARMELTmiBASE_SET_REFERENCE(meltclosure_ptr_t clos) //the closure constructor fromline 1630
9088 : Melt_CallFrameWithValues<3> (
9089 #if ENABLE_CHECKING /*fromline 1634*/
9090 __FILE__, __LINE__,
9091 #endif /* ENABLE_CHECKING fromline 1638*/
9092 sizeof(MeltFrame_meltrout_28_WARMELTmiBASE_SET_REFERENCE), clos) {};
9093 MeltFrame_meltrout_28_WARMELTmiBASE_SET_REFERENCE() //the constructor fromline 1642
9094 : Melt_CallFrameWithValues<3> (
9095 #if ENABLE_CHECKING /*fromline 1646*/
9096 __FILE__, __LINE__,
9097 #endif /* ENABLE_CHECKING fromline 1650*/
9098 sizeof(MeltFrame_meltrout_28_WARMELTmiBASE_SET_REFERENCE)) {};
9099 #if ENABLE_CHECKING /*fromline 1654*/
9100 MeltFrame_meltrout_28_WARMELTmiBASE_SET_REFERENCE(const char*fil, int lin) //the constructor fromline 1656
9101 : Melt_CallFrameWithValues<3> (fil,lin, sizeof(MeltFrame_meltrout_28_WARMELTmiBASE_SET_REFERENCE)) {};
9102 MeltFrame_meltrout_28_WARMELTmiBASE_SET_REFERENCE(const char*fil, int lin, meltclosure_ptr_t clos) //the closure constructor fromline 1661
9103 : Melt_CallFrameWithValues<3> (fil,lin, sizeof(MeltFrame_meltrout_28_WARMELTmiBASE_SET_REFERENCE), clos) {};
9104 #endif /* ENABLE_CHECKING fromline 1666*/
9106 }; // end class MeltFrame_meltrout_28_WARMELTmiBASE_SET_REFERENCE
9109 /** end of frame for meltrout_28_WARMELTmiBASE_SET_REFERENCE fromline 1697**/
9111 /* end of frame for routine meltrout_28_WARMELTmiBASE_SET_REFERENCE fromline 1756 */
9113 /* classy proc frame meltrout_28_WARMELTmiBASE_SET_REFERENCE */
9114 MeltFrame_meltrout_28_WARMELTmiBASE_SET_REFERENCE
9115 meltfram__ /*declfrastruct fromline 1780*/
9116 /*classyprocarg meltrout_28_WARMELTmiBASE_SET_REFERENCE fromline 1785*/
9117 #if ENABLE_CHECKING
9118 (__FILE__, __LINE__, meltclosp_) /* fromline 1789*/
9119 #else /*ENABLE_CHECKING */
9120 (meltclosp_) /* fromline 1793*/
9121 #endif /*ENABLE_CHECKING */
9124 #define meltframe meltfram__
9126 melt_trace_start("SET_REFERENCE", meltcallcount);
9127 /*use arguments*/
9128 (void) meltclosp_;
9129 (void)meltfirstargp_;
9130 (void)meltxargdescr_;
9131 (void)meltxargtab_;
9132 (void)meltxresdescr_;
9133 (void)meltxrestab_;
9134 /*getargs*/
9136 /*getarg#0*/
9137 MELT_LOCATION("warmelt-base.melt:2053:/ getarg");
9138 /*_.R__V2*/
9139 meltfptr[1] = (melt_ptr_t) meltfirstargp_;
9141 /*getarg#1*/
9142 /*^getarg*/
9143 if (meltxargdescr_[0] != MELTBPAR_PTR) goto meltlab_endgetargs;
9144 /*_.V__V3*/
9145 meltfptr[2] = (meltxargtab_[0].meltbp_aptr) ? (*(meltxargtab_[0].meltbp_aptr)) : NULL;
9146 gcc_assert(melt_discr((melt_ptr_t)(/*_.V__V3*/ meltfptr[2])) != NULL);
9149 goto meltlab_endgetargs;
9150 meltlab_endgetargs:
9152 /*body*/
9153 /*^block*/
9154 /*anyblock*/
9158 MELT_CHECK_SIGNAL();
9160 MELT_LOCATION("warmelt-base.melt:2056:/ cond");
9161 /*cond*/
9162 if (
9163 /*ifisa*/ melt_is_instance_of((melt_ptr_t)(/*_.R__V2*/ meltfptr[1]),
9164 (melt_ptr_t)((/*!CLASS_REFERENCE*/ meltfrout->tabval[0])))
9165 ) /*then*/
9167 /*^cond.then*/
9168 /*^block*/
9169 /*anyblock*/
9172 /*^putslot*/
9173 /*putslot*/
9174 melt_assertmsg("checkobj putslot _ @REFERENCED_VALUE", melt_magic_discr((melt_ptr_t)(/*_.R__V2*/ meltfptr[1])) == MELTOBMAG_OBJECT);
9175 melt_putfield_object((/*_.R__V2*/ meltfptr[1]), (0), (/*_.V__V3*/ meltfptr[2]), "REFERENCED_VALUE");
9177 /*^touch*/
9178 meltgc_touch(/*_.R__V2*/ meltfptr[1]);
9180 /*^touchobj*/
9182 melt_dbgtrace_written_object (/*_.R__V2*/ meltfptr[1], "put-fields");
9184 /*epilog*/
9187 } /*noelse*/
9189 /*epilog*/
9193 goto meltlabend_rout;
9194 meltlabend_rout:
9195 melt_trace_end("SET_REFERENCE", meltcallcount);
9196 melt_blocklevel_signals = current_blocklevel_signals_meltrout_28_WARMELTmiBASE_SET_REFERENCE_melt;
9197 return (melt_ptr_t)(/*noretval*/ NULL);
9198 #undef meltcallcount
9199 #undef meltfram__
9200 #undef MELTFRAM_NBVARNUM
9201 #undef MELTFRAM_NBVARPTR
9202 } /*end meltrout_28_WARMELTmiBASE_SET_REFERENCE*/
9207 /**** end of warmelt-base+01.cc ****/