Mercurial > projects > ldc
view tests/mini/naked_asm2.d @ 1518:26d061e61b02
Initialize LLVM target and asmprinter for the native and extra targets.
Uses some CMake hackery to get the native LLVM target name, since it only
provides a conveniance function for initializing the native target and not the
native asmprinter.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Fri, 26 Jun 2009 21:02:23 +0200 |
parents | 855889b7b268 |
children |
line wrap: on
line source
int foo() { static size_t fourty2 = 42; version(X86) asm { naked; mov EAX, fourty2; ret; } else version (X86_64) { asm { naked; movq RAX,fourty2; ret; } } else static assert(0, "todo"); } void main() { int i = foo(); printf("i == %d\n", i); assert(i == 42); } extern(C) int printf(char*, ...);