annotate run/e/enum_53_D.d @ 1583:6820e66700df

[Issue 1836] New: Inline assembler can't use enum values as parameters. <burton-radons@shaw.ca> 2007-02-14 http://d.puremagic.com/issues/show_bug.cgi?id=1836
author thomask
date Fri, 22 Feb 2008 07:55:23 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1583
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
1 // $HeadURL$
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
2 // $Date$
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
3 // $Author$
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
4
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
5 // @author@ <burton-radons@shaw.ca>
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
6 // @date@ 2007-02-14
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
7 // @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1836
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
8 // @desc@ [Issue 1836] New: Inline assembler can't use enum values as parameters.
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
9
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
10 module dstress.run.e.enum_53_D;
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
11
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
12 version(D_InlineAsm_X86){
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
13 version = test;
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
14 }else version(D_InlineAsm_X86_64){
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
15 version = test;
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
16 }
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
17
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
18 version(test){
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
19 enum : int{
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
20 enumeration = 1,
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
21 }
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
22
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
23 int main(){
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
24 int dummy = enumeration;
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
25
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
26 asm{
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
27 mov EAX, enumeration;
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
28 cmp EAX, 1;
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
29 jne Lerror;
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
30 }
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
31
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
32 return 0;
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
33 Lerror:
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
34 assert(0);
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
35 }
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
36 }else{
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
37 pragma(msg, "DSTRESS{XFAIL}: X86 assembler not supported");
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
38 static assert(0);
6820e66700df [Issue 1836] New: Inline assembler can't use enum values as parameters.
thomask
parents:
diff changeset
39 }