Hi all,

since the number of regressions unfortunately keeps on rising since
quite some time, I think it would be a suitable new-year's resolution
for the whole gfortran team to try and get the number of those buggers
closer to zero again ;)

I even volunteer to make a start with the one mentioned in the subject
line. The fix is actually easy once you know where to look (which was
simplified a lot by Dominique's efforts to identify the blameworthy
commit).

The rather straightforward one-line patch was regtested on
x86_64-unknown-linux-gnu. Ok for trunk and 4.8?

Cheers,
Janus



2013-12-30  Janus Weil  <ja...@gcc.gnu.org>

    PR fortran/58998
    * resolve.c (resolve_symbol): Check that symbol is not only flavorless
    but also untyped.

2013-12-30  Janus Weil  <ja...@gcc.gnu.org>

    PR fortran/58998
    * gfortran.dg/generic_28.f90: New.
Index: gcc/fortran/resolve.c
===================================================================
--- gcc/fortran/resolve.c       (revision 206231)
+++ gcc/fortran/resolve.c       (working copy)
@@ -12732,7 +12732,8 @@ resolve_symbol (gfc_symbol *sym)
   if (sym->attr.flavor == FL_UNKNOWN
       || (sym->attr.flavor == FL_PROCEDURE && !sym->attr.intrinsic
          && !sym->attr.generic && !sym->attr.external
-         && sym->attr.if_source == IFSRC_UNKNOWN))
+         && sym->attr.if_source == IFSRC_UNKNOWN
+         && sym->ts.type == BT_UNKNOWN))
     {
 
     /* If we find that a flavorless symbol is an interface in one of the
! { dg-do compile }
!
! PR 58998: [4.8/4.9 Regression] Generic interface problem with gfortran
!
! Contributed by Paul van Delst

  interface iargc
    procedure iargc_8
  end interface
  
contains

  integer(8) function iargc_8()
    integer(4) iargc
    iargc_8 = iargc()
  end function
  
end

Reply via email to