2007-10-04 Paul Thomas <pault@gcc.gnu.org>
authorpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 Oct 2007 04:45:41 +0000 (04:45 +0000)
committerpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 Oct 2007 04:45:41 +0000 (04:45 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129000 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/fortran/ChangeLog
gcc/fortran/interface.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/ambiguous_specific_1.f90 [deleted file]

index cb9c9ca..327d9a5 100644 (file)
@@ -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
index 6513517..741bba5 100644 (file)
@@ -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)
              {
index 0173411..6a49363 100644 (file)
@@ -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 (file)
index 63ea9da..0000000
+++ /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" } }