Mercurial > projects > ldc
view tests/mini/callingconv1.d @ 533:2fe2d4518618
Reverted some changes in the Tango patch, splitting asm block is simply not supported by llvm.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Sun, 24 Aug 2008 16:51:17 +0200 |
parents | 642f6fa854e5 |
children | 4ac97ec7c18e |
line wrap: on
line source
module mini.callingconv1; extern(C) int printf(char*, ...); float foo(float a, float b) { return a + b; } void main() { float a = 1.5; float b = 2.5; float c; asm { mov EAX, [a]; push EAX; mov EAX, [b]; push EAX; call foo; fstp c; } printf("%f\n", c); assert(c == 4.0); printf("passed\n", c); }