Mercurial > projects > ldc
view tests/mini/naked_asm2.d @ 951:e71c61befd6d
Now that we're using LLVM 2.5, we can stop always running the
CFGSimplification pass.
The pass was originally added as a workaround for a LLVM 2.4 bug where debug
info would reference labels that have been optimized away.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Thu, 12 Feb 2009 18:39:03 +0100 |
parents | 79e3d33e6d6e |
children | 855889b7b268 |
line wrap: on
line source
int foo() { static int 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*, ...);