aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/interface.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/interface_2.f9029
4 files changed, 41 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 3632e9e..f31943c 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -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
diff --git a/gcc/fortran/interface.c b/gcc/fortran/interface.c
index 5314d87..d8da617 100644
--- a/gcc/fortran/interface.c
+++ b/gcc/fortran/interface.c
@@ -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);
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 85a10d8..35e9694 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
index 0000000..6b0bf2b
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/interface_2.f90
@@ -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