[Bug fortran/27096] Automatic charlen pointer array result produces and ICE

paul dot richard dot thomas at cea dot fr gcc-bugzilla@gcc.gnu.org
Mon Apr 10 14:20:00 GMT 2006



------- Comment #2 from paul dot richard dot thomas at cea dot fr  2006-04-10 14:19 -------
The peculiar code turns out to be a result of the way in which I kludged my way
past the ICE.  In sorting the out, I found that there is a double fault:

The implicit result version of the above....

  character(10), dimension (2) :: inp
  inp = "abcdefghij"
  inp = join_1(inp)
  print *, inp
contains
  function join_1(self)
    character(len=*), dimension(:) :: self
    character(len=len(self)), dimension(:), pointer :: join_1
    allocate (join_1(2))
    join_1 = self
  end function
end

compiles but hits the runtime error:

Fortran runtime error: Attempt to allocate negative amount of memory.  Possible
integer overflow.

I must check that this is not an existing PR.

A double patch is on its way.

Paul


-- 


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



More information about the Gcc-bugs mailing list