diff options
author | Paul Thomas <pault@gcc.gnu.org> | 2007-10-04 04:45:41 +0000 |
---|---|---|
committer | Paul Thomas <pault@gcc.gnu.org> | 2007-10-04 04:45:41 +0000 |
commit | ee332da9f77d641cb731596e6d2545ba03b6b326 (patch) | |
tree | 81c4a8a9536d0e135c5a39dcfe10068f375f0ec9 | |
parent | 231d0665181e5a58542608c129fe31e323bddff6 (diff) | |
download | gcc-ee332da9f77d641cb731596e6d2545ba03b6b326.zip gcc-ee332da9f77d641cb731596e6d2545ba03b6b326.tar.gz gcc-ee332da9f77d641cb731596e6d2545ba03b6b326.tar.bz2 |
re PR fortran/33542 (gfortran does not detect ambigious specific names if they are the same as generic names)
2007-10-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33542
* interface.c (check_interface1): Revert patch of 2007-10-02.
2007-10-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33542
* gfortran.dg/ambiguous_specific_1.f90: Remove.
From-SVN: r129000
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/interface.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/ambiguous_specific_1.f90 | 37 |
4 files changed, 11 insertions, 39 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index cb9c9ca..327d9a5 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2007-10-04 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/33542 + * interface.c (check_interface1): Revert patch of 10-02. + 2007-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR fortran/26682 diff --git a/gcc/fortran/interface.c b/gcc/fortran/interface.c index 6513517..741bba5 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 0173411..6a49363 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-10-04 Paul Thomas <pault@gcc.gnu.org> + + PR fortran/33542 + * gfortran.dg/ambiguous_specific_1.f90: Remove. + 2007-10-03 Alexandre Oliva <aoliva@redhat.com> * 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 63ea9da..0000000 --- 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 <burnus@gcc.gnu.org> -! -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" } } |