summaryrefslogtreecommitdiffstats
path: root/gcc/fortran/trans-expr.c
diff options
context:
space:
mode:
authorpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>2009-11-20 06:43:13 +0000
committerpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>2009-11-20 06:43:13 +0000
commit7e74cd03929534bffbd67ea492b1d168329ff5ff (patch)
tree66857d87ffdd09bd92c2983332200a1706be64a7 /gcc/fortran/trans-expr.c
parentab5826e67ec1ecf28a5f32a63f5733293de0f1ac (diff)
downloadppe42-gcc-7e74cd03929534bffbd67ea492b1d168329ff5ff.tar.gz
ppe42-gcc-7e74cd03929534bffbd67ea492b1d168329ff5ff.zip
2009-11-20 Paul Thomas <pault@gcc.gnu.org>
Janus Weil <janus@gcc.gnu.org> PR fortran/42104 * trans-expr.c (gfc_conv_procedure_call): If procedure pointer component call, use the component's 'always_explicit' attr for array arguments. 2009-11-20 Paul Thomas <pault@gcc.gnu.org> Janus Weil <janus@gcc.gnu.org> PR fortran/42104 * gfortran.dg/proc_ptr_comp_23.f90 : New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154358 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/trans-expr.c')
-rw-r--r--gcc/fortran/trans-expr.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c
index c0df6782750..6646b266a6d 100644
--- a/gcc/fortran/trans-expr.c
+++ b/gcc/fortran/trans-expr.c
@@ -2979,7 +2979,10 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
f = (fsym != NULL)
&& !(fsym->attr.pointer || fsym->attr.allocatable)
&& fsym->as->type != AS_ASSUMED_SHAPE;
- f = f || !sym->attr.always_explicit;
+ if (comp)
+ f = f || !comp->attr.always_explicit;
+ else
+ f = f || !sym->attr.always_explicit;
if (e->expr_type == EXPR_VARIABLE
&& is_subref_array (e))
OpenPOWER on IntegriCloud