view tangotests/asm4.d @ 302:bef811104734 trunk

[svn r323] Branching out of inline asm works. Renamed emit_finallyblocks to DtoFinallyBlocks and moved to llvmhelpers. Added enclosingtryfinally to AsmBlockStatement, so branches out of asm blocks respect finallys. Refactored some GotoStatement code into DtoGoto.
author ChristianK
date Wed, 25 Jun 2008 20:39:09 +0200
parents 79d8f6b3fbaf
children
line wrap: on
line source

module tangotests.asm4;

extern(C) int printf(char*,...);

void main()
{
    char* fmt = "yay!\n";
    asm
    {
        jmp L2;
    L1:;
        jmp L3;
    L2:;
        jmp L1;
    L3:;
        push fmt;
        call printf;
        pop EAX;
    }
}