The code I'm going to attach shows strange results with trunk, but works as expected with 4.4.
In short, within a TYPE, a LOGICAL component is initialized to .FALSE. (dummy_atom_init). The calling procedure (dummy_atom_model_init) that checks the same LOGICAL component sees it as .TRUE. immediately afterwards: dummy_atom_init F dummy_atom_model_init T dummy_atom_init F dummy_atom_model_init T Obviously, the component should be .FALSE. in the calling procedure as well. The application this was extracted from fails with this kind of error since r147206. It is interesting to note that valgrind does not report any issues?! -- Summary: [4.5 Regression] wrong-code Product: gcc Version: 4.5.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dfranke at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40594