From: Muh Muhten Date: Tue, 26 Feb 2019 02:55:15 +0000 (-0500) Subject: Fix block flipping in block_drop_unreferenced X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8537b93a4301ecac98fb7dad92bba9cfd17a1f37;p=jq 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. --- diff --git a/src/compile.c b/src/compile.c index 75929aa..6592b97 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;