From: Manfred Hollstein Date: Mon, 25 Jul 2005 16:17:01 +0000 (+0000) Subject: * calls.c (store_one_arg): Fix unsigned comparison warning. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1490f93a3c1bdce96d2dddfae1825821c703ab1c;p=gcc.git * calls.c (store_one_arg): Fix unsigned comparison warning. From-SVN: r102363 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 413aa48e6aa..8df429108d9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2005-07-25 Manfred Hollstein + + * calls.c (store_one_arg): Fix unsigned comparison warning. + 2005-07-25 Serge Belyshev PR other/22337 diff --git a/gcc/calls.c b/gcc/calls.c index ea6eaeb82f7..08d73a6608e 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -4080,7 +4080,7 @@ store_one_arg (struct arg_data *arg, rtx argblock, int flags, if ((flags & ECF_SIBCALL) && MEM_P (arg->value)) { int i = -1; - unsigned int k; + unsigned HOST_WIDE_INT k; rtx x = arg->value; if (XEXP (x, 0) == current_function_internal_arg_pointer) @@ -4098,13 +4098,18 @@ store_one_arg (struct arg_data *arg, rtx argblock, int flags, #ifdef ARGS_GROW_DOWNWARD i = -i - arg->locate.size.constant; #endif - for (k = 0; k < arg->locate.size.constant; k++) - if (i + k < stored_args_map->n_bits - && TEST_BIT (stored_args_map, i + k)) - { - sibcall_failure = 1; - break; - } + if (arg->locate.size.constant > 0) + { + unsigned HOST_WIDE_INT sc = arg->locate.size.constant; + + for (k = 0; k < sc; k++) + if (i + k < stored_args_map->n_bits + && TEST_BIT (stored_args_map, i + k)) + { + sibcall_failure = 1; + break; + } + } } }