Generate extparams on calls too since the to-be-called function needs not be generated first after all

This commit is contained in:
Wolfgang (Blub) Bumiller 2012-12-01 11:43:54 +01:00
parent b966cd4f4d
commit 624e95ee03

11
ir.c
View file

@ -193,6 +193,11 @@ uint16_t type_not_instr[TYPE_COUNT] = {
AINSTR_END, /* array */
};
/* protos */
static void ir_gen_extparam(ir_builder *ir);
/* error functions */
static void irerror(lex_ctx ctx, const char *msg, ...)
{
va_list ap;
@ -2671,10 +2676,8 @@ tailcall:
ir_value *param = instr->params[p];
ir_value *targetparam;
if (p-8 >= vec_size(ir->extparams)) {
irerror(instr->context, "Not enough extparam-globals have been created");
return false;
}
if (p-8 >= vec_size(ir->extparams))
ir_gen_extparam(ir);
targetparam = ir->extparams[p-8];