pike.git/src/docode.c:723: Inside #if defined(PIKE_DEBUG)
get_name_of_type(id->run_time_type),
id->run_time_type);
}
#endif /* PIKE_DEBUG */
f = ((INT32 *)(inh->prog->program + id->func.offset))[1];
if (f == -1) {
yywarning("Variable %S lacks a setter.", id->name);
} else if (!level) {
f += inh->identifier_level;
emit0(F_MARK);
+ PUSH_CLEANUP_FRAME(do_pop_mark, 0);
code_expression(val, 0, "RHS");
emit_multi_assign(vals, vars, no+1);
emit1(F_CALL_LFUN, f);
-
+ POP_AND_DONT_CLEANUP;
emit0(F_POP_VALUE);
}
}
}
/* FALL_THROUGH */
case F_EXTERNAL:
/* Check that it is in this context */
if(Pike_compiler ->new_program->id == var->u.integer.a)
{
/* Check that it is a variable */
pike.git/src/docode.c:1276: Inside #if defined(PIKE_DEBUG)
id->identifier_flags,
get_name_of_type(id->run_time_type),
id->run_time_type);
}
#endif /* PIKE_DEBUG */
f = ((INT32 *)(inh->prog->program + id->func.offset))[1];
if (f == -1) {
yywarning("Variable %S lacks a setter.", id->name);
} else if (!level) {
f += inh->identifier_level;
+ PUSH_CLEANUP_FRAME(do_pop_mark, 0);
if (flags & DO_POP) {
emit0(F_MARK);
code_expression(CAR(n), 0, "RHS");
} else {
code_expression(CAR(n), 0, "RHS");
emit0(F_MARK);
emit0(F_DUP);
}
emit1(F_CALL_LFUN, f);
-
+ POP_AND_DONT_CLEANUP;
emit0(F_POP_VALUE);
return !(flags & DO_POP);
}
}
}
/* FALL_THROUGH */
case F_EXTERNAL:
/* Check that it is in this context */
if(Pike_compiler ->new_program->id == CDR(n)->u.integer.a)
{