diff options
author | Janus Weil <janus@gcc.gnu.org> | 2014-01-06 12:31:34 +0100 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2014-01-06 12:31:34 +0100 |
commit | 04ba12ef8d883480ed9a178cef4e1e36be919c54 (patch) | |
tree | 7617bdd6da75d1dadd31463961b9183362654ba1 /gcc/fortran/resolve.c | |
parent | c7d19c0b588cc00957d7e40d75d336c41e73fbb3 (diff) | |
download | gcc-04ba12ef8d883480ed9a178cef4e1e36be919c54.zip gcc-04ba12ef8d883480ed9a178cef4e1e36be919c54.tar.gz gcc-04ba12ef8d883480ed9a178cef4e1e36be919c54.tar.bz2 |
re PR fortran/59023 (ICE in gfc_search_interface with BIND(C))
2014-01-06 Janus Weil <janus@gcc.gnu.org>
PR fortran/59023
PR fortran/59662
* resolve.c (resolve_global_procedure): Don't apply to c-binding
procedures.
(gfc_verify_binding_labels): Remove duplicate line.
2014-01-06 Janus Weil <janus@gcc.gnu.org>
PR fortran/59023
* gfortran.dg/bind_c_procs_2.f90: New.
From-SVN: r206355
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 0e80f49..e78788b 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -2351,6 +2351,7 @@ resolve_global_procedure (gfc_symbol *sym, locus *where, if ((sym->attr.if_source == IFSRC_UNKNOWN || sym->attr.if_source == IFSRC_IFBODY) && gsym->type != GSYM_UNKNOWN + && !gsym->binding_label && gsym->ns && gsym->ns->resolved != -1 && gsym->ns->proc_name @@ -10163,7 +10164,6 @@ gfc_verify_binding_labels (gfc_symbol *sym) gsym->where = sym->declared_at; gsym->sym_name = sym->name; gsym->binding_label = sym->binding_label; - gsym->binding_label = sym->binding_label; gsym->ns = sym->ns; gsym->mod_name = module; if (sym->attr.function) |