From 2b91aea838279a2fa5f2b09a8590e4007e87025e Mon Sep 17 00:00:00 2001 From: Mikael Morin Date: Wed, 25 Mar 2015 10:15:46 +0000 Subject: Fix regression introduced at revision 221586. PR fortran/64952 PR fortran/65532 fortran/ * gfortran.h (struct gfc_namespace): New field 'types_resolved'. * resolve.c (resolve_types): Return early if field 'types_resolved' is set. Set 'types_resolved' at the end. testsuite/ * gfortran.dg/data_initialized_3.f90: New. From-SVN: r221657 --- gcc/fortran/resolve.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gcc/fortran/resolve.c') diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 2a24dfd..316b413 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -14942,6 +14942,9 @@ resolve_types (gfc_namespace *ns) gfc_equiv *eq; gfc_namespace* old_ns = gfc_current_ns; + if (ns->types_resolved) + return; + /* Check that all IMPLICIT types are ok. */ if (!ns->seen_implicit_none) { @@ -15016,6 +15019,8 @@ resolve_types (gfc_namespace *ns) gfc_resolve_omp_udrs (ns->omp_udr_root); + ns->types_resolved = 1; + gfc_current_ns = old_ns; } -- cgit v1.1