diff options
Diffstat (limited to 'gcc/reload.c')
| -rw-r--r-- | gcc/reload.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/reload.c b/gcc/reload.c index 613d6c7e2c7..8b01ce25403 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -2551,7 +2551,8 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p) } else if (c >= '0' && c <= '9') { - c -= '0'; + c = strtoul (p - 1, &p, 10); + operands_match[c][i] = operands_match_p (recog_data.operand[c], recog_data.operand[i]); @@ -2939,8 +2940,8 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p) case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': + c = strtoul (p - 1, &p, 10); - c -= '0'; this_alternative_matches[i] = c; /* We are supposed to match a previous operand. If we do, we win if that one did. |

