Need clarification on dmd symbol generation

Robert jfanatiker at gmx.at
Wed Apr 10 07:14:53 PDT 2013


> Excited to see I am not the only one caring about this! :) 
> Module* can be found via tinst->scope->module, so it is pretty 
> straightforward. I have tried to use this and it _almost_ worked 
> but some symbols were still missing (I have mentioned example 
> with map and range before, can reduce test case if you are 
> interested).

For me tinst->scope->module resolved to the module where the template is
declared not the instantiating one, while tinst->loc.filename is the
instantiating file. I am interested!



> 
> Considering Kenji's explanation this seems to work as I have 
> initially understood. Then I need to reduce that case and see why 
> those std.range template symbols are not propagated to the top of 
> the chain.
> 
> This is a major blocker for getting reliable and efficient 
> separate compilation and bugzilla issue references in topic is 
> just an observable side-effect.

Getting reliable building is also quite important for dub, I don't want
to work around dmd bugs (sometimes not even feasible), I would rather
fix them :-)




More information about the Digitalmars-d mailing list