mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-04-12 06:49:02 +02:00
Added X86-64 versioning
This commit is contained in:
@@ -6,6 +6,14 @@ void foo()
|
||||
naked;
|
||||
jmp pass;
|
||||
hlt;
|
||||
pass: ret;
|
||||
}
|
||||
version(X86_64)
|
||||
asm
|
||||
{
|
||||
naked;
|
||||
jmp pass;
|
||||
hlt;
|
||||
pass: ret;
|
||||
}
|
||||
else static assert(0, "todo");
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
extern(C) int printf(char*, ...);
|
||||
|
||||
ulong retval() {
|
||||
version (X86)
|
||||
asm { naked; mov EAX, 0xff; mov EDX, 0xaa; ret; }
|
||||
else version (X86_64)
|
||||
asm { naked; mov EAX, 0xff; mov EDX, 0xaa; ret; }
|
||||
}
|
||||
|
||||
@@ -13,6 +16,14 @@ void main() {
|
||||
a = retval();
|
||||
b = retval2();
|
||||
printf("%llu\n%llu\n", retval(), retval2());
|
||||
version (X86)
|
||||
{
|
||||
assert(a == 0x000000aa000000ff);
|
||||
assert(a == b);
|
||||
}
|
||||
else version (X86_64)
|
||||
{
|
||||
assert(a == 0xff);
|
||||
assert(b == 0x000000aa000000ff);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user