------- Comment #1 from kargl at gcc dot gnu dot org  2005-10-26 17:05 -------
Here's a reduced code that shows the problem.  Gfortran is
not handling the END INTERFACE OPERATOR (.EqualTo.) correctly.
This confuses the heck out of the error recovery code.

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


-- 

kargl at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kargl at gcc dot gnu dot org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2005-10-26 17:05:50
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24545

Reply via email to