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

Reply via email to