Dear all, First of all thank you for letting me in the GNU Fortran mailing list. I've been an avid gfortran user for the past 10+ years and have posted quite a few issues on Bugzilla recently (one of them is the Finalization issue I see in the recent posts: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107489) I would like to begin devoting more of my free time to improving it and have been introduced to the basics by Steve Kargl. I'm trying to start from this DTIO bug (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106731 ) but the learning curve looks pretty steep, so I need to ask for your help. So far I've found that: * Derived types with DTIO are always SAVEd, so, when used as automatic arrays, they cause a segfault. In trans-decl.cc it reads" /* If derived-type variables with DTIO procedures are not made static some bits of code referencing them get optimized away. TODO Understand why this is so and fix it. */ * If I comment that chunk of code (i.e. do not force variables to be static), all tests run fine, except for dtio_4.f90 and dtio_14.f90, only when run with -O3. In dtio_4 for example: * If I set the failed variable to SAVE, the test no longer fails: type (udt), save :: udt1 ! success! * The issue never arises with the extended class variable, even if not saved. Now, I need guidance to understand where should I look at in the gfortran code to dig deeper into this problem, Any help from you will be greatly appreciated! Thank you and I hope I can be meaningfully useful, Federico Perini