view tests/mini/asm3.d @ 811:8e6135be6999

Fixed ModuleInfo generation to no longer use the ModuleInfo class' default initializer for types/defaults, it's unsafe as initializers don't necesarily match the "formal" type. There might be explicit padding. Changed -g switch to emit DW_LANG_D debug info, make demangling work with a patched GDB, still more work to do for full support of D's Dwarf extensions. Added getNullValue helper method.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Mon, 01 Dec 2008 02:10:16 +0100
parents ef5f75ae6895
children 03d7c4aac654
line wrap: on
line source

module tangotests.asm3;

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

void main()
{
    char* fmt = "Hello D World\n";
    printf(fmt);
    version (LLVM_InlineAsm_X86)
    {
	asm
    	{
		push fmt;
        	call printf;
        	pop EAX;
    	}
    }
    else version(LLVM_InlineAsm_X86_64)
    {
        asm
        {
                movq    RDI, fmt;
                xor     AL, AL;
                call    printf;
        }
    }

}