This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/34672] [4.3 Regression] .mod file misses renamed, USEd symbol
- From: "pault at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 4 Jan 2008 16:12:12 -0000
- Subject: [Bug fortran/34672] [4.3 Regression] .mod file misses renamed, USEd symbol
- References: <bug-34672-11277@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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