https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90539
--- Comment #33 from Martin Liška <marxin at gcc dot gnu.org> --- (In reply to Thomas Koenig from comment #32) > Hi Martin, > > this > > 3822 ierr = pio_put_var (tape(t)%File, ps0var, (/ps0/)) > > looks like the culprit (or rather, where gfortran currently > generates wrong code). This is consistent with the problem seen > in netcdf, so I feel pretty confident that this is indeed the problem. > > To double-check, could you maybe do the following? Assume ps0 is a > real(kind=8) variable, do > > ... > > real(kind=8) :: ps0_array(1) ! Use the type as ps0 > > and then > > ps0_array(1) = ps0 > ierr = pio_put_var (tape(t)%File, ps0var, ps0_array) > > and see if the segfault goes away, or at least if this one has > been removed, and there is a different one now :-) Yes, I can confirm it helps. I see a segfault later then. Thank you.