public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/89574] [8/9/10/11 Regression] internal compiler error: in conv_function_val, at fortran/trans-expr.c:3792
       [not found] <bug-89574-4@http.gcc.gnu.org/bugzilla/>
@ 2020-07-05 19:42 ` anlauf at gcc dot gnu.org
  2020-07-09 20:55 ` anlauf at gcc dot gnu.org
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 9+ messages in thread
From: anlauf at gcc dot gnu.org @ 2020-07-05 19:42 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89574

--- Comment #7 from anlauf at gcc dot gnu.org ---
Two slightly reduced testcase variants that ICE with current master:

% cat pr89574-red1.f90
module mod
contains
  subroutine init
  end subroutine
end module mod

module init
  use mod, only : test_init => init
  implicit none
contains
  subroutine sub
    call test_init
  end subroutine sub
end module


% cat pr89574-red2.f90
module mod
contains
  integer function init ()
    init = 0
  end function
end module mod

module init
  use mod, only : test_init => init
  implicit none
contains
  subroutine test_sub
    print *, test_init ()
  end subroutine test_sub
end module


Since changing "module init" to "module init1" avoid the issue in all
cases, this lookslike a namespace / symbol issue.

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

* [Bug fortran/89574] [8/9/10/11 Regression] internal compiler error: in conv_function_val, at fortran/trans-expr.c:3792
       [not found] <bug-89574-4@http.gcc.gnu.org/bugzilla/>
  2020-07-05 19:42 ` [Bug fortran/89574] [8/9/10/11 Regression] internal compiler error: in conv_function_val, at fortran/trans-expr.c:3792 anlauf at gcc dot gnu.org
@ 2020-07-09 20:55 ` anlauf at gcc dot gnu.org
  2020-07-14 21:09 ` anlauf at gcc dot gnu.org
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 9+ messages in thread
From: anlauf at gcc dot gnu.org @ 2020-07-09 20:55 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89574

--- Comment #8 from anlauf at gcc dot gnu.org ---
(In reply to anlauf from comment #7)
> Since changing "module init" to "module init1" avoid the issue in all
> cases, this lookslike a namespace / symbol issue.

I spent some time debugging this, and I am really confused now.

For reasons I do not understand, we end up in gfc_get_extern_function_decl,

2095          gsym = gfc_find_gsymbol (gfc_gsym_root, sym->name);

where we do not distinguish between the module that contains test_sub,
and the renamed-on-use subroutine from module mod.

Shouldn't we have entered mangled names in the tree that is pointed to by
gfc_gsym_root, instead of the unmangled ones?

Only if the name is of the bind-c type we have to use the "raw" name.

What am I missing?

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

* [Bug fortran/89574] [8/9/10/11 Regression] internal compiler error: in conv_function_val, at fortran/trans-expr.c:3792
       [not found] <bug-89574-4@http.gcc.gnu.org/bugzilla/>
  2020-07-05 19:42 ` [Bug fortran/89574] [8/9/10/11 Regression] internal compiler error: in conv_function_val, at fortran/trans-expr.c:3792 anlauf at gcc dot gnu.org
  2020-07-09 20:55 ` anlauf at gcc dot gnu.org
@ 2020-07-14 21:09 ` anlauf at gcc dot gnu.org
  2020-07-14 21:21 ` anlauf at gcc dot gnu.org
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 9+ messages in thread
From: anlauf at gcc dot gnu.org @ 2020-07-14 21:09 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89574

anlauf at gcc dot gnu.org changed:

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

--- Comment #9 from anlauf at gcc dot gnu.org ---
Line 2095 should never return a match for a symbol from a different module.

I have a patch that regtests cleanly.

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

* [Bug fortran/89574] [8/9/10/11 Regression] internal compiler error: in conv_function_val, at fortran/trans-expr.c:3792
       [not found] <bug-89574-4@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2020-07-14 21:09 ` anlauf at gcc dot gnu.org
@ 2020-07-14 21:21 ` anlauf at gcc dot gnu.org
  2020-07-21 19:37 ` cvs-commit at gcc dot gnu.org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 9+ messages in thread
From: anlauf at gcc dot gnu.org @ 2020-07-14 21:21 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89574

--- Comment #10 from anlauf at gcc dot gnu.org ---
Patch: https://gcc.gnu.org/pipermail/fortran/2020-July/054744.html

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

* [Bug fortran/89574] [8/9/10/11 Regression] internal compiler error: in conv_function_val, at fortran/trans-expr.c:3792
       [not found] <bug-89574-4@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2020-07-14 21:21 ` anlauf at gcc dot gnu.org
@ 2020-07-21 19:37 ` cvs-commit at gcc dot gnu.org
  2020-07-23 19:03 ` cvs-commit at gcc dot gnu.org
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-07-21 19:37 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89574

--- Comment #11 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Harald Anlauf <anlauf@gcc.gnu.org>:

https://gcc.gnu.org/g:28f2a080cc27531a8c78aec9f44aeff4961c2a4c

commit r11-2256-g28f2a080cc27531a8c78aec9f44aeff4961c2a4c
Author: Harald Anlauf <anlauf@gmx.de>
Date:   Tue Jul 21 21:37:30 2020 +0200

    PR fortran/89574 - ICE in conv_function_val, at fortran/trans-expr.c:3792

    When checking for an external procedure from the same file, do not
    consider symbols from different modules.

    gcc/fortran/
            PR fortran/89574
            * trans-decl.c (gfc_get_extern_function_decl): Check whether a
            symbol belongs to a different module.

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

* [Bug fortran/89574] [8/9/10/11 Regression] internal compiler error: in conv_function_val, at fortran/trans-expr.c:3792
       [not found] <bug-89574-4@http.gcc.gnu.org/bugzilla/>
                   ` (4 preceding siblings ...)
  2020-07-21 19:37 ` cvs-commit at gcc dot gnu.org
@ 2020-07-23 19:03 ` cvs-commit at gcc dot gnu.org
  2020-07-23 19:53 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-07-23 19:03 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89574

--- Comment #12 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Harald Anlauf
<anlauf@gcc.gnu.org>:

https://gcc.gnu.org/g:bab0c51af90f475dab8f1b306737cd04b06d4b04

commit r10-8523-gbab0c51af90f475dab8f1b306737cd04b06d4b04
Author: Harald Anlauf <anlauf@gmx.de>
Date:   Tue Jul 21 21:37:30 2020 +0200

    PR fortran/89574 - ICE in conv_function_val, at fortran/trans-expr.c:3792

    When checking for an external procedure from the same file, do not
    consider symbols from different modules.

    gcc/fortran/
            PR fortran/89574
            * trans-decl.c (gfc_get_extern_function_decl): Check whether a
            symbol belongs to a different module.

    (cherry picked from commit 28f2a080cc27531a8c78aec9f44aeff4961c2a4c)

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

* [Bug fortran/89574] [8/9/10/11 Regression] internal compiler error: in conv_function_val, at fortran/trans-expr.c:3792
       [not found] <bug-89574-4@http.gcc.gnu.org/bugzilla/>
                   ` (5 preceding siblings ...)
  2020-07-23 19:03 ` cvs-commit at gcc dot gnu.org
@ 2020-07-23 19:53 ` cvs-commit at gcc dot gnu.org
  2020-07-23 20:03 ` cvs-commit at gcc dot gnu.org
  2020-07-23 20:04 ` anlauf at gcc dot gnu.org
  8 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-07-23 19:53 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89574

--- Comment #13 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Harald Anlauf
<anlauf@gcc.gnu.org>:

https://gcc.gnu.org/g:b2fe9b1bf79037a90bc5146efe77417b888a86a0

commit r9-8762-gb2fe9b1bf79037a90bc5146efe77417b888a86a0
Author: Harald Anlauf <anlauf@gmx.de>
Date:   Tue Jul 21 21:37:30 2020 +0200

    PR fortran/89574 - ICE in conv_function_val, at fortran/trans-expr.c:3792

    When checking for an external procedure from the same file, do not
    consider symbols from different modules.

    gcc/fortran/
            PR fortran/89574
            * trans-decl.c (gfc_get_extern_function_decl): Check whether a
            symbol belongs to a different module.

    (cherry picked from commit 28f2a080cc27531a8c78aec9f44aeff4961c2a4c)

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

* [Bug fortran/89574] [8/9/10/11 Regression] internal compiler error: in conv_function_val, at fortran/trans-expr.c:3792
       [not found] <bug-89574-4@http.gcc.gnu.org/bugzilla/>
                   ` (6 preceding siblings ...)
  2020-07-23 19:53 ` cvs-commit at gcc dot gnu.org
@ 2020-07-23 20:03 ` cvs-commit at gcc dot gnu.org
  2020-07-23 20:04 ` anlauf at gcc dot gnu.org
  8 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-07-23 20:03 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89574

--- Comment #14 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-8 branch has been updated by Harald Anlauf
<anlauf@gcc.gnu.org>:

https://gcc.gnu.org/g:41c072bded24642d6b4a38e3f5e2890c1aa8c5a1

commit r8-10372-g41c072bded24642d6b4a38e3f5e2890c1aa8c5a1
Author: Harald Anlauf <anlauf@gmx.de>
Date:   Tue Jul 21 21:37:30 2020 +0200

    PR fortran/89574 - ICE in conv_function_val, at fortran/trans-expr.c:3792

    When checking for an external procedure from the same file, do not
    consider symbols from different modules.

    gcc/fortran/
            PR fortran/89574
            * trans-decl.c (gfc_get_extern_function_decl): Check whether a
            symbol belongs to a different module.

    (cherry picked from commit 28f2a080cc27531a8c78aec9f44aeff4961c2a4c)

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

* [Bug fortran/89574] [8/9/10/11 Regression] internal compiler error: in conv_function_val, at fortran/trans-expr.c:3792
       [not found] <bug-89574-4@http.gcc.gnu.org/bugzilla/>
                   ` (7 preceding siblings ...)
  2020-07-23 20:03 ` cvs-commit at gcc dot gnu.org
@ 2020-07-23 20:04 ` anlauf at gcc dot gnu.org
  8 siblings, 0 replies; 9+ messages in thread
From: anlauf at gcc dot gnu.org @ 2020-07-23 20:04 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89574

anlauf at gcc dot gnu.org changed:

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

--- Comment #15 from anlauf at gcc dot gnu.org ---
Fixed on all open branches.

Thanks for the report!

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

end of thread, other threads:[~2020-07-23 20:04 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-89574-4@http.gcc.gnu.org/bugzilla/>
2020-07-05 19:42 ` [Bug fortran/89574] [8/9/10/11 Regression] internal compiler error: in conv_function_val, at fortran/trans-expr.c:3792 anlauf at gcc dot gnu.org
2020-07-09 20:55 ` anlauf at gcc dot gnu.org
2020-07-14 21:09 ` anlauf at gcc dot gnu.org
2020-07-14 21:21 ` anlauf at gcc dot gnu.org
2020-07-21 19:37 ` cvs-commit at gcc dot gnu.org
2020-07-23 19:03 ` cvs-commit at gcc dot gnu.org
2020-07-23 19:53 ` cvs-commit at gcc dot gnu.org
2020-07-23 20:03 ` cvs-commit at gcc dot gnu.org
2020-07-23 20:04 ` anlauf 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).