July 15, 2015
On Tuesday, 14 July 2015 at 12:04:57 UTC, David Nadlinger wrote:
> On Monday, 13 July 2015 at 04:34:00 UTC, Kai Nacke wrote:
>> There is no ldc issue yet. Did you check with LLVM 3.7? If we can produce a LLVM bug report then we could try to set this as a release blocker. Branching for the 3.7 release is tomorrow.
>
> So if this is really an LLVM bug that we cannot work around easily, what is our plan for the next LDC release(s)?
>
>  — David

I think now that it is not an LLVM bug because stdcall does not support variadic arguments. Solution is to use the C calling convention. DMD seems to do something similar.

Regards,
Kai
July 16, 2015
"Kai Nacke" <kai@redstar.de> writes:
>
> I think now that it is not an LLVM bug because stdcall does not support variadic arguments. Solution is to use the C calling convention. DMD seems to do something similar.

It is odd though that LLVM doesn't complain when varargs is used with CallingConv::X86_StdCall.  With ARM when I upgraded to 0.15.2, it specifically told me:

[  5%] Generating src/core/demangle_arm64.o
Calling convention does not support varargs or perfect forwarding!
i32 (i8*, i64, i8*, ...)* @snprintf
LLVM ERROR: Broken module found, compilation aborted!
make[3]: *** [runtime/src/core/demangle_arm64.o] Error 1

Then I knew to switch from Fast to C!
--
Dan
1 2
Next ›   Last »