This testcase coms from SPEC CPU 2006: [EMAIL PROTECTED] wrf-1]$ cat foo.f90 module foo use bar implicit none private type ESMF_Clock type(ESMF_Time) :: CurrTime end type interface operator (+) function add (x, y) use bar type(ESMF_Time) :: add type(ESMF_Time), intent(in) :: x type(ESMF_Time), intent(in) :: y end function add end interface contains subroutine ESMF_ClockAdvance(clock) type(ESMF_Clock), intent(inout) :: clock clock%CurrTime = clock%CurrTime + clock%CurrTime end subroutine ESMF_ClockAdvance end module foo [EMAIL PROTECTED] wrf-1]$ cat bar.f90 module bar implicit none public type ESMF_Time integer :: DD end type end module bar [EMAIL PROTECTED] wrf-1]$ make /export/build/gnu/gcc-last/build-x86_64-linux/gcc/gfortran -B/export/build/gnu/gcc-last/build-x86_64-linux/gcc/ -S -o bar.s bar.f90 /export/build/gnu/gcc-last/build-x86_64-linux/gcc/gfortran -B/export/build/gnu/gcc-last/build-x86_64-linux/gcc/ -S -o foo.s foo.f90 foo.f90: In function esmf_clockadvance: foo.f90:17: internal compiler error: in fold_convert, at fold-const.c:2098 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. make: *** [foo.s] Error 1
-- Summary: [4.2 Regression]: fold_convert fails for Fortran operator Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hjl at lucon dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28908