Mercurial > projects > ldc
annotate lphobos/std/c/stdarg.d @ 341:1bb99290e03a trunk
[svn r362] Started merging the old 'test' dir as well as the newer 'tangotests' dir into 'tests/mini' and 'tests/minicomplex'.
author | lindquist |
---|---|
date | Sun, 13 Jul 2008 02:51:19 +0200 |
parents | 0ccfae271c45 |
children | 373489eeaf90 |
rev | line source |
---|---|
1 | 1 |
2 /** | |
3 * C's <stdarg.h> | |
55
0ccfae271c45
[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.
lindquist
parents:
1
diff
changeset
|
4 * Authors: Hauke Duden, Walter Bright and Tomas Lindquist Olsen, Digital Mars, www.digitalmars.com |
1 | 5 * License: Public Domain |
6 * Macros: | |
7 * WIKI=Phobos/StdCStdarg | |
8 */ | |
9 | |
10 /* This is for use with extern(C) variable argument lists. */ | |
11 | |
12 module std.c.stdarg; | |
13 | |
55
0ccfae271c45
[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.
lindquist
parents:
1
diff
changeset
|
14 public import llvm.va_list; |
1 | 15 |
55
0ccfae271c45
[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.
lindquist
parents:
1
diff
changeset
|
16 pragma(LLVM_internal, "va_start") |
0ccfae271c45
[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.
lindquist
parents:
1
diff
changeset
|
17 void va_start(T)(va_list ap, ref T); |
1 | 18 |
55
0ccfae271c45
[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.
lindquist
parents:
1
diff
changeset
|
19 pragma(LLVM_internal, "va_arg") |
0ccfae271c45
[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.
lindquist
parents:
1
diff
changeset
|
20 T va_arg(T)(va_list ap); |
1 | 21 |
55
0ccfae271c45
[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.
lindquist
parents:
1
diff
changeset
|
22 pragma(LLVM_internal, "va_intrinsic", "llvm.va_end") |
0ccfae271c45
[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.
lindquist
parents:
1
diff
changeset
|
23 void va_end(va_list args); |
1 | 24 |
55
0ccfae271c45
[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.
lindquist
parents:
1
diff
changeset
|
25 pragma(LLVM_internal, "va_intrinsic", "llvm.va_copy") |
0ccfae271c45
[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.
lindquist
parents:
1
diff
changeset
|
26 void va_copy(va_list dst, va_list src); |