view runtime/import/ldc/cstdarg.di @ 1083:c1e9f612e2e2

Fix for dual operand form of fistp, also make reg ST(0) explicit and fix lindquists previous code that allowed dual operand form of fstp but dissallowed the single operand form accidently
author Kelly Wilson <wilsonk cpsc.ucalgary.ca>
date Tue, 10 Mar 2009 06:23:26 -0600
parents d8a1481eaa0c
children
line wrap: on
line source

/*
 * vararg support for extern(C) functions
 */

module ldc.cstdarg;

// Check for the right compiler
version(LDC)
{
    // OK
}
else
{
    static assert(false, "This module is only valid for LDC");
}

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_end)
    void va_end(va_list args);

pragma(va_copy)
    void va_copy(va_list dst, va_list src);