------- Comment #13 from jvdelisle at gcc dot gnu dot org 2007-01-06 21:07 ------- A difficult case to deal with is:
program main print *,foo(0) contains function foo (n) result(res) integer, intent(in) :: n integer, allocatable :: res(:) logical :: init = .false. if (.not. init) then allocate (res(1)) init = .true. else allocate (res(2)) end if res = n end function foo end program main -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30162