Browse Source

add Bx for default RET ins

lyon 4 years ago
parent
commit
6d0a43aa80
2 changed files with 5 additions and 0 deletions
  1. 4 0
      port/linux/api-make-linux.sh
  2. 1 0
      port/linux/update-compiler.sh

+ 4 - 0
port/linux/api-make-linux.sh

@@ -723,6 +723,7 @@ TEST(parser, def_add) {
     "1 REF a\n"
     "1 REF b\n"
     "0 OPT +\n"
+    "B1\n"
     "0 RET\n"
     "B0\n"
     );
@@ -750,6 +751,7 @@ TEST(parser, def_add_return) {
     "1 REF b\n"
     "0 OPT +\n"
     "0 RET\n"
+    "B1\n"
     "0 RET\n"
     "B0\n"
     );
@@ -783,6 +785,7 @@ TEST(parser, def_while_return) {
     "0 RET\n"
     "B1\n"
     "0 JMP -1\n"
+    "B1\n"
     "0 RET\n"
     "B0\n"
     );
@@ -813,6 +816,7 @@ TEST(parser, def_while_return_void) {
     "0 RET\n"
     "B1\n"
     "0 JMP -1\n"
+    "B1\n"
     "0 RET\n"
     "B0\n"
     );

+ 1 - 0
port/linux/update-compiler.sh

@@ -1159,6 +1159,7 @@ char* AST_toPikaAsm(AST* ast, Args* buffs) {
             }
             /* return when exit method */
             if (strEqu(blockType, "def")) {
+                pikaAsm = ASM_addBlockDeepth(ast, buffs, pikaAsm, 1);
                 pikaAsm = strsAppend(buffs, pikaAsm, (char*)"0 RET\n");
             }
         }