From 8537b93a4301ecac98fb7dad92bba9cfd17a1f37 Mon Sep 17 00:00:00 2001 From: Muh Muhten Date: Mon, 25 Feb 2019 21:55:15 -0500 Subject: [PATCH] Fix block flipping in block_drop_unreferenced Since 605bfb3, block_drop_unreferenced actually reverses the order of instructions in the block it's run against. This bug was hidden by the fact that normally it's run *twice* against the main program, flipping it back, and that order of function definitionss doesn't really matter after symbol resolution. --- src/compile.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compile.c b/src/compile.c index 75929aa9..6592b97e 100644 --- a/src/compile.c +++ b/src/compile.c @@ -503,7 +503,7 @@ block block_drop_unreferenced(block body) { if (curr->bound_by == curr && !curr->referenced) { inst_free(curr); } else { - refd = BLOCK(inst_block(curr), refd); + refd = BLOCK(refd, inst_block(curr)); } } return refd;