annotate run/t/tuple_19_A.d @ 1605:392a442e2d64

Use tuple value instead of tuple type as asm arg!
author Christian Kamm <kamm incasoftware de>
date Tue, 07 Apr 2009 17:42:12 +0200
parents 10fb8b4eeae3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1425
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
1 // $HeadURL$
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
2 // $Date$
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
3 // $Author$
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
4
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
5 // @author@ Don Clugston <clugdbug@yahoo.com.au>
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
6 // @date@ 2007-03-06
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
7 // @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1028
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
8 // @desc@ [Issue 1028] Segfault using tuple inside asm code.
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
9
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
10 module dstress.run.t.tuple_19_A;
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
11
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
12 version(D_InlineAsm_X86){
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
13 version = test;
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
14 }else version(D_InlineAsm_X86_64){
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
15 version = test;
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
16 }else{
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
17 static assert(0, "DSTRESS{XFAIL}: no x86 inline asm support");
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
18 }
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
19
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
20 version(test){
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
21 int a(X...)(X x){
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
22 int i = 0xAB_CD_EF_12;
1605
392a442e2d64 Use tuple value instead of tuple type as asm arg!
Christian Kamm <kamm incasoftware de>
parents: 1425
diff changeset
23 alias x[0] var1;
1425
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
24 asm {
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
25 mov EAX, var1;
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
26 inc EAX;
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
27 mov i, EAX;
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
28 }
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
29 return i;
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
30 }
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
31
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
32 int main(){
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
33 if(4 != a(3)){
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
34 assert(0);
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
35 }
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
36 return 0;
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
37 }
10fb8b4eeae3 [Issue 1028] Segfault using tuple inside asm code.
thomask
parents:
diff changeset
38 }