https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83118
--- Comment #37 from Paul Thomas <pault at gcc dot gnu.org> --- (In reply to Paul Thomas from comment #36) > Created attachment 49412 [details] > An updated patch > > The patch has been evolving... slowly. > > I found that dependency_57.f90 segfaulted in runtime so I have fixed that. > > I believe that I know how to resolve Tobias's query. I hope to submit a > complete patch in the coming days. > > Paul Actually, dependency_5[6,7].f90 are not fixed because the temporaries generated by the dependencies take their size and type from the class container. For dependency_56.f90: D.4055 = f (&class.11); D.4056 = D.4055._data.dim[0].ubound - D.4055._data.dim[0].lbound; typedef struct __class__STAR_1_0a [0:]; atmp.12.dtype = {.elem_len=80, .rank=1, .type=7}; /* !!!!! */ gfc_conv_loop_setup needs to use the mechanism for dealing with class temporaries in gfc_trans_create_temp_array by using the size of the dynamic type. Paul