this should be an OK program, but gives a strange warning, and segfaults at run
time. 4.1.2 works fine.

program test_elemental

print *,'Transfer size:',transfer_size((/0.,0./),(/'a','b'/))

contains

   elemental function transfer_size (source, mold)
     real, intent(in)         :: source
     character(*), intent(in) :: mold
     integer                  :: transfer_size
     transfer_size = SIZE(TRANSFER(source, (/mold/)))
     return
   end function transfer_size

end program test_elemental


-- 
           Summary: [4.5 Regression] segfault & bogus warning
           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: jv244 at cam dot ac dot uk


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40847

Reply via email to