aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-expr.c
diff options
context:
space:
mode:
authorHarald Anlauf <anlauf@gmx.de>2021-02-21 21:44:24 +0100
committerHarald Anlauf <anlauf@gmx.de>2021-02-21 21:44:24 +0100
commit2df374b337a5f6cf5528e91718e4e12e4006b7ae (patch)
tree57a6a652114e28480eb07d33e6324c966d1dcad5 /gcc/fortran/trans-expr.c
parent3cc5f8620d3d72c51c79e456fc1c000b7d7e19a5 (diff)
downloadgcc-2df374b337a5f6cf5528e91718e4e12e4006b7ae.zip
gcc-2df374b337a5f6cf5528e91718e4e12e4006b7ae.tar.gz
gcc-2df374b337a5f6cf5528e91718e4e12e4006b7ae.tar.bz2
PR fortran/99169 - Do not clobber allocatable intent(out) dummy argument
gcc/fortran/ChangeLog: * trans-expr.c (gfc_conv_procedure_call): Do not add clobber to allocatable intent(out) argument. gcc/testsuite/ChangeLog: * gfortran.dg/intent_optimize_3.f90: New test.
Diffstat (limited to 'gcc/fortran/trans-expr.c')
-rw-r--r--gcc/fortran/trans-expr.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c
index 103cb31..e614924 100644
--- a/gcc/fortran/trans-expr.c
+++ b/gcc/fortran/trans-expr.c
@@ -6077,6 +6077,7 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
&& !fsym->attr.allocatable && !fsym->attr.pointer
&& !e->symtree->n.sym->attr.dimension
&& !e->symtree->n.sym->attr.pointer
+ && !e->symtree->n.sym->attr.allocatable
/* See PR 41453. */
&& !e->symtree->n.sym->attr.dummy
/* FIXME - PR 87395 and PR 41453 */