------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-01-11
09:51 -------
Subject: Bug 18916
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: [EMAIL PROTECTED] 2005-01-11 09:51:24
Modified files:
gcc : ChangeLog builtins.c calls.c expr.h function.c
Log message:
PR target/18916
* builtins.c (std_gimplify_va_arg_expr): Adjust alignment of *ap.
* expr.h (struct locate_and_pad_arg_data): Add "boundary".
* function.c (locate_and_pad_parm): Set new field.
(assign_parm_find_stack_rtl): Use it instead of FUNCTION_ARG_BOUNDARY.
Tweak where_pad test to include "none". Always set mem align for
stack_parm.
(assign_parm_adjust_stack_rtl): Discard stack_parm if alignment
not sufficient for type.
(assign_parm_setup_block): If stack_parm is zero on entry, always
make a new stack local. Block move old stack parm if necessary
to new aligned stack local.
(assign_parm_setup_stack): Use a block move to handle
potentially misaligned entry_parm.
(assign_parms_unsplit_complex): Specify required alignment when
creating stack local.
* calls.c (compute_argument_addresses): Override alignment of stack
arg calculated from its type with the alignment given by
FUNCTION_ARG_BOUNDARY.
(store_one_arg): Likewise.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.7090&r2=2.7091
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/builtins.c.diff?cvsroot=gcc&r1=1.411&r2=1.412
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/calls.c.diff?cvsroot=gcc&r1=1.375&r2=1.376
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/expr.h.diff?cvsroot=gcc&r1=1.184&r2=1.185
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/function.c.diff?cvsroot=gcc&r1=1.599&r2=1.600
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18916