diff options
author | Paul Thomas <pault@gcc.gnu.org> | 2007-01-02 14:23:36 +0000 |
---|---|---|
committer | Paul Thomas <pault@gcc.gnu.org> | 2007-01-02 14:23:36 +0000 |
commit | ff604888532c10d72b45494670151be4fadfbd39 (patch) | |
tree | eaac45937e8ca8639bf0332ca79d422ef8b927ed /gcc/fortran | |
parent | 06d40de8bb03594e0f0eb7d0636f8ca84ce7d86d (diff) | |
download | gcc-ff604888532c10d72b45494670151be4fadfbd39.zip gcc-ff604888532c10d72b45494670151be4fadfbd39.tar.gz gcc-ff604888532c10d72b45494670151be4fadfbd39.tar.bz2 |
re PR fortran/20896 (ambiguous interface not detected)
2007-01-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/20896
* interface.c (check_sym_interfaces): Remove call to
resolve_global_procedure.
gfortran.h : Remove prototype for resolve_global_procedure.
resolve.c (resolve_global_procedure): Add static attribute
to function declaration.
2007-01-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/20896
* gfortran.dg/interface_10.f90: Remove.
From-SVN: r120342
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/fortran/gfortran.h | 1 | ||||
-rw-r--r-- | gcc/fortran/interface.c | 5 | ||||
-rw-r--r-- | gcc/fortran/resolve.c | 2 |
4 files changed, 10 insertions, 7 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 866038f..e8a3de5 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,12 @@ +2007-01-02 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/20896 + * interface.c (check_sym_interfaces): Remove call to + resolve_global_procedure. + gfortran.h : Remove prototype for resolve_global_procedure. + resolve.c (resolve_global_procedure): Add static attribute + to function declaration. + 2007-01-01 Steven G. Kargl <kargls@comcast.net> * ChangeLog: Copy to ... diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h index b477439..6286297 100644 --- a/gcc/fortran/gfortran.h +++ b/gcc/fortran/gfortran.h @@ -2032,7 +2032,6 @@ void gfc_free_statement (gfc_code *); void gfc_free_statements (gfc_code *); /* resolve.c */ -void resolve_global_procedure (gfc_symbol *, locus *, int); try gfc_resolve_expr (gfc_expr *); void gfc_resolve (gfc_namespace *); void gfc_resolve_blocks (gfc_code *, gfc_namespace *); diff --git a/gcc/fortran/interface.c b/gcc/fortran/interface.c index 04618e7..dd1ac69 100644 --- a/gcc/fortran/interface.c +++ b/gcc/fortran/interface.c @@ -1016,11 +1016,6 @@ check_sym_interfaces (gfc_symbol * sym) if (sym->ns != gfc_current_ns) return; - if (sym->attr.if_source == IFSRC_IFBODY - && sym->attr.flavor == FL_PROCEDURE - && !sym->attr.mod_proc) - resolve_global_procedure (sym, &sym->declared_at, sym->attr.subroutine); - if (sym->generic != NULL) { sprintf (interface_name, "generic interface '%s'", sym->name); diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index ba547f2..650a5a2 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -1235,7 +1235,7 @@ find_noncopying_intrinsics (gfc_symbol * fnsym, gfc_actual_arglist * actual) reference. The corresponding code that is called in creating global entities is parse.c. */ -void +static void resolve_global_procedure (gfc_symbol *sym, locus *where, int sub) { gfc_gsymbol * gsym; |