[Bug fortran/34763] bare END not allowed in an interface block in a module procedure

burnus at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sat Jan 12 22:46:00 GMT 2008



------- Comment #2 from burnus at gcc dot gnu dot org  2008-01-12 22:35 -------
I believe the following patch is correct.

Index: gcc/fortran/decl.c
===================================================================
--- gcc/fortran/decl.c  (revision 131492)
+++ gcc/fortran/decl.c  (working copy)
@@ -4870,12 +4870,11 @@ gfc_match_bind_c (gfc_symbol *sym, bool
 static int
 contained_procedure (void)
 {
-  gfc_state_data *s;
+  gfc_state_data *s = gfc_state_stack;

-  for (s=gfc_state_stack; s; s=s->previous)
-    if ((s->state == COMP_SUBROUTINE || s->state == COMP_FUNCTION)
-       && s->previous != NULL && s->previous->state == COMP_CONTAINS)
-      return 1;
+  if ((s->state == COMP_SUBROUTINE || s->state == COMP_FUNCTION)
+      && s->previous != NULL && s->previous->state == COMP_CONTAINS)
+    return 1;

   return 0;
 }


-- 

burnus at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |burnus at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2008-01-12 21:23:52         |2008-01-12 22:35:19
               date|                            |


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



More information about the Gcc-bugs mailing list