diff options
author | Tobias Burnus <burnus@net-b.de> | 2011-05-12 19:40:29 +0200 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2011-05-12 19:40:29 +0200 |
commit | 13157033d4fc1d109b1dc7c063bfa46638144df5 (patch) | |
tree | 2033aa652d67275b83b6af1d14a07829f6703a5c /gcc/fortran | |
parent | 16c20b0a551b3f6dede9db64afd46f8ea10e87d6 (diff) | |
download | gcc-13157033d4fc1d109b1dc7c063bfa46638144df5.zip gcc-13157033d4fc1d109b1dc7c063bfa46638144df5.tar.gz gcc-13157033d4fc1d109b1dc7c063bfa46638144df5.tar.bz2 |
re PR fortran/48972 (OPEN with Unicode file name)
2011-05-12 Tobias Burnus <burnus@net-b.de>
PR fortran/48972
* resolve.c (resolve_intrinsic): Don't resolve module
intrinsics multiple times.
2011-05-12 Tobias Burnus <burnus@net-b.de>
PR fortran/48972
* gfortran.dg/iso_c_binding_compiler_3.f90: New.
From-SVN: r173708
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/resolve.c | 4 |
2 files changed, 10 insertions, 0 deletions
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 <burnus@net-b.de> + + PR fortran/48972 + * resolve.c (resolve_intrinsic): Don't resolve module + intrinsics multiple times. + 2011-05-11 Tobias Burnus <burnus@net-b.de> 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 |