From 13157033d4fc1d109b1dc7c063bfa46638144df5 Mon Sep 17 00:00:00 2001 From: Tobias Burnus Date: Thu, 12 May 2011 19:40:29 +0200 Subject: re PR fortran/48972 (OPEN with Unicode file name) 2011-05-12 Tobias Burnus PR fortran/48972 * resolve.c (resolve_intrinsic): Don't resolve module intrinsics multiple times. 2011-05-12 Tobias Burnus PR fortran/48972 * gfortran.dg/iso_c_binding_compiler_3.f90: New. From-SVN: r173708 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/resolve.c | 4 ++++ 2 files changed, 10 insertions(+) (limited to 'gcc/fortran') diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index f2dfe3f..6a6fba0 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2011-05-12 Tobias Burnus + + PR fortran/48972 + * resolve.c (resolve_intrinsic): Don't resolve module + intrinsics multiple times. + 2011-05-11 Tobias Burnus PR fortran/48889 diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index a19b103..3483bc7 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -1441,6 +1441,10 @@ resolve_intrinsic (gfc_symbol *sym, locus *loc) if (sym->formal) return SUCCESS; + /* Already resolved. */ + if (sym->from_intmod && sym->ts.type != BT_UNKNOWN) + return SUCCESS; + /* We already know this one is an intrinsic, so we don't call gfc_is_intrinsic for full checking but rather use gfc_find_function and gfc_find_subroutine directly to check whether it is a function or -- cgit v1.1