Mercurial > projects > ldc
view tests/testincludes/std/stdarg.d @ 1618:a87f1d6ff48e
Merge DMD r303: harmonize
---
dmd/expression.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++++-----
dmd/expression.h | 8 +++++
dmd/template.c | 27 ++++++++++++-------
3 files changed, 95 insertions(+), 18 deletions(-)
author | Leandro Lucarella <llucax@gmail.com> |
---|---|
date | Wed, 06 Jan 2010 15:18:21 -0300 |
parents | 42fc0d955a0d |
children |
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; version(LDC) { public import ldc.vararg; } else { alias void* va_list; template va_arg(T) { T va_arg(inout va_list _argptr) { T arg = *cast(T*)_argptr; _argptr = _argptr + ((T.sizeof + int.sizeof - 1) & ~(int.sizeof - 1)); return arg; } } }