From: Paul Thomas Date: Thu, 4 Oct 2007 04:45:41 +0000 (+0000) Subject: re PR fortran/33542 (gfortran does not detect ambigious specific names if they are... X-Git-Tag: releases/gcc-4.3.0~2227 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ee332da9f77d641cb731596e6d2545ba03b6b326;p=thirdparty%2Fgcc.git re PR fortran/33542 (gfortran does not detect ambigious specific names if they are the same as generic names) 2007-10-04 Paul Thomas PR fortran/33542 * interface.c (check_interface1): Revert patch of 2007-10-02. 2007-10-04 Paul Thomas PR fortran/33542 * gfortran.dg/ambiguous_specific_1.f90: Remove. From-SVN: r129000 --- diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index cb9c9ca964f0..327d9a5c0b17 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2007-10-04 Paul Thomas + + PR fortran/33542 + * interface.c (check_interface1): Revert patch of 10-02. + 2007-10-03 Francois-Xavier Coudert PR fortran/26682 diff --git a/gcc/fortran/interface.c b/gcc/fortran/interface.c index 651351727a5d..741bba575209 100644 --- a/gcc/fortran/interface.c +++ b/gcc/fortran/interface.c @@ -1044,8 +1044,7 @@ 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) - || p->sym->name == q->sym->name) + if (compare_interfaces (p->sym, q->sym, generic_flag)) { if (referenced) { diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 017341160a91..6a4936339168 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-10-04 Paul Thomas + + PR fortran/33542 + * gfortran.dg/ambiguous_specific_1.f90: Remove. + 2007-10-03 Alexandre Oliva * g++.dg/ext/gnu-inline-global-redecl.C: New. diff --git a/gcc/testsuite/gfortran.dg/ambiguous_specific_1.f90 b/gcc/testsuite/gfortran.dg/ambiguous_specific_1.f90 deleted file mode 100644 index 63ea9da32bc0..000000000000 --- a/gcc/testsuite/gfortran.dg/ambiguous_specific_1.f90 +++ /dev/null @@ -1,37 +0,0 @@ -! { dg-do compile } -! Checks the fix for PR33542, in which the ambiguity in the specific -! interfaces of foo was missed. -! -! Contributed by Tobias Burnus -! -MODULE M1 - INTERFACE FOO - MODULE PROCEDURE FOO2 - END INTERFACE -CONTAINS - SUBROUTINE FOO2(I) - INTEGER, INTENT(IN) :: I - WRITE(*,*) 'INTEGER' - END SUBROUTINE FOO2 -END MODULE M1 - -MODULE M2 - INTERFACE FOO - MODULE PROCEDURE FOO2 - END INTERFACE -CONTAINS - SUBROUTINE FOO2(R) - REAL, INTENT(IN) :: R - WRITE(*,*) 'REAL' - END SUBROUTINE FOO2 -END MODULE M2 - -PROGRAM P - USE M1 ! { dg-error "Ambiguous interfaces" } - USE M2 - implicit none - external bar - CALL FOO(10) - CALL FOO(10.) -END PROGRAM P -! { dg-final { cleanup-modules "m1 m2" } }