diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/config/pa/pa.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 122cf05..0d06bae 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Mon Apr 3 00:50:06 2000 Jason Eckhardt <jle@cygnus.com> + + * pa.c (print_operand): Compute 'base' only inside the code paths + that use it. + 2000-04-03 Geoffrey Keating <geoffk@cygnus.com> * stor-layout.c (byte_from_pos): Use TRUNC_DIV_EXPR rather than diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 4fc8a0c..f47ce37 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -3912,15 +3912,17 @@ print_operand (file, x, code) else if (GET_CODE (x) == MEM) { int size = GET_MODE_SIZE (GET_MODE (x)); - rtx base = XEXP (XEXP (x, 0), 0); + rtx base = NULL_RTX; switch (GET_CODE (XEXP (x, 0))) { case PRE_DEC: case POST_DEC: + base = XEXP (XEXP (x, 0), 0); fprintf (file, "-%d(%s)", size, reg_names [REGNO (base)]); break; case PRE_INC: case POST_INC: + base = XEXP (XEXP (x, 0), 0); fprintf (file, "%d(%s)", size, reg_names [REGNO (base)]); break; default: |
