From: Wolfgang (Blub) Bumiller Date: Wed, 19 Dec 2012 19:39:44 +0000 (+0100) Subject: ir_block_create_{phi,call} now check self->final X-Git-Tag: 0.1.9~41 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=bf267d02385594be6175f94ae7d73275597b7f73;p=xonotic%2Fgmqcc.git ir_block_create_{phi,call} now check self->final --- diff --git a/ir.c b/ir.c index 411fcdc..009cf76 100644 --- a/ir.c +++ b/ir.c @@ -1525,6 +1525,10 @@ ir_instr* ir_block_create_phi(ir_block *self, lex_ctx ctx, const char *label, in { ir_value *out; ir_instr *in; + if (self->final) { + irerror(self->context, "unreachable statement (%s)", self->label); + return false; + } in = ir_instr_new(ctx, self, VINSTR_PHI); if (!in) return NULL; @@ -1570,6 +1574,10 @@ ir_instr* ir_block_create_call(ir_block *self, lex_ctx ctx, const char *label, i { ir_value *out; ir_instr *in; + if (self->final) { + irerror(self->context, "unreachable statement (%s)", self->label); + return false; + } in = ir_instr_new(ctx, self, (noreturn ? VINSTR_NRCALL : INSTR_CALL0)); if (!in) return NULL;