Hitchikers Guide to Porting Phobos / D Runtime to other architectures

David Nadlinger code at klickverbot.at
Mon Jan 6 08:25:07 PST 2014


On Monday, 6 January 2014 at 12:22:37 UTC, Mike wrote:
> If any compiler implementers are reading this, please try to 
> generate only code that is used by the program being compiled.  
> I need to get this sorted out and submit some bug/enhancement 
> requests to the compiler writers, but I first need to 
> understand things better so I can articulate it well.

The issue with ModuleInfo is that you can actually query the list 
of all loaded D modules at runtime (ModuleInfo.opApply(), mainly 
for things like running static constructors, unit tests, 
Object.factory, …). So, even if your module is not using static 
constructors or unit tests, you can't just not emit the 
ModuleInfo in general.

In theory, LDC allows you to selectively disable ModuleInfo 
generation for some modules 
(http://wiki.dlang.org/LDC-specific_language_changes), but it 
looks like the pragmas actually don't have any effect in current 
LDC2 builds (https://github.com/ldc-developers/ldc/issues/571).

David


More information about the Digitalmars-d mailing list