OSDN Git Service

PR fortran/24545
authorkargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 28 Oct 2005 20:05:56 +0000 (20:05 +0000)
committerkargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 28 Oct 2005 20:05:56 +0000 (20:05 +0000)
* interface.c (gfc_match_end_interface): Fix typo in INTERFACE_USER_OP case.

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

gcc/fortran/ChangeLog
gcc/fortran/interface.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/interface_2.f90 [new file with mode: 0644]

index 3632e9e..f31943c 100644 (file)
@@ -1,3 +1,9 @@
+2005-10-28  Steven Bosscher  <stevenb@suse.de>
+
+       PR fortran/24545
+       * interface.c (gfc_match_end_interface): Fix typo in 
+       INTERFACE_USER_OP case.
+
 2005-10-26  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
 
        PR fortran/15586
index 5314d87..d8da617 100644 (file)
@@ -295,7 +295,7 @@ gfc_match_end_interface (void)
       /* Comparing the symbol node names is OK because only use-associated
          symbols can be renamed.  */
       if (type != current_interface.type
-         || strcmp (current_interface.sym->name, name) != 0)
+         || strcmp (current_interface.uop->name, name) != 0)
        {
          gfc_error ("Expecting 'END INTERFACE OPERATOR (.%s.)' at %C",
                     current_interface.sym->name);
index 85a10d8..35e9694 100644 (file)
@@ -1,3 +1,8 @@
+2005-10-28  Steven G. Kargl  <kargls@comcast.net>
+
+       PR fortran/24545
+       * gfortran.dg/interface_2.f90: new test.
+
 2005-10-28  Josh Conner  <jconner@apple.com>
 
        PR c++/22153
diff --git a/gcc/testsuite/gfortran.dg/interface_2.f90 b/gcc/testsuite/gfortran.dg/interface_2.f90
new file mode 100644 (file)
index 0000000..6b0bf2b
--- /dev/null
@@ -0,0 +1,29 @@
+! { dg-do compile }
+! PR fortran/24545
+MODULE Compare_Float_Numbers
+
+  IMPLICIT NONE
+
+  INTERFACE Compare_Float
+    MODULE PROCEDURE Compare_Float_Single
+  END INTERFACE Compare_Float
+
+  INTERFACE OPERATOR (.EqualTo.)
+    MODULE PROCEDURE Is_Equal_To_Single
+  END INTERFACE OPERATOR (.EqualTo.)
+
+CONTAINS
+
+  FUNCTION Is_Equal_To_Single(x, y) RESULT(Equal_To)
+    REAL(4), INTENT(IN) :: x, y
+    LOGICAL :: Equal_To
+    Equal_To = .true.
+  END FUNCTION Is_Equal_To_Single
+
+  FUNCTION Compare_Float_Single(x, y) RESULT(Compare)
+    REAL(4), INTENT(IN) :: x, y
+    LOGICAL :: Compare
+    Compare = .true.
+  END FUNCTION Compare_Float_Single
+
+END MODULE Compare_Float_Numbers