+2005-07-25 Manfred Hollstein <mh@suse.com>
+
+ * calls.c (store_one_arg): Fix unsigned comparison warning.
+
2005-07-25 Serge Belyshev <belyshev@depni.sinp.msu.ru>
PR other/22337
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)
#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;
+ }
+ }
}
}