]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR fortran/33542 (gfortran does not detect ambigious specific names if they are...
authorPaul Thomas <pault@gcc.gnu.org>
Thu, 4 Oct 2007 04:45:41 +0000 (04:45 +0000)
committerPaul Thomas <pault@gcc.gnu.org>
Thu, 4 Oct 2007 04:45:41 +0000 (04:45 +0000)
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

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

index cb9c9ca964f0276fec908156b8d5fc9d80f95c2f..327d9a5c0b17d876fb717a4d46974065a8eb71d2 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 651351727a5dbd3f0181053b3ca949f82135e0ff..741bba57520998e7bc03f8caafd33d241a89b568 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 017341160a91cbd2fc4c0796effcedd9eb4377f0..6a493633916884c044500ddb2821bf274c079ba7 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" } }