[Issue 670] _argptr is char *
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Tue Sep 18 05:07:41 PDT 2007
http://d.puremagic.com/issues/show_bug.cgi?id=670
------- Comment #3 from smjg at iname.com 2007-09-18 07:07 -------
(In reply to comment #2)
> According to the spec, only DMD exists. It doesn't mention portability.
Where is this bit of the spec that states that no other compiler exists?
> va_list is not a char* always, it's a "target-specific type". Don't cast.
> It needs the builtin va_list and the va_arg template for it to work...
std.stdarg, in DMD's implementation, defines va_list to be an alias of void*.
This is consistent with
http://www.digitalmars.com/d/function.html
- "These variadic functions have a special local variable declared for them,
_argptr, which is a void* pointer to the first of the variadic arguments."
- the code example on that page using std.stdarg
> I'm not sure how it could be rewritten to support DMD's direct access ?
> But David can probably give a much better explanation of the va_lists.
What do you mean by this?
--
More information about the D.gnu
mailing list