This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/44957] New: generic procedure name not included in symbol table
- From: "sme at cs dot toronto dot edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 15 Jul 2010 17:26:23 -0000
- Subject: [Bug fortran/44957] New: generic procedure name not included in symbol table
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
When compiling a generic procedure, the generic name is not entered in the
symbol table, which then causes subsequent 'use' statements to fail.
Example:
in m_die.F90 we declare:
module m_die
use m_mpif90, only : MP_perr
implicit none
private ! except
public :: die ! signal an exception
interface die; module procedure &
die0_, & ! die(where)
die1_, & ! die(where,message)
die2_, & ! die(where,proc,ier)
die4_ ! die(where,mesg1,ival1,mesg2,ival2)
end interface
etc...
Which compiles fine.
In other files we try:
subroutine IndexBin1_(n,indx,keys,bins,lcs,lns)
use m_die, only : die
...and the compiler complains:
use m_die, only : die
1
Error: Symbol 'die' referenced at (1) not found in module 'm_die'
A quick check of the symbol table confirms the actual procedures are there, but
the generic name is missing:
000009ba T ___m_die_MOD_die0_
00000953 T ___m_die_MOD_die1_
000008e5 T ___m_die_MOD_die2_
00000862 T ___m_die_MOD_die4_
but no 'die'
--
Summary: generic procedure name not included in symbol table
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sme at cs dot toronto dot edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44957