comparison import/llvmdc/cstdarg.di @ 443:44f08170f4ef

Removed tango from the repository and instead added a runtime dir with the files needed to patch and build tango from svn. Reworked the LLVMDC specific pragmas.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Fri, 01 Aug 2008 00:32:06 +0200
parents
children cc40db549aea
comparison
equal deleted inserted replaced
442:76078c8ab5b9 443:44f08170f4ef
1 /*
2 * vararg support for extern(C) functions
3 */
4
5 module llvmdc.cstdarg;
6
7 // Check for the right compiler
8 version(LLVMDC)
9 {
10 // OK
11 }
12 else
13 {
14 static assert(false, "This module is only valid for LLVMDC");
15 }
16
17 alias void* va_list;
18
19 pragma(va_start)
20 void va_start(T)(va_list ap, ref T);
21
22 pragma(va_arg)
23 T va_arg(T)(va_list ap);
24
25 pragma(va_intrinsic, "llvm.va_end")
26 void va_end(va_list args);
27
28 pragma(va_intrinsic, "llvm.va_copy")
29 void va_copy(va_list dst, va_list src);