On Thu, Dec 15, 2022 at 01:51:26PM +0100, Federico Perini via Fortran wrote: > > 3. Of the optimization flags "-fpeel-loops" is the one that triggers the > failing tests > > 3. in dtio_4.f90, the first test fails for 1) non-extended class; 2) > derived-type READ. Write works; extended type (BT_CLASS) works. It appears > that the optimizer thinks the derived type is not modified by the read > statement.
Federico, thanks for following up here. As I indicated before, you're in an area of the compiler that I do not normally hack. But, the above description sounds like a tree is not marked as used. There is code of the form "TREE_USED (decl) = 1;" in the trans-*.cc files. Setting this might inhibit the -fpeel-loops optimization, but this is just a guess. -- Steve