/* Compiler: ECL 26.3.27                                                      */
/* Source: /build/ecl/src/ecl-26.3.27/src/cmp/cmpbackend-cxx/cmppass2-special.lsp */
#include <ecl/ecl-cmp.h>
#include "cmp/cmppass2-special.eclh"
/* function definition for C2COMPILER-LET                                     */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3824c2compiler_let(cl_object v1c1form, cl_object v2symbols, cl_object v3values, cl_object v4body)
{
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 {
  cl_object v6, v7; cl_index v5;
  v6 = v2symbols;
  v7 = v3values;
  v5 = ecl_progv(cl_env_copy, v6, v7);
  value0 = (cl_env_copy->function=ecl_fdefinition(VV[1]))->cfun.entry(1, v4body) /*  C2EXPR */;
  ecl_bds_unwind(cl_env_copy,v5);
  return value0;
 }
}
static cl_object L3824c2compiler_let_va(cl_narg narg, cl_object v5c1form, cl_object v6symbols, cl_object v7values, cl_object v8body, ...)
{
 if (ecl_unlikely(narg!=4)) FEwrong_num_arguments(VV[0]);
 {
  return L3824c2compiler_let(v5c1form, v6symbols, v7values, v8body);
 }
}
/* function definition for C2FUNCTION                                         */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L3825c2function(cl_object v1c1form, cl_object v2fname)
{
 cl_object T0;
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 T0 = cl_list(2, ECL_SYM("FDEFINITION",351), v2fname);
 value0 = (cl_env_copy->function=ecl_fdefinition(VV[4]))->cfun.entry(1, T0) /*  UNWIND-EXIT */;
 return value0;
}
static cl_object L3825c2function_va(cl_narg narg, cl_object v3c1form, cl_object v4fname, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[3]);
 {
  return L3825c2function(v3c1form, v4fname);
 }
}
#include "cmp/cmppass2-special.data"
#ifdef __cplusplus
extern "C"
#endif

ECL_DLLEXPORT void _eclnK4Y3Y5TjTQm9_HVa0M881(cl_object flag)
{
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 cl_object *VVtemp;
 if (flag != OBJNULL){
 Cblock = flag;
 #ifndef ECL_DYNAMIC_VV
 flag->cblock.data = VV;
 #endif
 flag->cblock.data_size = VM;
 flag->cblock.temp_data_size = VMtemp;
 flag->cblock.data_text = compiler_data_text;
 flag->cblock.cfuns_size = compiler_cfuns_size;
 flag->cblock.cfuns = compiler_cfuns;
 flag->cblock.source = ecl_make_constant_base_string("SRC:CMP;CMPBACKEND-CXX;CMPPASS2-SPECIAL.LSP.NEWEST",-1);
 return;}
 #ifdef ECL_DYNAMIC_VV
 VV = Cblock->cblock.data;
 #endif
 Cblock->cblock.data_text = (const cl_object *)"@EcLtAg:_eclnK4Y3Y5TjTQm9_HVa0M881@";
 VVtemp = Cblock->cblock.temp_data;
 ECL_DEFINE_SETF_FUNCTIONS
/* MAKE-LOAD-FORMs                                                            */
/* TOP-LEVEL-FORMs                                                            */
  si_select_package(_ecl_static_0);
  ecl_cmp_defun(VV[6]);                           /*  C2COMPILER-LET          */
  ecl_cmp_defun(VV[7]);                           /*  C2FUNCTION              */
}
