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

Reply via email to