X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=ir.c;h=5e885872876327ea17a9325b79a4a527800d9d67;hp=09fa186a2f83b0300af949b3c1ed021cec682ff3;hb=b39a748984064f4eea79a082caa1fe1151f20622;hpb=ce23e95d0bd6b1d7a0c25d8fb2982cb267d57989 diff --git a/ir.c b/ir.c index 09fa186..5e88587 100644 --- a/ir.c +++ b/ir.c @@ -2584,7 +2584,8 @@ bool ir_function_calculate_liferanges(ir_function *self) /* parameters live at 0 */ for (i = 0; i < vec_size(self->params); ++i) - ir_value_life_merge(self->locals[i], 0); + if (!ir_value_life_merge(self->locals[i], 0)) + compile_error(self->context, "internal error: failed value-life merging"); do { self->run_id++; @@ -3779,7 +3780,7 @@ void ir_function_dump(ir_function *f, char *ind, return; } oprintf("%sfunction %s\n", ind, f->name); - strncat(ind, "\t", IND_BUFSZ); + strncat(ind, "\t", IND_BUFSZ-1); if (vec_size(f->locals)) { oprintf("%s%i locals:\n", ind, (int)vec_size(f->locals)); @@ -3875,7 +3876,7 @@ void ir_block_dump(ir_block* b, char *ind, { size_t i; oprintf("%s:%s\n", ind, b->label); - strncat(ind, "\t", IND_BUFSZ); + strncat(ind, "\t", IND_BUFSZ-1); if (b->instr && b->instr[0]) oprintf("%s (%i) [entry]\n", ind, (int)(b->instr[0]->eid-1)); @@ -3909,7 +3910,7 @@ void ir_instr_dump(ir_instr *in, char *ind, return; } - strncat(ind, "\t", IND_BUFSZ); + strncat(ind, "\t", IND_BUFSZ-1); if (in->_ops[0] && (in->_ops[1] || in->_ops[2])) { ir_value_dump(in->_ops[0], oprintf);