This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch, fortran] PR24409 - ICE on module name vs dummy argumentname
- From: Paul Thomas <paulthomas2 at wanadoo dot fr>
- To: Tobias SchlÃter <tobias dot schlueter at physik dot uni-muenchen dot de>
- Cc: "'fortran at gcc dot gnu dot org'" <fortran at gcc dot gnu dot org>,patch <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 07 Nov 2005 22:10:58 +0100
- Subject: Re: [Patch, fortran] PR24409 - ICE on module name vs dummy argumentname
- References: <436FBC61.7040803@wanadoo.fr> <436FBFFC.40803@physik.uni-muenchen.de>
Tobi,
How does this name clash come about? The two symbols should be living in
different namespace.
It comes about when nested modules use the same use associated symbol at
module level and in a contained function. The ICE came about in the
original PR because some of the references would stick to the contained
version. This trick promotes those references up to share a common
symbol in the parent namespace.
Specifically difficult are derived type specifications that are used to
type formal arguments of a contained function; the original PR.
In short then, you are right but this particular case blurs the
distinction a bit, from the practical point of view.
Paul