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.

Reply via email to