aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/cstreams.c
diff options
context:
space:
mode:
authorHarald Anlauf <anlauf@gmx.de>2022-08-31 11:50:35 +0200
committerMikael Morin <mikael@gcc.gnu.org>2022-09-25 14:44:53 +0200
commit20aa1eb6cb84e6a0487b47b28b00109c5f46a7e2 (patch)
treeaf1634cf383540559ef381c52c428bdcf00a8483 /gcc/ada/cstreams.c
parent29919bf3b6449bafd02e795abbb1966e3990c1fc (diff)
downloadgcc-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