diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/import/llvmdc/cstdarg.di	Fri Aug 01 00:32:06 2008 +0200
@@ -0,0 +1,29 @@
+/*
+ * vararg support for extern(C) functions
+ */
+
+module llvmdc.cstdarg;
+
+// Check for the right compiler
+version(LLVMDC)
+{
+    // OK
+}
+else
+{
+    static assert(false, "This module is only valid for LLVMDC");
+}
+
+alias void* va_list;
+
+pragma(va_start)
+    void va_start(T)(va_list ap, ref T);
+
+pragma(va_arg)
+    T va_arg(T)(va_list ap);
+
+pragma(va_intrinsic, "llvm.va_end")
+    void va_end(va_list args);
+
+pragma(va_intrinsic, "llvm.va_copy")
+    void va_copy(va_list dst, va_list src);