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/34672] [4.3 Regression] .mod file misses renamed, USEd symbol



------- Comment #2 from pault at gcc dot gnu dot org  2008-01-04 16:12 -------
Another way of looking as it is that the interface is not getting renamed when
MyMod3 is written.  This works:

MODULE MyMod1
  integer, parameter :: i2_ = Selected_Int_Kind(4)
END Module MyMod1

module MyMod2
  INTERFACE write_int
     module procedure write_int_local
  END INTERFACE
contains
  subroutine write_int_local(value)
    integer, intent(in)  :: value
    print *,value
  end subroutine write_int_local
end module MyMod2

module MyMod3
  USE MyMod2, only: write_MyInt   => write_int
  USE MyMod1, only: i2_
end module MyMod3

module MyMod4
  USE MyMod3, write_MyInt => write_int     ! Use the original name
end module MYMOD4

I believe, although I have not yet checked, that when I reformed the interface
handling in modules I did not change the writing part.  I'll bet it uses the
symbol name, rather than the symtree.  This would have worked previously.

Paul


-- 


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


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