diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2000-12-01 23:29:57 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2000-12-01 23:29:57 +0000 |
commit | 08106825b963ae6505e978a0986d134d9860ac7a (patch) | |
tree | 10af6fe5a23c5df4df2b300c106ab52bab9d8dd8 /gcc | |
parent | cb51ecd2a53521d041b22605d3f8ff6fbe6242b2 (diff) | |
download | gcc-08106825b963ae6505e978a0986d134d9860ac7a.zip gcc-08106825b963ae6505e978a0986d134d9860ac7a.tar.gz gcc-08106825b963ae6505e978a0986d134d9860ac7a.tar.bz2 |
final.c (output_addr_const): Don't assume at least one operand is a CONST_INT.
* final.c (output_addr_const) <PLUS>: Don't assume at least one
operand is a CONST_INT.
From-SVN: r37935
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/final.c | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6c94d07..007d98c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2000-12-01 Alexandre Oliva <aoliva@redhat.com> + * final.c (output_addr_const) <PLUS>: Don't assume at least one + operand is a CONST_INT. + * config/sh/sh.c (reg_class_from_letter): Assign `k' to SIBCALL_REGS. (machine_dependent_reorg): Split all insns. * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Compute diff --git a/gcc/final.c b/gcc/final.c index 46c09ee..95e3722 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -3724,7 +3724,8 @@ output_addr_const (file, x) else { output_addr_const (file, XEXP (x, 0)); - if (INTVAL (XEXP (x, 1)) >= 0) + if (GET_CODE (XEXP (x, 1)) != CONST_INT + || INTVAL (XEXP (x, 1)) >= 0) fprintf (file, "+"); output_addr_const (file, XEXP (x, 1)); } |