resolve.c (is_illegal_recursion): Return false if sym is program.
authorJerry DeLisle <jvdelisle@gcc.gnu.org>
Sat, 7 Nov 2009 02:30:08 +0000 (02:30 +0000)
committerJerry DeLisle <jvdelisle@gcc.gnu.org>
Sat, 7 Nov 2009 02:30:08 +0000 (02:30 +0000)
2009-11-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* resolve.c (is_illegal_recursion): Return false if sym is program.

From-SVN: r153988

gcc/fortran/ChangeLog
gcc/fortran/resolve.c

index 33deec4..93d242c 100644 (file)
@@ -1,6 +1,10 @@
+2009-11-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       * resolve.c (is_illegal_recursion): Return false if sym is program.
+
 2009-11-06  Steven G. Kargl  <kargl@gcc.gnu.org>
 
-       resolve.c (check_typebound_override): Remove duplicate "in" in error
+       resolve.c (check_typebound_override): Remove duplicate "in" in error
        message.
 
 2009-11-05  Steven G. Kargl  <kargl@gcc.gnu.org>
index 1cbe04a..d9a53e2 100644 (file)
@@ -1117,6 +1117,9 @@ is_illegal_recursion (gfc_symbol* sym, gfc_namespace* context)
   gfc_symbol* context_proc;
   gfc_namespace* real_context;
 
+  if (sym->attr.flavor == FL_PROGRAM)
+    return false;
+
   gcc_assert (sym->attr.flavor == FL_PROCEDURE);
 
   /* If we've got an ENTRY, find real procedure.  */