Dear All,

Since both Andre and I have taken a good look at this rather small
patch, I decided to commit it as revision 242875.

My movements are such that I will have to hold off on 5- and
6-branches until the week after next.

Best regards

Paul

PS Andre, I wasn't trying to make you feel bad but was making fun of myself :-)


On 25 November 2016 at 13:00, Andre Vehreschild <ve...@gmx.de> wrote:
> Hi Thomas,
>
>> Andre put me to shame with a devastatingly simple replacement for a
>> horribly complicated and wrong patch that I was getting into.
>
> I did not mean to. I happened to work in the same area and the PR's 
> description
> rang a whole chorus of bells what might have been going wrong.
>
>> The part of the patch in trans-expr.c fixes the PR and the part in
>> trans-stmt.c fixes a memory leak in function 'tt'. This latter fixes
>
> I propose to change the comment in the second chunk (trans-stmt.c) from:
>
> -         /* Deallocate any allocatable components after all the allocations
> -            and assignments of expr3 have been completed.  */
>
> to
>
> +       /* Deallocate any allocatable components in expressions that use a
> +          temporary, i.e. are not of expr-type EXPR_VARIABLE or force the
> +          use of a temporary, after the assignment of expr3 is completed.  */
>
> Mind that the indentation is corrupted by my mailer. Please polish the comment
> a bit. It feels awkward.
>
>> half of the memory leaks in class_array_15.f03. I have noted the rest
>> of this problem in PR38319 with which it is associated.
>>
>> Bootstraps and regtests on FC21/x86_64 - OK for trunk and, later
>> 5-branch and 6-branch?
>
> Ok'ing a patch I participated in writing does not feel correct. So not doing 
> it.
> When committing please add yourself also to the Changelog in gcc/fortran to
> prevent confusion when this patch causes regressions. You are as much
> responsible for fixing it as me.
>
> Regards,
>         Andre
>
>> Cheers
>>
>> Paul
>>
>> 2016-11-24  Andre Vehreschild  <ve...@gcc.gnu.org>
>>
>>     PR fortran/78293
>>     * trans-expr.c (gfc_conv_procedure_call): Prepend deallocation
>>     of alloctable components to post, rather than adding to
>>     se->post.
>>     * trans-stmt.c (gfc_trans_allocate): Move deallocation of expr3
>>     allocatable components so that all expr3s are visited.
>>
>> 2016-11-24  Paul Thomas  <pa...@gcc.gnu.org>
>>
>>     PR fortran/78293
>>     * gfortran.dg/allocatable_function_10.f90: New test.
>>     * gfortran.dg/class_array_15.f03: Increase builtin_free count
>>     from 11 to 12.
>
>
> --
> Andre Vehreschild * Email: vehre ad gmx dot de



-- 
The difference between genius and stupidity is; genius has its limits.

Albert Einstein

Reply via email to