diff mbox

[Fortran] PR 58998: [4.8/4.9 Regression] Generic interface problem with gfortran

Message ID CAKwh3qgQ_n292e0D1m5HORZ1qxEW6jPgk6eeO1c-Jsgofvh0fA@mail.gmail.com
State New
Headers show

Commit Message

Janus Weil Dec. 30, 2013, 5:03 p.m. UTC
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  <janus@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  <janus@gcc.gnu.org>

    PR fortran/58998
    * gfortran.dg/generic_28.f90: New.

Comments

Steve Kargl Dec. 30, 2013, 5:05 p.m. UTC | #1
On Mon, Dec 30, 2013 at 06:03:30PM +0100, Janus Weil wrote:
> 
> 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?
> 

OK.
Janus Weil Dec. 30, 2013, 5:34 p.m. UTC | #2
>> The rather straightforward one-line patch was regtested on
>> x86_64-unknown-linux-gnu. Ok for trunk and 4.8?
>>
>
> OK.

Thanks, Steve. Committed as r206249.

Cheers,
Janus
diff mbox

Patch

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