diff options
| author | danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-08-29 17:57:47 +0000 |
|---|---|---|
| committer | danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-08-29 17:57:47 +0000 |
| commit | 4ad2b0ae5ca82153c1d2a40fa8d9fae3036a52c2 (patch) | |
| tree | 50f09a1cc68243106c5b3d3cae9420b829f363e8 | |
| parent | 787603ff18308cf5605768421c49b1792d5a533a (diff) | |
| download | ppe42-gcc-4ad2b0ae5ca82153c1d2a40fa8d9fae3036a52c2.tar.gz ppe42-gcc-4ad2b0ae5ca82153c1d2a40fa8d9fae3036a52c2.zip | |
* pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
comparison with rtx INTVAL.
(pa_output_function_prologue): Don't mix signed and unsigned in `?'
expression.
* pa.h (FUNCTION_ARG_SIZE): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45271 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 8 | ||||
| -rw-r--r-- | gcc/config/pa/pa.c | 9 | ||||
| -rw-r--r-- | gcc/config/pa/pa.h | 2 |
3 files changed, 15 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 89ace663384..2d5043f201c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2001-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for + comparison with rtx INTVAL. + (pa_output_function_prologue): Don't mix signed and unsigned in `?' + expression. + * pa.h (FUNCTION_ARG_SIZE): Likewise. + 2001-08-29 Kazu Hirata <kazu@hxi.com> * config/h8300/lib1funcs.asm: Update the copyright. Fix diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 85183ffc0b0..0bc2c8fa651 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -377,12 +377,14 @@ move_operand (op, mode) && ((GET_CODE (XEXP (op, 0)) == MULT && GET_CODE (XEXP (XEXP (op, 0), 0)) == REG && GET_CODE (XEXP (XEXP (op, 0), 1)) == CONST_INT - && INTVAL (XEXP (XEXP (op, 0), 1)) == GET_MODE_SIZE (mode) + && INTVAL (XEXP (XEXP (op, 0), 1)) + == (HOST_WIDE_INT) GET_MODE_SIZE (mode) && GET_CODE (XEXP (op, 1)) == REG) || (GET_CODE (XEXP (op, 1)) == MULT &&GET_CODE (XEXP (XEXP (op, 1), 0)) == REG && GET_CODE (XEXP (XEXP (op, 1), 1)) == CONST_INT - && INTVAL (XEXP (XEXP (op, 1), 1)) == GET_MODE_SIZE (mode) + && INTVAL (XEXP (XEXP (op, 1), 1)) + == (HOST_WIDE_INT) GET_MODE_SIZE (mode) && GET_CODE (XEXP (op, 0)) == REG))) return 1; @@ -2938,7 +2940,8 @@ pa_output_function_prologue (file, size) total_code_bytes += FUNCTION_BOUNDARY / BITS_PER_UNIT; /* Be prepared to handle overflows. */ - total_code_bytes = old_total > total_code_bytes ? -1 : total_code_bytes; + if (old_total > total_code_bytes) + total_code_bytes = -1; } else total_code_bytes = -1; diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 464716723bb..24f6b41e311 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -744,7 +744,7 @@ struct hppa_args {int words, nargs_prototype, indirect; }; #define FUNCTION_ARG_SIZE(MODE, TYPE) \ ((((MODE) != BLKmode \ - ? GET_MODE_SIZE (MODE) \ + ? (HOST_WIDE_INT) GET_MODE_SIZE (MODE) \ : int_size_in_bytes (TYPE)) + UNITS_PER_WORD - 1) / UNITS_PER_WORD) /* Update the data in CUM to advance over an argument |

