_argptr woes

Frits van Bommel fvbommel at REMwOVExCAPSs.nl
Fri Mar 16 18:51:33 PDT 2007


kris wrote:
> The D spec says:
> 
> "The implementiations of these variadic functions have a special local 
> variable declared for them, _argptr, which is a void* pointer to the 
> first of the variadic arguments. To access the arguments, _argptr must 
> be cast to a pointer to the expected argument type"
> 
> 
> To me, this means that a D compiler must implement _argptr in these 
> terms. Is that indeed the case, Walter? Or is my interpretation incorrect?

That would seem to be what it means.
That would also seem to be a pretty big portability bug in the spec. On 
amd64 definitely !is(va_list == void*) :P. (at least for current GDC, 
GCC and any other compiler following 
http://www.x86-64.org/documentation/abi.pdf)



More information about the Digitalmars-d mailing list