diff options
author | mrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-01-13 19:14:33 +0000 |
---|---|---|
committer | mrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-01-13 19:14:33 +0000 |
commit | 0dd8cf9cc8350069e94a624959d1ad4487c46a8c (patch) | |
tree | 63472a8da3b4d5a6c33190c256b60a5710d30a18 /gcc/fortran/resolve.c | |
parent | fe644b69d013e77c7fc2db2a9863969d4f564561 (diff) | |
parent | 69888cc76b4873822f5e48b66f69e9d20d19fc50 (diff) |
Merge in trunk.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@206584 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 0e80f491abc7..ad088bb73b2e 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) @@ -10200,11 +10200,11 @@ gfc_verify_binding_labels (gfc_symbol *sym) && ((gsym->type != GSYM_SUBROUTINE && gsym->type != GSYM_FUNCTION) || (gsym->defined && sym->attr.if_source != IFSRC_IFBODY)) && sym != gsym->ns->proc_name - && (strcmp (gsym->sym_name, sym->name) != 0 - || module != gsym->mod_name + && (module != gsym->mod_name + || strcmp (gsym->sym_name, sym->name) != 0 || (module && strcmp (module, gsym->mod_name) != 0))) { - /* Print an error if the procdure is defined multiple times; we have to + /* Print an error if the procedure is defined multiple times; we have to exclude references to the same procedure via module association or multiple checks for the same procedure. */ gfc_error ("Procedure %s with binding label %s at %L uses the same " |