------- 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