------- 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