]> git.ipfire.org Git - thirdparty/gcc.git/commit
fortran: Support clobbering of allocatables and pointers [PR41453]
authorMikael Morin <mikael@gcc.gnu.org>
Thu, 1 Sep 2022 09:27:36 +0000 (11:27 +0200)
committerMikael Morin <mikael@gcc.gnu.org>
Sun, 25 Sep 2022 12:44:54 +0000 (14:44 +0200)
commit95375ffb3dd59f51e79408dd3b2b620dc1af71b1
tree15a4d6e59420f2ba7b4fe123e155180d492808a5
parentd5e1935b09fa05093e31d7ce5e21b7e71957c103
fortran: Support clobbering of allocatables and pointers [PR41453]

This adds support for clobbering of allocatable and pointer scalar
variables passed as actual argument to a subroutine when the associated
dummy has the INTENT(OUT) attribute.
Support was explicitly disabled (since the beginning for pointers, since
r11-7315-g2df374b337a5f6cf5528e91718e4e12e4006b7ae for allocatables),
but the clobber generation code seems to support it well, as
demonstrated by the newly added testcase.

PR fortran/41453
PR fortran/99169

gcc/fortran/ChangeLog:

* trans-expr.cc (gfc_conv_procedure_call): Remove conditions
on ALLOCATABLE and POINTER attributes guarding clobber
generation.

gcc/testsuite/ChangeLog:

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