Added support for tuple return with __asmtuple!(int,int) etc.

This commit is contained in:
Tomas Lindquist Olsen
2009-03-28 08:25:58 +01:00
parent 1809214995
commit e61562033d
3 changed files with 53 additions and 8 deletions

View File

@@ -1,13 +1,17 @@
module ldc.llvmasm;
pragma(llvm_inline_asm)
template __asm()
struct __asmtuple_t(T...)
{
void __asm(char[] asmcode, char[] constraints, ...);
T v;
}
pragma(llvm_inline_asm)
template __asm(T)
{
T __asm(char[] asmcode, char[] constraints, ...);
void __asm( )(char[] asmcode, char[] constraints, ...);
T __asm(T)(char[] asmcode, char[] constraints, ...);
template __asmtuple(T...)
{
__asmtuple_t!(T) __asmtuple(char[] asmcode, char[] constraints, ...);
}
}