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