Mercurial > projects > ldc
view lphobos/std/stdarg.d @ 100:5071469303d4 trunk
[svn r104] TONS OF FIXES.
Split up declaration, constant initializer gen and definition for globals, structs, classes and functions.
Improved ClassInfo support (not complete), not in vtable yet.
Fixed a bunch of forward reference problems.
Much more. Major commit! :)
author | lindquist |
---|---|
date | Fri, 16 Nov 2007 08:21:47 +0100 |
parents | fb265a6efea1 |
children | 5825d48b27d1 |
line wrap: on
line source
/* * Placed in public domain. * Written by Hauke Duden and Walter Bright */ /* This is for use with variable argument lists with extern(D) linkage. */ module std.stdarg; alias void* va_list; T va_arg(T)(inout va_list vp) { static assert((T.sizeof & (T.sizeof -1)) == 0); va_list vptmp = cast(va_list)((cast(size_t)vp + T.sizeof - 1) & ~(T.sizeof - 1)); vp = vptmp + T.sizeof; return *cast(T*)vptmp; }