[Issue 16536] DMD master does not build on OS X 10.11.6/Xcode 7.3.1
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Tue Oct 4 14:20:14 PDT 2016
https://issues.dlang.org/show_bug.cgi?id=16536
Martin Nowak <code at dawg.eu> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |code at dawg.eu
--- Comment #7 from Martin Nowak <code at dawg.eu> ---
Well, from the error message, it seems to me we're using `unsigned long long`
on the C side (typedef unsigned long long targ_ullong), but `unsigned long` on
the D side (alias targ_ullong = ulong).
(In reply to Jacob Carlborg from comment #6)
> I manually patch the compiler by replacing targ_size_t with size_t/d_size_t
> where the linker complains. I could create a PR but I don't know if it's the
> correct solution.
Well we want to always use unsigned long long on both sides (and for 32 and
64-bit dmds), b/c it must be able to hold any target's size_t (hence the name
targ_size_t).
It's a slightly different problem than the fix for Issue 16000
https://github.com/dlang/dmd/pull/5788/files#diff-5910c4bad5eadf90caa32a46ab678aa0R12,
where we wanted size_t (4/8 bytes depending on 32/64-bit dmd) on both sides.
Not too sure, but I guess if you `typedef unsigned long targ_ullong` on OSX/64
it should work, but that stuff starts to become really messy.
--
More information about the Digitalmars-d-bugs
mailing list