view tests/mini/callingconv1.d @ 587:23538d0f0d5b

Fixed a few mini tests issues. Added 'darwin' and 'Posix' as versions user can't set. Fixed #80 .
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Thu, 11 Sep 2008 21:10:15 +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);
}