This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
fix amd64 bootstrap
- From: Richard Henderson <rth at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Tue, 27 Jul 2004 15:13:49 -0700
- Subject: fix amd64 bootstrap
So this is in fact fallout from my last unsigned alignment patch.
The previous code sort of accidentailly worked with the narrower
signed alignment.
r~
* function.c (assign_stack_local_1): Widen alignment to HOST_WIDE_INT
before rounding.
Index: function.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/function.c,v
retrieving revision 1.562
diff -c -p -d -r1.562 function.c
*** function.c 26 Jul 2004 17:51:20 -0000 1.562
--- function.c 27 Jul 2004 21:48:56 -0000
*************** assign_stack_local_1 (enum machine_mode
*** 455,465 ****
use logical operations which are unambiguous. */
#ifdef FRAME_GROWS_DOWNWARD
function->x_frame_offset
! = (FLOOR_ROUND (function->x_frame_offset - frame_phase, alignment)
+ frame_phase);
#else
function->x_frame_offset
! = (CEIL_ROUND (function->x_frame_offset - frame_phase, alignment)
+ frame_phase);
#endif
}
--- 455,467 ----
use logical operations which are unambiguous. */
#ifdef FRAME_GROWS_DOWNWARD
function->x_frame_offset
! = (FLOOR_ROUND (function->x_frame_offset - frame_phase,
! (unsigned HOST_WIDE_INT) alignment)
+ frame_phase);
#else
function->x_frame_offset
! = (CEIL_ROUND (function->x_frame_offset - frame_phase,
! (unsigned HOST_WIDE_INT) alignment)
+ frame_phase);
#endif
}