aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorPaul Thomas <pault@gcc.gnu.org>2006-11-28 05:36:07 +0000
committerPaul Thomas <pault@gcc.gnu.org>2006-11-28 05:36:07 +0000
commit911a40abe03cc49145102efa3881e129c9d9b528 (patch)
treef84fbfbcbc1d745269318450cc377786650ce509 /gcc/fortran/resolve.c
parentb93029150149dce2e8d2d3948b5e8d7fbd14c26e (diff)
downloadgcc-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.c4
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);