diff options
| author | pault <pault@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-11-20 06:43:13 +0000 |
|---|---|---|
| committer | pault <pault@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-11-20 06:43:13 +0000 |
| commit | 7e74cd03929534bffbd67ea492b1d168329ff5ff (patch) | |
| tree | 66857d87ffdd09bd92c2983332200a1706be64a7 /gcc/fortran/trans-expr.c | |
| parent | ab5826e67ec1ecf28a5f32a63f5733293de0f1ac (diff) | |
| download | ppe42-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.c | 5 |
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)) |

