aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorDaniel Kraft <d@domob.eu>2010-09-03 15:10:40 +0200
committerDaniel Kraft <domob@gcc.gnu.org>2010-09-03 15:10:40 +0200
commit5792039f7980518c65a21c69e7205a8752a41553 (patch)
treedbe054b3977920f2dedac672087f0abf7f71c3ab /gcc/fortran/resolve.c
parent1c7b11d2a3e5dfb6e1b4e11f098bf4e42ffdf88f (diff)
downloadgcc-5792039f7980518c65a21c69e7205a8752a41553.zip
gcc-5792039f7980518c65a21c69e7205a8752a41553.tar.gz
gcc-5792039f7980518c65a21c69e7205a8752a41553.tar.bz2
re PR fortran/34162 (F2008: Allow internal procedures as actual argument)
2010-09-03 Daniel Kraft <d@domob.eu> PR fortran/34162 * resolve.c (resolve_actual_arglist): Allow internal procedure as actual argument with Fortran 2008. 2010-09-03 Daniel Kraft <d@domob.eu> PR fortran/34162 * gfortran.dg/internal_dummy_1.f90: Add -std=f2003. * gfortran.dg/internal_dummy_2.f08: New test. * gfortran.dg/internal_dummy_3.f08: New test. * gfortran.dg/internal_dummy_4.f08: New test. From-SVN: r163813
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r--gcc/fortran/resolve.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 4b6ac1d..88f43cd 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -1590,8 +1590,11 @@ resolve_actual_arglist (gfc_actual_arglist *arg, procedure_type ptype,
if (sym->attr.contained && !sym->attr.use_assoc
&& sym->ns->proc_name->attr.flavor != FL_MODULE)
{
- gfc_error ("Internal procedure '%s' is not allowed as an "
- "actual argument at %L", sym->name, &e->where);
+ if (gfc_notify_std (GFC_STD_F2008,
+ "Fortran 2008: Internal procedure '%s' is"
+ " used as actual argument at %L",
+ sym->name, &e->where) == FAILURE)
+ return FAILURE;
}
if (sym->attr.elemental && !sym->attr.intrinsic)