aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2009-11-07 02:30:08 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2009-11-07 02:30:08 +0000
commit6f7e06ce63c24161674bd4e7e2ca8f6d2b4ca026 (patch)
tree196b2559ca0bf2814ba7fffe8ef6a4caf80323fa
parentd3b31d8b015cbdc01ff123140524bd66cb919d79 (diff)
downloadgcc-6f7e06ce63c24161674bd4e7e2ca8f6d2b4ca026.zip
gcc-6f7e06ce63c24161674bd4e7e2ca8f6d2b4ca026.tar.gz
gcc-6f7e06ce63c24161674bd4e7e2ca8f6d2b4ca026.tar.bz2
resolve.c (is_illegal_recursion): Return false if sym is program.
2009-11-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> * resolve.c (is_illegal_recursion): Return false if sym is program. From-SVN: r153988
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/resolve.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 33deec4..93d242c 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -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>
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 1cbe04a..d9a53e2 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -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. */