win64 vararg bug?
Benjamin Thaut
code at benjamin-thaut.de
Sun Feb 10 04:19:17 PST 2013
Am 10.02.2013 09:18, schrieb Benjamin Thaut:
> 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("+++","---");
> }
This only seems to happen when the argument before the variadic argument
list is bigger then 8 byte. This works:
void print(int fmt, ...)
{
auto arg = va_arg!(const(char)[])(_argptr);
writefln("%s %s",fmt,arg);
}
void main(string[] args)
{
print(1,"---");
}
More information about the Digitalmars-d
mailing list