diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 3632e9eb8b093f1015fce144bcef531109a97442..f31943c71f250a101dbe935c473f669aa09c1310 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 5314d87f9b0526436662596e10f8e04111609054..d8da617a9f7aa0e69a0075530118c92573fc1890 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 85a10d8381963e19b2def80fb915b4f4e5d22791..35e969423c451e4fb0ed52ae6bfe3ebb3e7337f1 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 0000000000000000000000000000000000000000..6b0bf2b239bb46f0bcb878f8cd7a517e045b67ff --- /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