[Bug fortran/57094] [Fortran-Dev] ICE: in lhd_incomplete_type_error, at langhooks.c:203

dominiq at lps dot ens.fr gcc-bugzilla@gcc.gnu.org
Tue Apr 30 11:42:00 GMT 2013


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

--- Comment #1 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2013-04-30 11:42:49 UTC ---
Reduced test for gfortran.dg/transfer_intrinsic_3.f90

module m
  implicit none
contains
  pure function str_vs(vs) result(s)
    character, dimension(:), intent(in) :: vs
    character(len=size(vs)) :: s
    s = transfer(vs, s)
  end function str_vs
end module m

  use m
  implicit none
  character, dimension(:), pointer :: QName
  character :: tmp(6)
  integer :: n
  allocate(qname(6))
  qname = (/ 'a','b','c','d','e','f' /)

  tmp = str_vs(qname(1:n-1))
  print *, tmp
end

transfer_intrinsic_3_red.f90: In function 'MAIN__':
transfer_intrinsic_3_red.f90:19:0: internal compiler error: in
lhd_incomplete_type_error, at langhooks.c:203
   tmp = str_vs(qname(1:n-1))

Note that the test compiles, but generates a wrong code, without the module:

  implicit none
  character, dimension(:), pointer :: QName
  character :: tmp(6)
  integer :: n
  allocate(qname(6))
  qname = (/ 'a','b','c','d','e','f' /)

  tmp = str_vs(qname(1:n-1))
  print *, tmp
contains
  pure function str_vs(vs) result(s)
    character, dimension(:), intent(in) :: vs
    character(len=size(vs)) :: s
    s = transfer(vs, s)
  end function str_vs
end



More information about the Gcc-bugs mailing list