+2011-12-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/51510
+ * calls.c (internal_arg_pointer_based_exp_scan): Don't use
+ VEC_safe_grow_cleared if idx is smaller than VEC_length.
+
2011-12-12 Richard Sandiford <richard.sandiford@linaro.org>
PR middle-end/50873
val = internal_arg_pointer_based_exp (SET_SRC (set), false);
if (val != NULL_RTX)
{
- VEC_safe_grow_cleared (rtx, heap,
- internal_arg_pointer_exp_state.cache,
- idx + 1);
+ if (idx
+ >= VEC_length (rtx, internal_arg_pointer_exp_state.cache))
+ VEC_safe_grow_cleared (rtx, heap,
+ internal_arg_pointer_exp_state.cache,
+ idx + 1);
VEC_replace (rtx, internal_arg_pointer_exp_state.cache,
idx, val);
}