aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn David Anglin <dave@hiauly1.hia.nrc.ca>2001-08-29 17:57:47 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2001-08-29 17:57:47 +0000
commit6e9c53b489ad1dcda7e54ea1a668a4c74cebcfaf (patch)
tree50f09a1cc68243106c5b3d3cae9420b829f363e8
parent53251a557518980db1280fb19db3c0e672126ea9 (diff)
downloadgcc-6e9c53b489ad1dcda7e54ea1a668a4c74cebcfaf.zip
gcc-6e9c53b489ad1dcda7e54ea1a668a4c74cebcfaf.tar.gz
gcc-6e9c53b489ad1dcda7e54ea1a668a4c74cebcfaf.tar.bz2
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
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/pa/pa.c9
-rw-r--r--gcc/config/pa/pa.h2
3 files changed, 15 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 89ace66..2d5043f2 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 85183ff..0bc2c8f 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 4647167..24f6b41 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