diff options
author | Tobias Burnus <burnus@net-b.de> | 2012-10-28 17:57:12 +0100 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2012-10-28 17:57:12 +0100 |
commit | 57bf28eab7d3b708b52d4d3f52b0f42966945b8d (patch) | |
tree | c44e73e72c315e9062bb21c9d63b806af2cd111c /gcc/fortran/interface.c | |
parent | 036e1775739f9449a055adae2cb262e17336f74d (diff) | |
download | gcc-57bf28eab7d3b708b52d4d3f52b0f42966945b8d.zip gcc-57bf28eab7d3b708b52d4d3f52b0f42966945b8d.tar.gz gcc-57bf28eab7d3b708b52d4d3f52b0f42966945b8d.tar.bz2 |
re PR fortran/54958 (Wrongly rejects ac-implied-DO variables which also occur with INTENT(IN))
2012-10-28 Tobias Burnus <burnus@net-b.de>
PR fortran/54958
* gfortran.h (gfc_resolve_iterator_expr,
gfc_check_vardef_context): Update prototype.
* expr.c (gfc_check_vardef_context): Add own_scope
argument and honour it.
* resolve.c (gfc_resolve_iterator_expr): Add own_scope
argument and honour it.
(resolve_deallocate_expr, resolve_allocate_expr,
resolve_data_variables, resolve_transfer
resolve_lock_unlock, resolve_code): Update calls.
* array.c (resolve_array_list): Ditto.
* check.c (gfc_check_atomic_def, gfc_check_atomic_ref): Ditto.
* interface.c (compare_actual_formal): Ditto.
* intrinsic.c (check_arglist): Ditto.
* io.c (resolve_tag, gfc_resolve_dt, gfc_resolve_inquire):
* Ditto.
2012-10-28 Tobias Burnus <burnus@net-b.de>
PR fortran/54958
* gfortran.dg/do_check_6.f90: New.
From-SVN: r192896
Diffstat (limited to 'gcc/fortran/interface.c')
-rw-r--r-- | gcc/fortran/interface.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/fortran/interface.c b/gcc/fortran/interface.c index 2bdabfe..d90fc73 100644 --- a/gcc/fortran/interface.c +++ b/gcc/fortran/interface.c @@ -2713,10 +2713,10 @@ compare_actual_formal (gfc_actual_arglist **ap, gfc_formal_arglist *formal, if (((f->sym->ts.type == BT_CLASS && f->sym->attr.class_ok && CLASS_DATA (f->sym)->attr.class_pointer) || (f->sym->ts.type != BT_CLASS && f->sym->attr.pointer)) - && gfc_check_vardef_context (a->expr, true, false, context) + && gfc_check_vardef_context (a->expr, true, false, false, context) == FAILURE) return 0; - if (gfc_check_vardef_context (a->expr, false, false, context) + if (gfc_check_vardef_context (a->expr, false, false, false, context) == FAILURE) return 0; } |