[Bug fortran/102287] New: optional allocatable array arguments (intent out) of derived types with allocatable components are not properly passed to subroutines.
alipasha.celeris at gmail dot com
gcc-bugzilla@gcc.gnu.org
Sat Sep 11 00:37:06 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102287
Bug ID: 102287
Summary: optional allocatable array arguments (intent out) of
derived types with allocatable components are not
properly passed to subroutines.
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: alipasha.celeris at gmail dot com
Target Milestone: ---
Created attachment 51437
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51437&action=edit
minimum test case for the observed bug. Segfaults on the call to "b" inside
"a".
In a chain of subroutine calls, where there is an allocatable optional array
argument, with intent (out), of a derived type with an allocatable component,
if the argument is omitted in any of the calls (i.e. it is not present inside
the called routine) then the next call (inside the called routine) causes a
segfault.
This behavior is not observed when
- the derived type has only non-allocatable components,
- the optional dummy argument is scalar, or
- the intent is not OUT.
The only factor that can cause the segfault seems to be the presence of an
allocatable component in the derived type, when the dummy argument is an
allocatable array.
More information about the Gcc-bugs
mailing list