The test case fortran.dg/equiv_7.f90 fails with -m64 -Os on powerpc-apple-darwin9. I have reduced the code to:
call derived_types ! Thanks to Tobias Burnus for this:) print *, d1mach (1), transfer ((/0_4, 1048576_4/), 1d0) if (d1mach (1) .ne. transfer ((/0_4, 1048576_4/), 1d0)) call abort () contains function d1mach(i) implicit none double precision d1mach,dmach(5) integer i,large(4),small(4) equivalence ( dmach(1), small(1) ) equivalence ( dmach(2), large(1) ) data small(1),small(2) / 0, 1048576/ data large(1),large(2) /-1,2146435071/ d1mach = dmach(i) end function d1mach subroutine derived_types TYPE T2 sequence character (3) :: chr = "wxy" END TYPE T2 TYPE(T2) :: a2 if (a2%chr .ne. "wxy") call abort () end subroutine derived_types end I don't see it on i686-apple-darwin9 and it worked at rev. 132355. The failure disappears if I comment the CALL. I wonder if it is not another side effect of rev. 132566: * config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Don't overalign strings when optimizing for size, unless the target cares about alignment. -- Summary: [4.4 Regression] gfortran.dg/equiv_7.f90 fails with -m64 -Os on powerpc-apple-darwin9 Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dominiq at lps dot ens dot fr GCC build triplet: powerpc-apple-darwin9 GCC host triplet: powerpc-apple-darwin9 GCC target triplet: powerpc-apple-darwin9 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35366