------- Comment #3 from jaydub66 at gmail dot com 2008-04-07 22:01 ------- Another thing I just noticed is that dummy procedures are currently not checked for being called with the right arguments (-> compare_actual_formal), e.g. in the above test case "call f([1,2,3])" could also be called with a different number of arguments like "call f(1,2)" without any error message. In fact this check is currently omitted for any procedure which has the EXTERNAL attribute (which includes all procedures declared via the "PROCEDURE()::" statement). But I guess this check should better be omitted only for procedures which have an implicit interface, right? This can be cured with the following patch:
Index: gcc/fortran/interface.c =================================================================== --- gcc/fortran/interface.c (revision 133905) +++ gcc/fortran/interface.c (working copy) @@ -2419,8 +2419,7 @@ gfc_procedure_use (gfc_symbol *sym, gfc_ } } - if (sym->attr.external - || sym->attr.if_source == IFSRC_UNKNOWN) + if (sym->attr.if_source == IFSRC_UNKNOWN) { gfc_actual_arglist *a; for (a = *ap; a; a = a->next) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35830