diff options
author | Richard Stallman <rms@gnu.org> | 1992-10-20 07:51:30 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1992-10-20 07:51:30 +0000 |
commit | 71bde1f321ed9cb0e5c8289a95bb5d4bce502413 (patch) | |
tree | a66cf10c5b7dd4a9e4209f6e84fc84088ea6aada /gcc/genrecog.c | |
parent | d3c738e1ce76595c6cd939e090f6c09737c49f58 (diff) | |
download | gcc-71bde1f321ed9cb0e5c8289a95bb5d4bce502413.zip gcc-71bde1f321ed9cb0e5c8289a95bb5d4bce502413.tar.gz gcc-71bde1f321ed9cb0e5c8289a95bb5d4bce502413.tar.bz2 |
(write_tree): For type SPLIT, check subroutine return
values for non-zero value not positive value.
From-SVN: r2523
Diffstat (limited to 'gcc/genrecog.c')
-rw-r--r-- | gcc/genrecog.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/genrecog.c b/gcc/genrecog.c index d8b64a3..a247e2e 100644 --- a/gcc/genrecog.c +++ b/gcc/genrecog.c @@ -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); } |