ref: 971c825d05531e609d340225327527040a658f0f
parent: f1cee29eb08319cf970b8777a8fcd57b111bfad5
author: Roberto E. Vargas Caballero <[email protected]>
date: Sat Aug 9 07:43:22 EDT 2014
Fix emition of end of preambule The saved value of IX was not restored from the stack.
--- a/cc2/cgen.c
+++ b/cc2/cgen.c
@@ -34,8 +34,9 @@
"\tLD\tSP,HL\n", sym->u.f.name, -sym->u.f.stack);
return;
case EFUN:
- printf("\tLD\tSP,IX\n"
- "\tRET\n");
+ puts("\tLD\tSP,IX\n"
+ "\tPOP\tIX\n"
+ "\tRET");
return;
default:
fputs("internal error: incorrect emit\n", stderr);