view tango/std/stdarg.di @ 237:a168a2c3ea48 trunk

[svn r253] Removed -inlineasm option. inline asm is now enabled by default unless the new -noasm option is passed. Tried adding a stack trace print when compiler crashes, not sure it's working though. Changed data layouts to match that of llvm-gcc. Fixed casting function pointers. Added support checks in AsmStatement.
author lindquist
date Sun, 08 Jun 2008 19:09:24 +0200
parents 1700239cab2e
children
line wrap: on
line source

/**
 * These functions are built-in intrinsics to the compiler.
 *
 * Copyright: Public Domain
 * License:   Public Domain
 * Authors:   David Friedman
 */
module std.stdarg;

version( GNU )
{
    private import gcc.builtins;
    alias __builtin_va_list va_list;
    alias __builtin_va_end  va_end;
    alias __builtin_va_copy va_copy;
}

template va_start(T)
{
    void va_start( out va_list ap, inout T parmn )
    {

    }
}

template va_arg(T)
{
    T va_arg( inout va_list ap )
    {
        return T.init;
    }
}