(write_tree): For type SPLIT, check subroutine return

values for non-zero value not positive value.

From-SVN: r2523
This commit is contained in:
Richard Stallman 1992-10-20 07:51:30 +00:00
parent d3c738e1ce
commit 71bde1f321
1 changed files with 4 additions and 1 deletions

View File

@ -1521,7 +1521,10 @@ write_tree (tree, prevpos, afterward, initial, type)
{
printf (" tem = %s_%d (x0, insn%s);\n",
name_prefix, tree->subroutine_number, call_suffix);
printf (" if (tem >= 0) return tem;\n");
if (type == SPLIT)
printf (" if (tem != 0) return tem;\n");
else
printf (" if (tem >= 0) return tem;\n");
change_state (tree->position, afterward->position, 2);
printf (" goto L%d;\n", afterward->number);
}