From 1f72464c6451fcff16180d00af537225acc9b83c Mon Sep 17 00:00:00 2001 From: lemon Date: Sun, 23 Nov 2025 12:02:27 +0100 Subject: implement float varargs, and some other fixes --- ir/ir.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'ir/ir.c') diff --git a/ir/ir.c b/ir/ir.c index 3b37405..412d0f9 100644 --- a/ir/ir.c +++ b/ir/ir.c @@ -326,7 +326,7 @@ blksplitafter(struct function *fn, struct block *blk, int idx) memset(blk->jmp.arg, 0, sizeof blk->jmp.arg); for (int i = 0; i < 2; ++i) { struct block *s = (&blk->s1)[i]; - for (int i = 0; i < s->npred; ++i) { + if (s) for (int i = 0; i < s->npred; ++i) { if (blkpred(s, i) == blk) blkpred(s, i) = new; } @@ -334,6 +334,7 @@ blksplitafter(struct function *fn, struct block *blk, int idx) new->s1 = blk->s1, new->s2 = blk->s2; blk->s1 = new, blk->s2 = NULL; addpred(new, blk); + fn->prop &= ~FNUSE; return new; } -- cgit v1.2.3