diff options
author | Harald Anlauf <anlauf@gmx.de> | 2022-08-31 11:50:35 +0200 |
---|---|---|
committer | Mikael Morin <mikael@gcc.gnu.org> | 2022-09-25 14:44:53 +0200 |
commit | 20aa1eb6cb84e6a0487b47b28b00109c5f46a7e2 (patch) | |
tree | af1634cf383540559ef381c52c428bdcf00a8483 /gcc/ada/cstreams.c | |
parent | 29919bf3b6449bafd02e795abbb1966e3990c1fc (diff) | |
download | gcc-20aa1eb6cb84e6a0487b47b28b00109c5f46a7e2.zip gcc-20aa1eb6cb84e6a0487b47b28b00109c5f46a7e2.tar.gz gcc-20aa1eb6cb84e6a0487b47b28b00109c5f46a7e2.tar.bz2 |
fortran: Support clobbering with implicit interfaces [PR105012]
Before procedure calls, we clobber actual arguments whose associated
dummy is INTENT(OUT). This only applies to procedures with explicit
interfaces, as the knowledge of the interface is necessary to know
whether an argument has the INTENT(OUT) attribute.
This change also enables clobber generation for procedure calls without
explicit interface, when the procedure has been defined in the same
file because we can use the dummy arguments' characteristics from the
procedure definition in that case.
The knowledge of the dummy characteristics is directly available through
gfc_actual_arglist’s associated_dummy pointers which have been populated
as a side effect of calling gfc_check_externals.
PR fortran/105012
gcc/fortran/ChangeLog:
* trans-expr.cc (gfc_conv_procedure_call): Use dummy
information from associated_dummy if there is no information
from the procedure interface.
gcc/testsuite/ChangeLog:
* gfortran.dg/intent_optimize_5.f90: New test.
Co-Authored-By: Mikael Morin <mikael@gcc.gnu.org>
Diffstat (limited to 'gcc/ada/cstreams.c')
0 files changed, 0 insertions, 0 deletions