Mercurial > projects > ldc
diff runtime/import/ldc/llvmasm.di @ 1154:9279a9dc6df3
Added support for tuple return with __asmtuple!(int,int) etc.
author | Tomas Lindquist Olsen <tomas.l.olsen gmail.com> |
---|---|
date | Sat, 28 Mar 2009 08:25:58 +0100 |
parents | 4454126b4345 |
children |
line wrap: on
line diff
--- a/runtime/import/ldc/llvmasm.di Sat Mar 28 07:24:53 2009 +0100 +++ b/runtime/import/ldc/llvmasm.di Sat Mar 28 08:25:58 2009 +0100 @@ -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, ...); + } }