Re: [PATCH] Fix finalizer list truncated when >= 3, finalizers match [PR121972]
Jerry D <[email protected]> Tue, 30 Jun 2026 08:21:41 -0700
| Newsgroups | gmane.comp.gcc.patches,gmane.comp.gcc.fortran |
|---|---|
| Message-ID | <[email protected]> |
The master branch has been updated by Jerry DeLisle <[email protected]>: https://gcc.gnu.org/g:836f029d6a0ee0e6bd88605da994681498f5cf6a commit r17-2025-g836f029d6a0ee0e6bd88605da994681498f5cf6a Author: Jerry DeLisle <[email protected]> Date: Mon Jun 29 08:36:06 2026 -0700 fortran: Fix finalizer list truncated when >= 3 finalizers match [PR121972] On 6/30/26 8:18 AM, Jerry D wrote: > I will commit the attached patch approved by Paul on MatterMost. This fixes a > memory leak found in the PDT_70 test case. > > Regression tested on x86_64 > > Thanks for review Paul. > > Regards, > > Jerry > > --- > > fortran: Fix finalizer list truncated when >= 3 > finalizers match [PR121972] > > When gfc_resolve_finalizers copies matching finalizers from the template > type into a derived type's finalizer list, a linked-list bug caused the > third and later entries to be orphaned. Fix by using the standard > tail-pointer idiom. > > PR fortran/121972 > > gcc/fortran/ChangeLog: > > * resolve.cc (gfc_resolve_finalizers): Fix linked-list tail-pointer > bug that dropped all but the first two finalizers from a derived > type's finalizer list when three or more matched. > > gcc/testsuite/ChangeLog: > > * gfortran.dg/pdt_70.f03: Add a matrix finalizer and update the > check of the value of 'flag'. > ---