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?