view tests/mini/vararg2.d @ 591:e6bcc4d9e5ff

Add _d_newarrayvT and _d_newarraymvT to create arrays without initialization. Adjust DtoNewDynArray to use DtoArrayInit for initialization of new arrays. Make Type::tvoid->defaultInit() not error.
author Christian Kamm <kamm incasoftware de>
date Sun, 14 Sep 2008 10:13:50 +0200
parents 1bb99290e03a
children 4ac97ec7c18e
line wrap: on
line source

module vararg2;

void func(...)
{
    assert(_arguments.length == 2);
    assert(_arguments[0] is typeid(int));
    int a = *cast(int*)_argptr;
    _argptr += int.sizeof;
    assert(_arguments[1] is typeid(int));
    a += *cast(int*)_argptr;
    _argptr += int.sizeof;
    assert(a == 3);
}

void main()
{
    func(1,2);
}