Mercurial > projects > ldc
view tests/mini/callingconv1.d @ 657:c42173b3557b
Removed some checks for abstract llvm types that were too strict, a 'opaque* null' is a valid initializer... when structs in D can be just a forward reference.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Mon, 06 Oct 2008 14:37:00 +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); }