aboutsummaryrefslogtreecommitdiffhomepage
path: root/x86_64
diff options
context:
space:
mode:
Diffstat (limited to 'x86_64')
-rw-r--r--x86_64/emit.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/x86_64/emit.c b/x86_64/emit.c
index 4a9d9d9..13121b3 100644
--- a/x86_64/emit.c
+++ b/x86_64/emit.c
@@ -1339,7 +1339,12 @@ emitbin(struct function *fn)
exit = blk;
continue;
} else {
- useblk(fn, exit = newblk(fn));
+ exit = newblk(fn);
+ exit->lnext = blk->lnext;
+ exit->lprev = blk;
+ blk->lnext = exit;
+ exit->lnext->lprev = exit;
+ exit->id = fn->nblk++;
exit->jmp.t = Jret;
}
}