https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97009
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P2 CC| |jamborm at gcc dot gnu.org --- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- So SRA decomposes resD.3963.levelD.3901 = res$level_55; resD.3965 = resD.3963; resD.3963 ={v} {CLOBBER}; D.3958 = resD.3965; resD.3965 ={v} {CLOBBER}; to just res$level_26 = res$level_55; resD.3963.levelD.3901 = res$level_26; resD.3965 = resD.3963; SR.14_27 = res$level_26; resD.3963 ={v} {CLOBBER}; MEM <integer(kind=4)D.8> [(struct tem_path_type *)&D.3958] = SR.14_27; resD.3965 ={v} {CLOBBER}; but D.3958 is later indexed _11 = &D.3958.nodeD.3903[_10]; _gfortran_transfer_integer_write (&dt_parm.0D.3961, _11, 8); we have struct tem_path_type resD.3963; struct tem_path_type resD.3965; struct tem_path_type D.3958; the question is how "complete" 'tem_path_type' is. -fno-tree-sra "fixes" it