This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/44957] New: generic procedure name not included in symbol table


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]