aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/interface.c
diff options
context:
space:
mode:
authorPaul Thomas <pault@gcc.gnu.org>2007-10-02 11:45:11 +0000
committerPaul Thomas <pault@gcc.gnu.org>2007-10-02 11:45:11 +0000
commitdcd3d96354f9b1528a64b77050070aaa1f7a6d87 (patch)
treed64fdf0842a3f55f972403ea1e1bec75d30768f1 /gcc/fortran/interface.c
parentf502740976e81bd3971ebc1e345af93540755b85 (diff)
downloadgcc-dcd3d96354f9b1528a64b77050070aaa1f7a6d87.zip
gcc-dcd3d96354f9b1528a64b77050070aaa1f7a6d87.tar.gz
gcc-dcd3d96354f9b1528a64b77050070aaa1f7a6d87.tar.bz2
re PR fortran/33542 (gfortran does not detect ambigious specific names if they are the same as generic names)
2007-10-02 Paul Thomas <pault@gcc.gnu.org> PR fortran/33542 * interface.c (check_interface1): Specific procedures are always ambiguous if they have the same name. 2007-10-02 Paul Thomas <pault@gcc.gnu.org> PR fortran/33542 * gfortran.dg/ambiguous_specific_1.f90: New test. From-SVN: r128954
Diffstat (limited to 'gcc/fortran/interface.c')
-rw-r--r--gcc/fortran/interface.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/fortran/interface.c b/gcc/fortran/interface.c
index 741bba5..6513517 100644
--- a/gcc/fortran/interface.c
+++ b/gcc/fortran/interface.c
@@ -1044,7 +1044,8 @@ check_interface1 (gfc_interface *p, gfc_interface *q0,
if (p->sym->name == q->sym->name && p->sym->module == q->sym->module)
continue;
- if (compare_interfaces (p->sym, q->sym, generic_flag))
+ if (compare_interfaces (p->sym, q->sym, generic_flag)
+ || p->sym->name == q->sym->name)
{
if (referenced)
{