Hi, my large code suddenly fails with the current gfortran, while it still works with gfortran from fortran-dev (version 20100127). I traced the problem to the following part of a module where the invocation of a subroutine as
call set_set_v (ru(i)% c, c) ! (notemp) Fails with current gfortran fails (i.e., the resulting c contains bad values), while tmp_c = ru(i)% c ! ("temp") Works call set_set_v (tmp_c, c) works. For details see the attached code. I have compared the output of -fdump-tree-original of the fortran-dev and of the trunk versions of gfortran and found that they are identical for the "temp" variant, while there is a significant different for the notemp variant. Maybe someone knowledgeable can identify the cause of the problem. -- Summary: [4.5 Regression] Bad results without temporary copy of intent(in) argument Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: anlauf at gmx dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43180