From 7c5fc26081edabb4dfb2a6be5ea2bb5a3ff7af56 Mon Sep 17 00:00:00 2001 From: "Wolfgang (Blub) Bumiller" Date: Wed, 19 Dec 2012 20:40:45 +0100 Subject: [PATCH] NRCALL now sets block->final and block->is_return --- ir.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ir.c b/ir.c index 009cf76..48cc067 100644 --- a/ir.c +++ b/ir.c @@ -1581,6 +1581,10 @@ ir_instr* ir_block_create_call(ir_block *self, lex_ctx ctx, const char *label, i in = ir_instr_new(ctx, self, (noreturn ? VINSTR_NRCALL : INSTR_CALL0)); if (!in) return NULL; + if (noreturn) { + self->final = true; + self->is_return = true; + } out = ir_value_out(self->owner, label, (func->outtype == TYPE_VOID) ? store_return : store_value, func->outtype); if (!out) { ir_instr_delete(in); -- 2.39.2