win64 vararg bug?

kinke noone at hotmail.com
Sun Feb 10 14:24:37 PST 2013


On Sunday, 10 February 2013 at 08:18:50 UTC, Benjamin Thaut wrote:
> I have this small test program, it will crash when compiled on 
> x64 windows, but it works fine on 32bit windows. What am I 
> doing wrong?
>
> import core.vararg;
> import std.stdio;
>
> void print(string fmt, ...)
> {
>   auto arg = va_arg!(const(char)[])(_argptr);
>   writefln(fmt ~ arg);
> }
>
> void main(string[] args)
> {
>   print("+++","---");
> }
>
> Kind Regards
> Benjamin Thaut

This works for me when using 
https://github.com/ldc-developers/ldc/pull/287 and LLVM 3.2.
LDC currently uses the incompatible System V ABI for Win64...


More information about the Digitalmars-d mailing list