LDC 0.15.2 beta1 is out!
Dan Olson via digitalmars-d-ldc
digitalmars-d-ldc at puremagic.com
Fri Mar 20 18:03:52 PDT 2015
"Kai Nacke" <kai at redstar.de> writes:
> Hi everyone!
> On behalf of the LDC team I am proud to announce the LDC 0.15.2 beta1
> It is based on the 2.066.1 front-end and LLVM 3.1-3.6 (OS X: no
> support for 3.3).
> This minor release fixes some issues. Most important are the ABI
> changes which fixes a lot of bugs in the Win64 compiler.
I've got release-0.15.2 and LLVM 3.6 working with iOS and no
The ABI change presented me with an interesting puzzle though. It
switched extern (D) varargs to C style varags pushed on the stack
instead of a separate arg array.
I had been using fastcc function calls  for extern (D) on IOS due to
an LLVM optimizer bug with C calling convention (ccc) and, for a lesser
reason, because the fastcc assembly code can at times be beautiful
compared to ccc on iOS. But fastcc doesn't support C style varags.
The path of least resistance seemed to be adopting ccc function calls.
The LLVM optimizer bug with ccc still caused a unittest failure with
LLVM 3.5.1. Updating to LLVM 3.6 though apparently fixed it.
More information about the digitalmars-d-ldc