diff options
| author | 2025-11-23 12:02:27 +0100 | |
|---|---|---|
| committer | 2025-11-23 15:29:55 +0100 | |
| commit | 1f72464c6451fcff16180d00af537225acc9b83c (patch) | |
| tree | 3ea1d99164f990fb2ce331abbf44de2a0db48f25 /ir/ir.c | |
| parent | f4488e9153a4ead6f427902237cca93c67fec2bd (diff) | |
implement float varargs, and some other fixes
Diffstat (limited to 'ir/ir.c')
| -rw-r--r-- | ir/ir.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -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; } |