https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97046

--- Comment #3 from Steve Kargl <sgk at troutmask dot apl.washington.edu> ---
On Mon, Sep 14, 2020 at 11:56:18PM +0000, gilles.gouaillardet at gmail dot com
wrote:
> This is the libc subroutine
> 
> void sync(void);
> 
> The point here is any subroutine (that will not cause a crash) can be used to
> evidence the issue.
> 

Isn't there a mismatch in the number of
arguments provided by your Fortran code
and the parameters expected in sync(2)?

dummy (struct array15_unknown & restrict x0)
{
  {
    void * cfi.0;

    x0->span = (integer(kind=4)) x0->dtype.elem_len;
    x0->dtype.attribute = 2;
    cfi.0 = 0B;
    _gfortran_gfc_desc_to_cfi_desc (&cfi.0, (struct array15_unknown *) x0);
    x0->dtype.attribute = 2;
    dummyc (cfi.0);
    _gfortran_cfi_desc_to_gfc_desc ((struct array15_unknown *) x0, &cfi.0);
    __builtin_free (cfi.0);
  }
}

dummyc(cfi.0) becomes sync(cfi.0).
Is this standard conform?

Reply via email to