------- Comment #1 from pault at gcc dot gnu dot org 2008-05-13 21:34 ------- (In reply to comment #0) This fixs it and regtests OK
Index: gcc/fortran/interface.c =================================================================== *** gcc/fortran/interface.c (revision 134835) --- gcc/fortran/interface.c (working copy) *************** compare_actual_formal (gfc_actual_arglis *** 1942,1948 **** actual_size = get_expr_storage_size (a->expr); formal_size = get_sym_storage_size (f->sym); ! if (actual_size != 0 && actual_size < formal_size) { if (a->expr->ts.type == BT_CHARACTER && !f->sym->as && where) gfc_warning ("Character length of actual argument shorter " --- 1942,1950 ---- actual_size = get_expr_storage_size (a->expr); formal_size = get_sym_storage_size (f->sym); ! if (actual_size != 0 ! && actual_size < formal_size ! && a->expr->ts.type != BT_PROCEDURE) { if (a->expr->ts.type == BT_CHARACTER && !f->sym->as && where) gfc_warning ("Character length of actual argument shorter " -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36233