http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47978
janus at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2011-09-08 AssignedTo|unassigned at gcc dot |janus at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #3 from janus at gcc dot gnu.org 2011-09-08 14:47:09 UTC --- Preliminary patch: Index: gcc/fortran/interface.c =================================================================== --- gcc/fortran/interface.c (revision 178664) +++ gcc/fortran/interface.c (working copy) @@ -3643,11 +3643,19 @@ gfc_check_typebound_override (gfc_symtree* proc, g 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 respect to the overridden procedure", + gfc_error ("Types mismatch for dummy argument '%s' of '%s' at %L " + "with respect to the overridden procedure", proc_formal->sym->name, proc->name, &where); return FAILURE; } + /* Check INTENT. */ + if (proc_formal->sym->attr.intent != old_formal->sym->attr.intent) + { + gfc_error ("INTENT mismatch in argument '%s' of '%s' at %L " + "with respect to the overridden procedure", + proc_formal->sym->name, proc->name, &where); + return FAILURE; + } ++argpos; }