diff options
author | Uros Bizjak <uros@kss-loka.si> | 2006-10-28 11:41:41 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2006-10-28 11:41:41 +0200 |
commit | e68d4dd1b48538e2467bcdb040af6c58bce3bbce (patch) | |
tree | 70a3afc3b8565ad9276c733481ad2e0403087956 /gcc | |
parent | 87ccbc5cdd38ffd76515d6c6df48d1680ff0b380 (diff) | |
download | gcc-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/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/h8300/h8300.c | 10 |
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); |