public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/58998] New: [4.8/4.9 Regression] Generic interface problem with gfortran
@ 2013-11-05  6:40 burnus at gcc dot gnu.org
  2013-11-05 11:17 ` [Bug fortran/58998] " rguenth at gcc dot gnu.org
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: burnus at gcc dot gnu.org @ 2013-11-05  6:40 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58998

            Bug ID: 58998
           Summary: [4.8/4.9 Regression] Generic interface problem with
                    gfortran
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Keywords: rejects-valid
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: burnus at gcc dot gnu.org

Paul van Delst reports at
https://groups.google.com/forum/#!topic/comp.lang.fortran/MzOnH6_yvPU the
following issue.

Compiles with GCC 4.4.6, 4.6, 4.7.3, ifort v12.4 and PGI v11.
Fails with GCC 4.8 and 4.9 with:
           iargc_8=iargc()
                   1
Error: Function 'iargc_8' at (1) cannot be called recursively, as it is
not RECURSIVE

Conclusion of Robert Corbett and Richard Maine was that the code is ugly but
valid.


   module args_mod
     interface iargc
       module procedure iargc_8
     end interface
     interface getarg
       subroutine getarg(k,c)
         integer(4) k
         character*(*) c
       end subroutine getarg
       module procedure getarg_8
     end interface
   contains
     integer(8) function iargc_8()
       integer(4) iargc
       iargc_8=iargc()
     end function iargc_8
     subroutine getarg_8(k,c)
       integer(8) k
       character*(*) c
       integer(4) k4
       k4=k
       call getarg(k4,c)
     end subroutine getarg_8
   end module args_mod


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug fortran/58998] [4.8/4.9 Regression] Generic interface problem with gfortran
  2013-11-05  6:40 [Bug fortran/58998] New: [4.8/4.9 Regression] Generic interface problem with gfortran burnus at gcc dot gnu.org
@ 2013-11-05 11:17 ` rguenth at gcc dot gnu.org
  2013-11-08 23:13 ` janus at gcc dot gnu.org
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-11-05 11:17 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58998

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P4
   Target Milestone|---                         |4.8.3


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug fortran/58998] [4.8/4.9 Regression] Generic interface problem with gfortran
  2013-11-05  6:40 [Bug fortran/58998] New: [4.8/4.9 Regression] Generic interface problem with gfortran burnus at gcc dot gnu.org
  2013-11-05 11:17 ` [Bug fortran/58998] " rguenth at gcc dot gnu.org
@ 2013-11-08 23:13 ` janus at gcc dot gnu.org
  2013-12-29 12:34 ` dominiq at lps dot ens.fr
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: janus at gcc dot gnu.org @ 2013-11-08 23:13 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58998

janus at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |janus at gcc dot gnu.org

--- Comment #1 from janus at gcc dot gnu.org ---
Reduced test case:


module args_mod

  interface iargc
    module procedure iargc_8
  end interface

contains

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

end module


(The getarg parts are not relevant for the bug.)


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug fortran/58998] [4.8/4.9 Regression] Generic interface problem with gfortran
  2013-11-05  6:40 [Bug fortran/58998] New: [4.8/4.9 Regression] Generic interface problem with gfortran burnus at gcc dot gnu.org
  2013-11-05 11:17 ` [Bug fortran/58998] " rguenth at gcc dot gnu.org
  2013-11-08 23:13 ` janus at gcc dot gnu.org
@ 2013-12-29 12:34 ` dominiq at lps dot ens.fr
  2013-12-29 13:07 ` janus at gcc dot gnu.org
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: dominiq at lps dot ens.fr @ 2013-12-29 12:34 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58998

Dominique d'Humieres <dominiq at lps dot ens.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2013-12-29
     Ever confirmed|0                           |1

--- Comment #2 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
The changed appeared between r185913 (2012-03-28, no error) and r186417
(2012-04-13, error).


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug fortran/58998] [4.8/4.9 Regression] Generic interface problem with gfortran
  2013-11-05  6:40 [Bug fortran/58998] New: [4.8/4.9 Regression] Generic interface problem with gfortran burnus at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2013-12-29 12:34 ` dominiq at lps dot ens.fr
@ 2013-12-29 13:07 ` janus at gcc dot gnu.org
  2013-12-29 13:12 ` janus at gcc dot gnu.org
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: janus at gcc dot gnu.org @ 2013-12-29 13:07 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58998

--- Comment #3 from janus at gcc dot gnu.org ---
According to the c.l.f. discussion, the 'iargc' reference inside the function
'iargc_8' does not refer to the generic interface, but to an external function.


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug fortran/58998] [4.8/4.9 Regression] Generic interface problem with gfortran
  2013-11-05  6:40 [Bug fortran/58998] New: [4.8/4.9 Regression] Generic interface problem with gfortran burnus at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2013-12-29 13:07 ` janus at gcc dot gnu.org
@ 2013-12-29 13:12 ` janus at gcc dot gnu.org
  2013-12-29 13:19 ` janus at gcc dot gnu.org
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: janus at gcc dot gnu.org @ 2013-12-29 13:12 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58998

--- Comment #4 from janus at gcc dot gnu.org ---
(In reply to Dominique d'Humieres from comment #2)
> The changed appeared between r185913 (2012-03-28, no error) and r186417
> (2012-04-13, error).

The most suspicious commit I can see in that range is r186318, which was
Tobias' fix for PR52729.


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug fortran/58998] [4.8/4.9 Regression] Generic interface problem with gfortran
  2013-11-05  6:40 [Bug fortran/58998] New: [4.8/4.9 Regression] Generic interface problem with gfortran burnus at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2013-12-29 13:12 ` janus at gcc dot gnu.org
@ 2013-12-29 13:19 ` janus at gcc dot gnu.org
  2013-12-29 13:26 ` janus at gcc dot gnu.org
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: janus at gcc dot gnu.org @ 2013-12-29 13:19 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58998

--- Comment #5 from janus at gcc dot gnu.org ---
(In reply to janus from comment #4)
> The most suspicious commit I can see in that range is r186318, which was
> Tobias' fix for PR52729.

Indeed reverting this commit makes the error go away for comment 0 and 1.


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug fortran/58998] [4.8/4.9 Regression] Generic interface problem with gfortran
  2013-11-05  6:40 [Bug fortran/58998] New: [4.8/4.9 Regression] Generic interface problem with gfortran burnus at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2013-12-29 13:19 ` janus at gcc dot gnu.org
@ 2013-12-29 13:26 ` janus at gcc dot gnu.org
  2013-12-29 13:38 ` janus at gcc dot gnu.org
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: janus at gcc dot gnu.org @ 2013-12-29 13:26 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58998

--- Comment #6 from janus at gcc dot gnu.org ---
(In reply to Dominique d'Humieres from comment #2)
> The changed appeared between r185913 (2012-03-28, no error) and r186417
> (2012-04-13, error).

Thanks for narrowing it down so sharply, Dominique. That was very helpful.


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug fortran/58998] [4.8/4.9 Regression] Generic interface problem with gfortran
  2013-11-05  6:40 [Bug fortran/58998] New: [4.8/4.9 Regression] Generic interface problem with gfortran burnus at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2013-12-29 13:26 ` janus at gcc dot gnu.org
@ 2013-12-29 13:38 ` janus at gcc dot gnu.org
  2013-12-29 16:03 ` janus at gcc dot gnu.org
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: janus at gcc dot gnu.org @ 2013-12-29 13:38 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58998

janus at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |janus at gcc dot gnu.org

--- Comment #7 from janus at gcc dot gnu.org ---
I propose the following 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


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug fortran/58998] [4.8/4.9 Regression] Generic interface problem with gfortran
  2013-11-05  6:40 [Bug fortran/58998] New: [4.8/4.9 Regression] Generic interface problem with gfortran burnus at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2013-12-29 13:38 ` janus at gcc dot gnu.org
@ 2013-12-29 16:03 ` janus at gcc dot gnu.org
  2013-12-30 17:33 ` janus at gcc dot gnu.org
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: janus at gcc dot gnu.org @ 2013-12-29 16:03 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58998

--- Comment #8 from janus at gcc dot gnu.org ---
(In reply to janus from comment #7)
> I propose the following patch:

... which regtests cleanly.


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug fortran/58998] [4.8/4.9 Regression] Generic interface problem with gfortran
  2013-11-05  6:40 [Bug fortran/58998] New: [4.8/4.9 Regression] Generic interface problem with gfortran burnus at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2013-12-29 16:03 ` janus at gcc dot gnu.org
@ 2013-12-30 17:33 ` janus at gcc dot gnu.org
  2013-12-31 14:02 ` janus at gcc dot gnu.org
  2013-12-31 14:12 ` janus at gcc dot gnu.org
  11 siblings, 0 replies; 13+ messages in thread
From: janus at gcc dot gnu.org @ 2013-12-30 17:33 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58998

--- Comment #9 from janus at gcc dot gnu.org ---
Author: janus
Date: Mon Dec 30 17:33:21 2013
New Revision: 206249

URL: http://gcc.gnu.org/viewcvs?rev=206249&root=gcc&view=rev
Log:
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.

Added:
    trunk/gcc/testsuite/gfortran.dg/generic_28.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/resolve.c
    trunk/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug fortran/58998] [4.8/4.9 Regression] Generic interface problem with gfortran
  2013-11-05  6:40 [Bug fortran/58998] New: [4.8/4.9 Regression] Generic interface problem with gfortran burnus at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2013-12-30 17:33 ` janus at gcc dot gnu.org
@ 2013-12-31 14:02 ` janus at gcc dot gnu.org
  2013-12-31 14:12 ` janus at gcc dot gnu.org
  11 siblings, 0 replies; 13+ messages in thread
From: janus at gcc dot gnu.org @ 2013-12-31 14:02 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58998

--- Comment #10 from janus at gcc dot gnu.org ---
Author: janus
Date: Tue Dec 31 14:02:04 2013
New Revision: 206266

URL: http://gcc.gnu.org/viewcvs?rev=206266&root=gcc&view=rev
Log:
2013-12-31  Janus Weil  <janus@gcc.gnu.org>

    Backport from mainline
    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-31  Janus Weil  <janus@gcc.gnu.org>

    Backport from mainline
    2013-12-30  Janus Weil  <janus@gcc.gnu.org>

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

Added:
    branches/gcc-4_8-branch/gcc/testsuite/gfortran.dg/generic_28.f90
Modified:
    branches/gcc-4_8-branch/gcc/fortran/ChangeLog
    branches/gcc-4_8-branch/gcc/fortran/resolve.c
    branches/gcc-4_8-branch/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug fortran/58998] [4.8/4.9 Regression] Generic interface problem with gfortran
  2013-11-05  6:40 [Bug fortran/58998] New: [4.8/4.9 Regression] Generic interface problem with gfortran burnus at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2013-12-31 14:02 ` janus at gcc dot gnu.org
@ 2013-12-31 14:12 ` janus at gcc dot gnu.org
  11 siblings, 0 replies; 13+ messages in thread
From: janus at gcc dot gnu.org @ 2013-12-31 14:12 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58998

janus at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #11 from janus at gcc dot gnu.org ---
Fixed for 4.9.0 and 4.8.3. Closing.


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2013-12-31 14:12 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-05  6:40 [Bug fortran/58998] New: [4.8/4.9 Regression] Generic interface problem with gfortran burnus at gcc dot gnu.org
2013-11-05 11:17 ` [Bug fortran/58998] " rguenth at gcc dot gnu.org
2013-11-08 23:13 ` janus at gcc dot gnu.org
2013-12-29 12:34 ` dominiq at lps dot ens.fr
2013-12-29 13:07 ` janus at gcc dot gnu.org
2013-12-29 13:12 ` janus at gcc dot gnu.org
2013-12-29 13:19 ` janus at gcc dot gnu.org
2013-12-29 13:26 ` janus at gcc dot gnu.org
2013-12-29 13:38 ` janus at gcc dot gnu.org
2013-12-29 16:03 ` janus at gcc dot gnu.org
2013-12-30 17:33 ` janus at gcc dot gnu.org
2013-12-31 14:02 ` janus at gcc dot gnu.org
2013-12-31 14:12 ` janus at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).