From: John David Anglin Date: Wed, 29 Aug 2001 17:57:47 +0000 (+0000) Subject: pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for comparison with... X-Git-Tag: prereleases/libstdc++-3.0.95~2360 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6e9c53b489ad1dcda7e54ea1a668a4c74cebcfaf;p=thirdparty%2Fgcc.git pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for comparison with rtx INTVAL. * 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. From-SVN: r45271 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 89ace6633842..2d5043f201c9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2001-08-29 John David Anglin + + * 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 * config/h8300/lib1funcs.asm: Update the copyright. Fix diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 85183ffc0b02..0bc2c8fa6515 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 464716723bb4..24f6b41e3117 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