view test/vararg3.d @ 131:5825d48b27d1 trunk

[svn r135] * Merged DMD 1.025 * * Fixed a minor linking order mishap * * Added an command line option -annotate * * Fixed some problems with running optimizations * * Added std.stdio and dependencies to lphobos (still not 100% working, but compiles and links) * * Fixed problems with passing aggregate types to variadic functions * * Added initial code towards full GC support, currently based on malloc and friends, not all the runtime calls the GC yet for memory * * Fixed problems with resolving nested function context pointers for some heavily nested cases * * Redid function argument passing + other minor code cleanups, still lots to do on this end... *
author lindquist
date Fri, 04 Jan 2008 01:38:42 +0100
parents a9d29e9f1fed
children d9d5d59873d8
line wrap: on
line source

module vararg3;

import std.stdarg;

void func(...)
{
    assert(_arguments.length == 3);
    assert(_arguments[0] is typeid(int));
    assert(_arguments[1] is typeid(float));
    assert(_arguments[2] is typeid(long));
    assert(va_arg!(int)(_argptr) == 4);
    assert(va_arg!(float)(_argptr) == 2.5f);
    assert(va_arg!(long)(_argptr) == 42L);
}

void main()
{
    func(4, 2.5f, 42L);
}