diff options
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/fortran/resolve.c | 7 |
2 files changed, 15 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index eef8cf8d5a0..a759edb44aa 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,13 @@ +2009-11-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR fortran/41909 + * 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 + message. + 2009-11-05 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/41918 diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index a721d944b33..d9a53e2fa95 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. */ @@ -9480,8 +9483,8 @@ check_typebound_override (gfc_symtree* proc, gfc_symtree* old) if (proc_pass_arg != argpos && old_pass_arg != argpos && !gfc_compare_types (&proc_formal->sym->ts, &old_formal->sym->ts)) { - gfc_error ("Types mismatch for dummy argument '%s' of '%s' %L in" - " in respect to the overridden procedure", + gfc_error ("Types mismatch for dummy argument '%s' of '%s' %L " + "in respect to the overridden procedure", proc_formal->sym->name, proc->name, &where); return FAILURE; } |