view tests/mini/callingconv1.d @ 705:5a2983f97498

Fixed weird struct problem from downs, see mini/compile_structs1.d Rewrote DtoIndexStruct/Class , the old implementation were way too complex for what we really need now - since the DotVar changes.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Tue, 14 Oct 2008 15:35:49 +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);
}