[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