From bf267d02385594be6175f94ae7d73275597b7f73 Mon Sep 17 00:00:00 2001 From: "Wolfgang (Blub) Bumiller" Date: Wed, 19 Dec 2012 20:39:44 +0100 Subject: [PATCH] ir_block_create_{phi,call} now check self->final --- ir.c | 8 ++++++++ 1 file changed, 8 insertions(+) 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; -- 2.39.2