annotate nocompile/a/asm_02_D.d @ 1630:d0efa3ae5522 default tip

run/mini/naked_asm5: New x86_64 ABI passes the arguments in reverse order.
author David Nadlinger <code@klickverbot.at>
date Sat, 23 Apr 2011 22:57:32 +0200
parents a44492981ddb
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1436
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
1 // $HeadURL$
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
2 // $Date$
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
3 // $Author$
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
4
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
5 // @author@ Don Clugston <clugdbug@yahoo.com.au>
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
6 // @date@ 2007-03-14
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
7 // @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1061
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
8 // @desc@ [Issue 1061] "asm inc [;" segfaults compiler.
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
9
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
10 // __DSTRESS_ELINE__ 23
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
11
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
12 module dstress.nocompile.a.asm_02_D;
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
13
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
14 version(D_InlineASM_X86){
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
15 version = test;
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
16 }else version(D_InlineAsm_X86_64){
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
17 version = test;
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
18 }
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
19
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
20 version(test){
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
21 void foo() {
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
22 asm {
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
23 inc );
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
24 }
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
25 }
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
26 }else{
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
27 static assert(0, "DSTRESS{XFAIL}: no X86 inline ASM support");
a44492981ddb r7384@birke: tk | 2007-03-29 15:24:43 +0200
thomask
parents:
diff changeset
28 }