diff options
author | dfranke <dfranke@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-05-21 22:24:55 +0000 |
---|---|---|
committer | dfranke <dfranke@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-05-21 22:24:55 +0000 |
commit | 18f801dd3e5e4a1e4e372f5ccce6a41331a32c55 (patch) | |
tree | 9e3752725ea5fa801e046db1fd56d2a18a949134 /gcc/fortran/resolve.c | |
parent | 92a4c76352df940c1e3aa9bd0f6bee004d604e64 (diff) | |
download | gcc-18f801dd3e5e4a1e4e372f5ccce6a41331a32c55.tar.gz |
gcc/fortran:
2005-05-21 Jerry DeLisle <jvdelisle@verizon.net>
Daniel Franke <franke.daniel@gmail.com>
PR fortran/32002
* resolve.c (resolve_actual_arglist): Resolve actual argument after
being identified as variable.
gcc/testsuite:
2005-05-21 Daniel Franke <franke.daniel@gmail.com>
PR fortran/32002
* gfortran.dg/compliant_elemental_intrinsics_2.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124924 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index b6d1f3b9732..746d41b3315 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -1013,6 +1013,13 @@ resolve_actual_arglist (gfc_actual_arglist *arg, procedure_type ptype) e->ref->u.ar.as = sym->as; } + /* Expressions are assigned a default ts.type of BT_PROCEDURE in + primary.c (match_actual_arg). If above code determines that it + is a variable instead, it needs to be resolved as it was not + done at the beginning of this function. */ + if (gfc_resolve_expr (e) != SUCCESS) + return FAILURE; + argument_list: /* Check argument list functions %VAL, %LOC and %REF. There is nothing to do for %REF. */ |