mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-01-27 01:53:13 +01:00
Removed the -fp80 option and made real be 80bit floats on X86, this is what the D spec really says it should be and fixes a bunch of issues. Changed the handling of parameter attributes to a bit more generalized approach. Added sext/zext attributes for byte/short/ubyte/ushort parameters, fixes #60 . Parameter attribs now properly set for intrinsic calls if necessary. Made the tango.math.Math patch less intrusive. Fixed/added some mini tests.
30 lines
445 B
D
30 lines
445 B
D
/*
|
|
* 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_end)
|
|
void va_end(va_list args);
|
|
|
|
pragma(va_copy)
|
|
void va_copy(va_list dst, va_list src);
|