Is D right for me?

Walter Bright newshound2 at digitalmars.com
Mon Oct 11 10:51:35 PDT 2010


Iain Buclaw wrote:
> I'm actually rather curious how DMD plans on doing varargs in 64bit. Not least
> because I don't think their current method of "calculating" the address of the
> _argptr takes 64bit parameter passing into account.

I'm working on it now. It's a bitch.

The way varargs works for the C ABI is inefficient, clumsy, and frankly won't 
work for what D needs. So I'm going to have two varargs - one for extern (C) 
which is compatible with the C ABI and one for extern (D) which will push things 
on the stack as for 32 bits.

The only remaining nuisance for the D method is that some types have to be 
aligned more strictly than the stack. That means TypeInfo will have to be 
extended to provide an alignment size for the type.


More information about the Digitalmars-d mailing list