On Thu, Nov 17, 2016 at 11:14:26AM -0700, Martin Sebor wrote:
> --- a/gcc/fortran/interface.c
> +++ b/gcc/fortran/interface.c
> @@ -2821,7 +2821,8 @@ compare_actual_formal (gfc_actual_arglist **ap,
> gfc_formal_arglist *formal,
> for (f = formal; f; f = f->next)
> n++;
>
> - new_arg = XALLOCAVEC (gfc_actual_arglist *, n);
> + /* Take care not to call alloca with a zero argument. */
> + new_arg = XALLOCAVEC (gfc_actual_arglist *, n + !n);
>
> for (i = 0; i < n; i++)
> new_arg[i] = NULL;
Ugh, that is just too ugly. I don't see anything wrong on alloca (0),
and we don't rely on those pointers being distinct from other pointers.
Jakub