Hi Jerry, thanks for the review. Pushed as gcc-15-6615-gd8970909490
with the tweak ;-) Have a good year and thanks again, Andre On Mon, 6 Jan 2025 09:13:27 -0800 Jerry D <jvdelis...@gmail.com> wrote: > On 1/6/25 6:21 AM, Andre Vehreschild wrote: > > Hi all, > > > > during looking for something completely different, I figured, that gcc does > > not use std::set internally, but its implementation of hash_set. I therefore > > adapted the patch to use it. Nothing more changed. > > > > Still regtests ok on x86_64-pc-linux-gnu / F41. Ok for mainline? > > > > ... and this tweak is OK. Proceed. > > Jerry > > > Regards, > > Andre > > > > > > On Mon, 6 Jan 2025 11:06:46 +0100 > > Andre Vehreschild <ve...@gmx.de> wrote: > > > >> Hi all, > >> > >> pinging attached rebased patch. > >> > >> Regtests ok on x86_64-pc-linux-gnu / F41. Ok for mainline? > >> > >> - Andre > >> > >> On Thu, 12 Dec 2024 14:50:13 +0100 > >> Andre Vehreschild <ve...@gmx.de> wrote: > >> > >>> Hi all, > >>> > >>> attached patch improves analysis of cycles in derived types, i.e. type > >>> dependencies ala: > >>> > >>> type(T) > >>> type(T2), allocatable :: c > >>> end type > >>> > >>> type(T2) > >>> type(T), allocatable :: t > >>> end type > >>> > >>> are now detected and deallocating an object that is of any of the types > >>> now no longer crashes the compiler because of an endless recursion. To > >>> accomplish this, I stored the symbols of the types seen in a C++ set > >>> and checked if a component's type is already present in there. When a > >>> type has such an indirect self-reference, it gets marked by setting its > >>> symbol_attribute::recursive flag. Later steps then can make use of it. > >>> > >>> Furthermore are _deallocate members of the vtab populated when a type > >>> has the recursive and the alloc_comp flag set. > >>> > >>> Bootstraps and regtests ok on x86_64-pc-linux-gnu / F41. Ok for > >>> mainline? > >>> > >>> Note: The patch was developed on top of my coarray patch, but should > >>> apply with delta on a regular trunk w/o issues. > >>> > >>> Regards, > >>> Andre > >>> -- > >>> Andre Vehreschild * Email: vehre ad gcc dot gnu dot org > >> > >> > >> -- > >> Andre Vehreschild * Email: vehre ad gmx dot de > > > > > > -- > > Andre Vehreschild * Email: vehre ad gmx dot de > -- Andre Vehreschild * Email: vehre ad gmx dot de