mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-07-22 07:05:22 +02:00
[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!
This commit is contained in:
21
test/vararg1.d
Normal file
21
test/vararg1.d
Normal file
@@ -0,0 +1,21 @@
|
||||
module vararg1;
|
||||
|
||||
import std.c.stdarg;
|
||||
|
||||
extern(C) int add(int n, ...)
|
||||
{
|
||||
va_list ap=void;
|
||||
va_start(ap, n);
|
||||
int r;
|
||||
//for (int i=0; i<n; i++)
|
||||
// r += va_arg!(int)(ap);
|
||||
r = va_arg!(int)(ap);
|
||||
va_end(ap);
|
||||
return r;
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
int i = add(4,1,2,3,4);
|
||||
assert(i == 10);
|
||||
}
|
||||
Reference in New Issue
Block a user