I receive the following ICE:
transferbug.f90: In function bucketindexofkey:
transferbug.f90:14: internal compiler error: in gfc_get_element_type, at
fortran/trans-types.c:741
when compiling this test code:
module InternalCompilerError
type Byte
private
character(len=1) :: singleByte
end type
contains
function BucketIndexOfKey(key) result (hash)
type(Byte), intent(in) :: key(:)
integer :: hash
integer, parameter :: intPrototype(1) = 0
integer :: intKey(
size(transfer(key, intPrototype)) )
intKey = transfer(key, intPrototype) ! This line causes the ICE
hash = 0
end function
end module
program main
use InternalCompilerError
end program
The ICE seems to disappear when removing the following line, which makes me
think that it is the direct cause:
intKey = transfer(key, intPrototype) ! This line causes the ICE
Regards,
Drew McCormack
--
Summary: ICE due to transfer function
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: drewmccormack at mac dot com
GCC build triplet: 4.3.0 20070316 (experimental)
GCC target triplet: powerpc-apple-darwin8.9.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31390