aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <uros@kss-loka.si>2006-10-28 11:41:41 +0200
committerUros Bizjak <uros@gcc.gnu.org>2006-10-28 11:41:41 +0200
commite68d4dd1b48538e2467bcdb040af6c58bce3bbce (patch)
tree70a3afc3b8565ad9276c733481ad2e0403087956 /gcc
parent87ccbc5cdd38ffd76515d6c6df48d1680ff0b380 (diff)
downloadgcc-e68d4dd1b48538e2467bcdb040af6c58bce3bbce.zip
gcc-e68d4dd1b48538e2467bcdb040af6c58bce3bbce.tar.gz
gcc-e68d4dd1b48538e2467bcdb040af6c58bce3bbce.tar.bz2
re PR target/29377 (Build for h8300-elf crashes on 64bit hosts due to int/HWI mismatch)
PR target/29377 * config/h8300/h8300.c (h8300_emit_stack_adjustment): Change "size" argument to HOST_WIDE_INT. Update function prototype. (round_frame_size): Change return type to HOST_WIDE_INT. Change "size" argument to HOST_WIDE_INT. Update function prototype. From-SVN: r118102
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/h8300/h8300.c10
2 files changed, 13 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d1d2e4e..a0bdc81 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,13 @@
2006-10-28 Uros Bizjak <uros@kss-loka.si>
+ PR target/29377
+ * config/h8300/h8300.c (h8300_emit_stack_adjustment): Change "size"
+ argument to HOST_WIDE_INT. Update function prototype.
+ (round_frame_size): Change return type to HOST_WIDE_INT. Change
+ "size" argument to HOST_WIDE_INT. Update function prototype.
+
+2006-10-28 Uros Bizjak <uros@kss-loka.si>
+
* config/i386/i386.c (output_387_ffreep): Create output from a
template string for !HAVE_AS_IX86_FFREEP.
diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c
index cfda1f3..215fbe3 100644
--- a/gcc/config/h8300/h8300.c
+++ b/gcc/config/h8300/h8300.c
@@ -83,8 +83,8 @@ static int h8300_interrupt_function_p (tree);
static int h8300_saveall_function_p (tree);
static int h8300_monitor_function_p (tree);
static int h8300_os_task_function_p (tree);
-static void h8300_emit_stack_adjustment (int, unsigned int);
-static int round_frame_size (int);
+static void h8300_emit_stack_adjustment (int, HOST_WIDE_INT);
+static HOST_WIDE_INT round_frame_size (HOST_WIDE_INT);
static unsigned int compute_saved_regs (void);
static void push (int);
static void pop (int);
@@ -510,7 +510,7 @@ byte_reg (rtx x, int b)
SIZE to adjust the stack pointer. */
static void
-h8300_emit_stack_adjustment (int sign, unsigned int size)
+h8300_emit_stack_adjustment (int sign, HOST_WIDE_INT size)
{
/* If the frame size is 0, we don't have anything to do. */
if (size == 0)
@@ -546,8 +546,8 @@ h8300_emit_stack_adjustment (int sign, unsigned int size)
/* Round up frame size SIZE. */
-static int
-round_frame_size (int size)
+static HOST_WIDE_INT
+round_frame_size (HOST_WIDE_INT size)
{
return ((size + STACK_BOUNDARY / BITS_PER_UNIT - 1)
& -STACK_BOUNDARY / BITS_PER_UNIT);