https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79230

--- Comment #14 from janus at gcc dot gnu.org ---
(In reply to janus from comment #12)
> r243483:
> 2016-12-09  Janus Weil  <ja...@gcc.gnu.org>
> 
>       PR fortran/61767
>       * class.c (has_finalizer_component): Fix this function to detect only
>       non-pointer non-allocatable components which have a finalizer.

I just tried reverting this commit, which did not help.


> r243480:
> 2016-12-09  Andre Vehreschild  <ve...@gcc.gnu.org>
> 
>       * trans-array.c (gfc_array_deallocate): Remove wrapper.
>       (gfc_trans_dealloc_allocated): Same.
>       (structure_alloc_comps): Restructure deallocation of (nested)
>       allocatable components.  Insert dealloc of sub-component into the block
>       guarded by the if != NULL for the component.
>       (gfc_trans_deferred_array): Use the almightly deallocate_with_status.
>       * trans-array.h: Remove prototypes.
>       * trans-expr.c (gfc_conv_procedure_call): Use the almighty deallocate_
>       with_status.
>       * trans-openmp.c (gfc_walk_alloc_comps): Likewise.
>       (gfc_omp_clause_assign_op): Likewise.
>       (gfc_omp_clause_dtor): Likewise.
>       * trans-stmt.c (gfc_trans_deallocate): Likewise.
>       * trans.c (gfc_deallocate_with_status): Allow deallocation of scalar
>       and arrays as well as coarrays.
>       (gfc_deallocate_scalar_with_status): Get the data member for coarrays
>       only when freeing an array with descriptor.  And set correct caf_mode
>       when freeing components of coarrays.
>       * trans.h: Change prototype of gfc_deallocate_with_status to allow
>       adding statements into the block guarded by the if (pointer != 0) and
>       supply a coarray handle.

Unfortunately this patch does not reverse-apply cleanly any more.

Reply via email to