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