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

--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> ---
The code works when one adds a line to vortex.F90's manual_finalizer:

    do while(associated(current%next))
      next => current%next ! start after break in chain
      deallocate(current)
      current=>next
      if (.not.associated(current)) exit ! <<<< ADDED
    end do

Thus, at least locally, the program has a bug. The other question is whether
for the specific program, it should still work. At least with Crayftn, it seems
to work (also with valgring/MALLOC_PERTURB_ set). On the other hand, with ifort
it starts failing when MALLOC_PERTURB_ is set.

Reply via email to