ping!


2015-01-19 15:41 GMT+01:00 Janus Weil <ja...@gcc.gnu.org>:
> Hi,
>
> this is a second patch dealing with finalization-related regressions,
> after the one I submitted yesterday
> (https://gcc.gnu.org/ml/fortran/2015-01/msg00109.html), which btw is
> also still waiting for review ...
>
> This patch fixes an invalid memory reference inside the finalizer
> routine (at runtime), which apparently was caused by dereferencing a
> pointer without checking if it's NULL. I simply insert a call to
> ASSOCIATED.
>
> I also rename two different runtime variables, which were both called
> 'ptr', to 'ptr1' and 'ptr2', just to make it easier to distinguish
> them in the dump.
>
> I also have the feeling the a lot of what is being done in
> generate_finalization_wrapper and finalize_component (including my
> changes) is a bit laborious. Some helper functions might be useful to
> make all that code generation a bit more readable and less verbose. I
> may attack this in a follow-up patch.
>
> This one regtests cleanly on x86_64-unknown-linux-gnu. Ok for trunk and 4.9?
>
> Cheers,
> Janus
>
>
>
> 2015-01-19  Janus Weil  <ja...@gcc.gnu.org>
>
>     PR fortran/64230
>     * class.c (finalize_component): New argument 'sub_ns'. Insert code to
>     check if 'expr' is associated.
>     (generate_finalization_wrapper): Rename 'ptr' symbols to 'ptr1' and
>     'ptr2'. Pass 'sub_ns' to finalize_component.
>
> 2015-01-19  Janus Weil  <ja...@gcc.gnu.org>
>
>     PR fortran/64230
>     * gfortran.dg/class_allocate_18.f90: Extended.

Reply via email to