fortran: Support clobbering of reference variables [PR41453]
authorMikael Morin <mikael@gcc.gnu.org>
Mon, 29 Aug 2022 11:27:02 +0000 (13:27 +0200)
committerMikael Morin <mikael@gcc.gnu.org>
Sun, 25 Sep 2022 12:44:54 +0000 (14:44 +0200)
commit51c9480f9f0a80ef112ba2aed040b0b2ad0fc2a2
tree1e13e73ddf64ef320bdb94fd22581762911882cd
parent20aa1eb6cb84e6a0487b47b28b00109c5f46a7e2
fortran: Support clobbering of reference variables [PR41453]

This adds support for clobbering of variables passed by reference,
when the reference is forwarded to a subroutine as actual argument
whose associated dummy has the INTENT(OUT) attribute.
This was explicitly disabled by a condition added with
r9-3032-gee7fb0588c6361b4d77337ab0f7527be64fcdde2 and removing that
condition seems to work, as demonstrated by the new testcase.

PR fortran/41453
PR fortran/87395

gcc/fortran/ChangeLog:

* trans-expr.cc (gfc_conv_procedure_call): Remove condition
disabling clobber generation for dummy variables.  Remove
obsolete comment.

gcc/testsuite/ChangeLog:

* gfortran.dg/intent_optimize_6.f90: New test.
gcc/fortran/trans-expr.cc
gcc/testsuite/gfortran.dg/intent_optimize_6.f90 [new file with mode: 0644]