[Bug fortran/24545] gfortran bug regarding interface block with named END INTERFACE statements

2005-10-28 Thread kargl at gcc dot gnu dot org


--- Comment #3 from kargl at gcc dot gnu dot org  2005-10-28 20:06 ---
Subject: Bug 24545

Author: kargl
Date: Fri Oct 28 20:05:56 2005
New Revision: 105953

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=105953
Log:
PR fortran/24545
* interface.c (gfc_match_end_interface): Fix typo in INTERFACE_USER_OP case.



Added:
trunk/gcc/testsuite/gfortran.dg/interface_2.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/interface.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/24545] gfortran bug regarding interface block with named END INTERFACE statements

2005-10-28 Thread sgk at troutmask dot apl dot washington dot edu


--- Comment #4 from sgk at troutmask dot apl dot washington dot edu  
2005-10-28 20:07 ---
Subject: Re:  gfortran bug regarding interface block with named END INTERFACE
statements

On Wed, Oct 26, 2005 at 06:54:10PM -, steven at gcc dot gnu dot org wrote:
 
 Index: interface.c
 ===
 RCS file: /cvs/gcc/gcc/gcc/fortran/interface.c,v
 retrieving revision 1.21
 diff -u -3 -p -r1.21 interface.c
 --- interface.c 21 Oct 2005 18:50:52 -  1.21
 +++ interface.c 26 Oct 2005 18:53:39 -
 @@ -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);
 

Bootstrapped and regression tested  on amd64-*-freebsd.
I've committed the patch.


-- 


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



[Bug fortran/24545] gfortran bug regarding interface block with named END INTERFACE statements

2005-10-28 Thread kargl at gcc dot gnu dot org


--- Comment #5 from kargl at gcc dot gnu dot org  2005-10-28 20:57 ---
Subject: Bug 24545

Author: kargl
Date: Fri Oct 28 20:57:17 2005
New Revision: 105962

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=105962
Log:
PR fortran/24545
* interface.c (gfc_match_end_interface): Fix typo in INTERFACE_USER_OP case.


Added:
branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/interface_2.f90
Modified:
branches/gcc-4_0-branch/gcc/fortran/ChangeLog
branches/gcc-4_0-branch/gcc/fortran/interface.c
branches/gcc-4_0-branch/gcc/testsuite/ChangeLog


-- 


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



[Bug fortran/24545] gfortran bug regarding interface block with named END INTERFACE statements

2005-10-28 Thread kargl at gcc dot gnu dot org


--- Comment #6 from kargl at gcc dot gnu dot org  2005-10-28 20:58 ---
Fixed.


-- 

kargl at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.1.0


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



[Bug fortran/24545] gfortran bug regarding interface block with named END INTERFACE statements

2005-10-28 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|4.1.0   |4.0.3


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



[Bug fortran/24545] gfortran bug regarding interface block with named END INTERFACE statements

2005-10-26 Thread kargl at gcc dot gnu dot org


--- 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|-00-00 00:00:00 |2005-10-26 17:05:50
   date||


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



[Bug fortran/24545] gfortran bug regarding interface block with named END INTERFACE statements

2005-10-26 Thread steven at gcc dot gnu dot org


--- Comment #2 from steven at gcc dot gnu dot org  2005-10-26 18:54 ---
Perhaps this cures it.

Index: interface.c
===
RCS file: /cvs/gcc/gcc/gcc/fortran/interface.c,v
retrieving revision 1.21
diff -u -3 -p -r1.21 interface.c
--- interface.c 21 Oct 2005 18:50:52 -  1.21
+++ interface.c 26 Oct 2005 18:53:39 -
@@ -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);


-- 


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