view lphobos/std/c/stdarg.d @ 94:61615fa85940 trunk

[svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca"). Added support for array .sort and .reverse properties. Fixed some bugs with pointer arithmetic. Disabled some DMD AST optimizations that was messing things up, destroying valuable information. Added a KDevelop project file, this is what I use for coding LLVMDC now :) Other minor stuff.
author lindquist
date Mon, 12 Nov 2007 06:32:46 +0100
parents 0ccfae271c45
children 373489eeaf90
line wrap: on
line source


/**
 * C's <stdarg.h>
 * Authors: Hauke Duden, Walter Bright and Tomas Lindquist Olsen, Digital Mars, www.digitalmars.com
 * License: Public Domain
 * Macros:
 *	WIKI=Phobos/StdCStdarg
 */

/* This is for use with extern(C) variable argument lists. */

module std.c.stdarg;

public import llvm.va_list;

pragma(LLVM_internal, "va_start")
    void va_start(T)(va_list ap, ref T);

pragma(LLVM_internal, "va_arg")
    T va_arg(T)(va_list ap);

pragma(LLVM_internal, "va_intrinsic", "llvm.va_end")
    void va_end(va_list args);

pragma(LLVM_internal, "va_intrinsic", "llvm.va_copy")
    void va_copy(va_list dst, va_list src);