[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