diff options
author | Paul Thomas <pault@gcc.gnu.org> | 2006-11-28 05:36:07 +0000 |
---|---|---|
committer | Paul Thomas <pault@gcc.gnu.org> | 2006-11-28 05:36:07 +0000 |
commit | 911a40abe03cc49145102efa3881e129c9d9b528 (patch) | |
tree | f84fbfbcbc1d745269318450cc377786650ce509 /gcc/fortran/resolve.c | |
parent | b93029150149dce2e8d2d3948b5e8d7fbd14c26e (diff) | |
download | gcc-911a40abe03cc49145102efa3881e129c9d9b528.zip gcc-911a40abe03cc49145102efa3881e129c9d9b528.tar.gz gcc-911a40abe03cc49145102efa3881e129c9d9b528.tar.bz2 |
re PR fortran/20880 (USE association of procedure's own interface)
2006-11-28 Paul Thomas <pault@gcc.gnu.org>
PR fortran/20880
* resolve.c (resolve_fl_procedure): Error if procedure is
ambiguous modified to require attr.referenced.
2006-11-28 Paul Thomas <pault@gcc.gnu.org>
PR fortran/20880
* gfortran.dg/interface_3.f90: Modify errors.
From-SVN: r119272
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index a4d220a..fd544c9 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -5523,7 +5523,9 @@ resolve_fl_procedure (gfc_symbol *sym, int mp_flag) return FAILURE; st = gfc_find_symtree (gfc_current_ns->sym_root, sym->name); - if (st && st->ambiguous && !sym->attr.generic) + if (st && st->ambiguous + && sym->attr.referenced + && !sym->attr.generic) { gfc_error ("Procedure %s at %L is ambiguous", sym->name, &sym->declared_at); |