diff options
author | Mikael Morin <mikael@gcc.gnu.org> | 2015-05-24 14:55:50 +0000 |
---|---|---|
committer | Mikael Morin <mikael@gcc.gnu.org> | 2015-05-24 14:55:50 +0000 |
commit | bc0c7f396b0c9648365aee462e25107db00227e8 (patch) | |
tree | c644ad2ddb4bd4d235ee54821e1e4f3eb62d84b9 /gcc/fortran/resolve.c | |
parent | 70e7f2a2df3f167c71b1a84ffb865c9a8e2610e1 (diff) | |
download | gcc-bc0c7f396b0c9648365aee462e25107db00227e8.zip gcc-bc0c7f396b0c9648365aee462e25107db00227e8.tar.gz gcc-bc0c7f396b0c9648365aee462e25107db00227e8.tar.bz2 |
re PR fortran/66257 (ELEMENTAL procedure pointer component XX is not allowed as an actual argument)
PR fortran/66257
gcc/fortran/
* resolve.c (resolve_actual_arglist): Don't throw an error
if the argument with procedure pointer component is not a variable.
gcc/testsuite/
* typebound_call_27.f90: New file.
From-SVN: r223631
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 492c016..e615cc6 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -1981,7 +1981,8 @@ resolve_actual_arglist (gfc_actual_arglist *arg, procedure_type ptype, } comp = gfc_get_proc_ptr_comp(e); - if (comp && comp->attr.elemental) + if (e->expr_type == EXPR_VARIABLE + && comp && comp->attr.elemental) { gfc_error ("ELEMENTAL procedure pointer component %qs is not " "allowed as an actual argument at %L", comp->name, |