https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105380
--- Comment #6 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Paul Thomas <[email protected]>: https://gcc.gnu.org/g:fb0702c6bd2d265aed452ba96e639d0ec4847d4f commit r16-4136-gfb0702c6bd2d265aed452ba96e639d0ec4847d4f Author: Paul Thomas <[email protected]> Date: Tue Sep 30 09:24:11 2025 +0100 Fortran: ICE in derived type with a PDT component [PR102241,PR105380] 2025-09-30 Paul Thomas <[email protected]> gcc/fortran PR fortran/102241 * gfortran.h: Add symbol attribute 'pdt_comp'. * module.cc : Add 'pdt_comp' to 'ab_attribute' and 'attr_bits'. (mio_symbol_attribute): Set 'pdt_comp'. * resolve.cc (resolve_component): If a PDT component is found in a non-PDT type, generate the PDT instance, if necessary, and set the 'pdt_comp' attribute. Fix some whitespace issues. * trans-decl.cc (gfc_get_symbol_decl, gfc_trans_deferred_vars): If 'pdt_comp' set, initialize the PDT components. * trans-stmt.cc (gfc_trans_deallocate): Verify that a typespec parameter list is available for PDT components of ordinary derived types. gcc/testsuite/ PR fortran/105380 * gfortran.dg/pdt_49.f03: New test. PR fortran/102241 * gfortran.dg/pdt_11.f03: Deallocate 'o_fdef'. * gfortran.dg/pdt_15.f03: Reinstate final 'pop_8' and update the tree dump counts. * gfortran.dg/pdt_20.f03: Deallocate 'x'. * gfortran.dg/pdt_23.f03: Deallocate 'x'. * gfortran.dg/pdt_3.f03: Eliminate the temporary 'matrix' and use w%d directly in the allocation. Change the TODO comment and comment on memory leak in allocation. * gfortran.dg/pdt_39.f03: Comments on memory leaks. * gfortran.dg/pdt_40.f03: Deallocate 'foo' and bar%x. * gfortran.dg/pdt_50.f03: New test.
