What's blocking DDMD?

Daniel Murphy via Digitalmars-d digitalmars-d at puremagic.com
Tue Jul 22 23:31:44 PDT 2014


"safety0ff"  wrote in message news:ptaydiflclzapizmopmj at forum.dlang.org...

> Ok, tried building with LDC and ran into some issues:

Yeah, this was never going to work.

> At first I tried an older ldmd2 and it error'ed on labels followed by 
> closed brackets. Using a newer version fixed this, but perhaps magicport 
> could follow labels with {}.

It won't build with anything except the latest dmd.  In fact, it even needs 
one patch which is yet to be merged into master.

> Afterwards I ran into an issue with LDC on x86_64 with __va_argsave, so I 
> switched to 32 bit.

Another one fixed in dmd which hasn't made it to your LDC yet.

> Next I ran into symbol conflicts between root.aav._aaLen and object._aaLen 
> (resolved by import'ing root.aav : _aaLen)

Same thing, just fixed in dmd.

> Afterwards I needed to change optimize.d's shift_optimize second argument 
> from:
> Expression function(Type, Expression, Expression)
> to:
> typeof(&Shl)

Not sure what that is, but probably more of the same.

> This is a hack, I think it was getting tripped up on the extern(C++).

Yah.

> Next I have an issue with outbuffer.o getting deleted, so I add a step to 
> the make file renaming outbuffer.o to routbuffer.o and I change the name 
> in the ddmd command to use routbuffer.o instead.

I have no idea what's going on here.  'make ddmd' should never delete 
outbuffer.o

> Unfortunately all that was for naught as I couldn't get it to link. I 
> tried to rebuild LDC's phobos and druntime for 32 bit but the linker still 
> complained that it was incompatible.

If you post the errors I might be able to work it out, but I'd guess LDC's 
C++ mangling is broken and that's why you're getting linker errors. 



More information about the Digitalmars-d mailing list