Mercurial > projects > ldc
view test/funcs.d @ 55:0ccfae271c45 trunk
[svn r59] Added support for C-style variadic functions. Currently only works on x86, x86-64 va_arg is broken in LLVM 2.1. PPC and PPC64 unknown.
Updates to runtime. Rebuild!
author | lindquist |
---|---|
date | Wed, 24 Oct 2007 22:18:06 +0200 |
parents | c53b6e3fe49a |
children | d9d5d59873d8 |
line wrap: on
line source
void main() { printf("Testing functions\n"); int i = 5; assert(a(i) == 110); assert(i == 11); S s; s.i = 5; d(s); assert(s.i == 5); e(s); assert(s.i == 6); printf(" SUCCESS\n"); } int a(ref int i) { i*=2; return b(i); } int b(ref int i) { i++; return c(i); } int c(int i) { return i*10; } struct S { int i; } void d(S s) { s.i++; } void e(ref S s) { s.i++; }