[Patch, fortran] PR24409 - ICE on module name vs dummy argument name
Tobias Schlüter
tobias.schlueter@physik.uni-muenchen.de
Mon Nov 7 23:54:00 GMT 2005
Paul Thomas wrote:
>>If tested this on i386-*-freebsd and I've seen your email
>>addressing Tobi's question. I think the patch is ok. Note,
>>your ChangeLog entry should reflect the date when the patch
>>is committed.
I wanted to at least try to figure out why this patch is right before I would
have oked it, but I take it that Paul knows this code well enough.
>>PS: Someday, we should document the gfortran and libgfortran
>> internals on the wiki. AFAIK, Paul T is the only person
>> with a grasp on how modules work. :(
>
> I think that you are right. Maybe I should write something on module.c,
> whilst I still have a grasp on it! It is a very slippery thing.
Definitely, what would be very helpful would be a short overview of where a
symbol should end up (i.e. in which namespace, and what points to it),
depending on if it's coming from a module, an interface block in a module, a
module procedure's interface (the latter two should probably be the same), a
module used in another module etc.
> It is my belief that module.c is more complicated, at the front end,
> that it needs to be. Also, for complicated codes, it can be very slow
> because it reads the .mod file and reconstructs the contribution to the
> symtree each time a module is used. As a medium-ish term project, I
> intend to make a list of module namespaces, into which the .mod files
> are unconditionally read... once. The use should then be made from those
> namespaces. The interior is very clever and merits some investigation.
Agreed.
- Tobi
More information about the Fortran
mailing list