summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2000-04-03 06:51:45 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2000-04-03 06:51:45 +0000
commitf7dff90d7ab6a4b43725505fd6db5bcaf7e767f3 (patch)
tree3b157e86550d0b3922df9e40eb6fa80a7287770b
parentfb65a9008b62ceb4344ce077e997a4c74f93c757 (diff)
downloadgcc-f7dff90d7ab6a4b43725505fd6db5bcaf7e767f3.tar.gz
* pa.c (print_operand): Compute 'base' only inside the code paths
that use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32875 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/pa/pa.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 122cf05eabc..0d06baefc74 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 4fc8a0ce43b..f47ce37ba72 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: