diff options
-rw-r--r-- | gcc/ChangeLog | 15 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 25 |
2 files changed, 28 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8f521727e76..da8f9680798 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,18 @@ +2010-06-29 Nathan Froyd <froydnj@codesourcery.com> + + PR bootstrap/44713 + * config/i386/i386.c (type_natural_mode): Const-ify CUM parameter. + (function_arg_advance_32): Const-ify TYPE parameter. + (function_arg_advance_64): Likewise. Change type of NAMED to bool. + (ix86_function_arg_advance): Change type of NAMED to bool. + (function_arg_32): Const-ify CUM and TYPE parameters. + (function_arg_64): Likewise. Change type of NAMED to bool. + (function_arg_ms_64): Const-ify CUM parameter. Change type of NAMED + to bool. + (ix86_function_arg): Change type of NAMED to bool. + (ix86_setup_incoming_varargs): Call ix86_function_arg_advance. Pass + last argument as a bool. + 2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com> * doc/tm.texi (TARGET_OPTION_OVERRIDE): Document. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index d94b47f191a..8d952975818 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -5180,7 +5180,7 @@ init_cumulative_args (CUMULATIVE_ARGS *cum, /* Argument info to initialize */ NULL. */ static enum machine_mode -type_natural_mode (const_tree type, CUMULATIVE_ARGS *cum) +type_natural_mode (const_tree type, const CUMULATIVE_ARGS *cum) { enum machine_mode mode = TYPE_MODE (type); @@ -5937,7 +5937,8 @@ construct_container (enum machine_mode mode, enum machine_mode orig_mode, static void function_arg_advance_32 (CUMULATIVE_ARGS *cum, enum machine_mode mode, - tree type, HOST_WIDE_INT bytes, HOST_WIDE_INT words) + const_tree type, HOST_WIDE_INT bytes, + HOST_WIDE_INT words) { switch (mode) { @@ -6025,7 +6026,7 @@ function_arg_advance_32 (CUMULATIVE_ARGS *cum, enum machine_mode mode, static void function_arg_advance_64 (CUMULATIVE_ARGS *cum, enum machine_mode mode, - tree type, HOST_WIDE_INT words, int named) + const_tree type, HOST_WIDE_INT words, bool named) { int int_nregs, sse_nregs; @@ -6067,7 +6068,7 @@ function_arg_advance_ms_64 (CUMULATIVE_ARGS *cum, HOST_WIDE_INT bytes, static void ix86_function_arg_advance (CUMULATIVE_ARGS *cum, enum machine_mode mode, - const_tree type, int named) + const_tree type, bool named) { HOST_WIDE_INT bytes, words; @@ -6102,8 +6103,8 @@ ix86_function_arg_advance (CUMULATIVE_ARGS *cum, enum machine_mode mode, (otherwise it is an extra parameter matching an ellipsis). */ static rtx -function_arg_32 (CUMULATIVE_ARGS *cum, enum machine_mode mode, - enum machine_mode orig_mode, tree type, +function_arg_32 (const CUMULATIVE_ARGS *cum, enum machine_mode mode, + enum machine_mode orig_mode, const_tree type, HOST_WIDE_INT bytes, HOST_WIDE_INT words) { static bool warnedsse, warnedmmx; @@ -6219,8 +6220,8 @@ function_arg_32 (CUMULATIVE_ARGS *cum, enum machine_mode mode, } static rtx -function_arg_64 (CUMULATIVE_ARGS *cum, enum machine_mode mode, - enum machine_mode orig_mode, tree type, int named) +function_arg_64 (const CUMULATIVE_ARGS *cum, enum machine_mode mode, + enum machine_mode orig_mode, const_tree type, bool named) { /* Handle a hidden AL argument containing number of registers for varargs x86-64 functions. */ @@ -6255,8 +6256,8 @@ function_arg_64 (CUMULATIVE_ARGS *cum, enum machine_mode mode, } static rtx -function_arg_ms_64 (CUMULATIVE_ARGS *cum, enum machine_mode mode, - enum machine_mode orig_mode, int named, +function_arg_ms_64 (const CUMULATIVE_ARGS *cum, enum machine_mode mode, + enum machine_mode orig_mode, bool named, HOST_WIDE_INT bytes) { unsigned int regno; @@ -6314,7 +6315,7 @@ function_arg_ms_64 (CUMULATIVE_ARGS *cum, enum machine_mode mode, static rtx ix86_function_arg (const CUMULATIVE_ARGS *cum, enum machine_mode omode, - const_tree type, int named) + const_tree type, bool named) { enum machine_mode mode = omode; HOST_WIDE_INT bytes, words; @@ -7047,7 +7048,7 @@ ix86_setup_incoming_varargs (CUMULATIVE_ARGS *cum, enum machine_mode mode, For stdargs, we do want to skip the last named argument. */ next_cum = *cum; if (stdarg_p (fntype)) - function_arg_advance (&next_cum, mode, type, 1); + ix86_function_arg_advance (&next_cum, mode, type, true); if (cum->call_abi == MS_ABI) setup_incoming_varargs_ms_64 (&next_cum); |