# HG changeset patch # User thomask # Date 1203666923 0 # Node ID 6820e66700df777a41075944afa524a9a0666dc1 # Parent dbaec0ee5d40f41fd1d8e13555d4f51a97689cba [Issue 1836] New: Inline assembler can't use enum values as parameters. 2007-02-14 http://d.puremagic.com/issues/show_bug.cgi?id=1836 diff -r dbaec0ee5d40 -r 6820e66700df run/e/enum_53_A.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/e/enum_53_A.d Fri Feb 22 07:55:23 2008 +0000 @@ -0,0 +1,37 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ +// @date@ 2007-02-14 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1836 +// @desc@ [Issue 1836] New: Inline assembler can't use enum values as parameters. + +module dstress.run.e.enum_53_A; + +version(D_InlineAsm_X86){ + version = test; +}else version(D_InlineAsm_X86_64){ + version = test; +} + +version(test){ + enum : int{ + enumeration = 1, + } + + int main(){ + asm{ + mov EAX, enumeration; + cmp EAX, 1; + jne Lerror; + } + + return 0; + Lerror: + assert(0); + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: X86 assembler not supported"); + static assert(0); +} diff -r dbaec0ee5d40 -r 6820e66700df run/e/enum_53_B.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/e/enum_53_B.d Fri Feb 22 07:55:23 2008 +0000 @@ -0,0 +1,39 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ +// @date@ 2007-02-14 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1836 +// @desc@ [Issue 1836] New: Inline assembler can't use enum values as parameters. + +module dstress.run.e.enum_53_B; + +version(D_InlineAsm_X86){ + version = test; +}else version(D_InlineAsm_X86_64){ + version = test; +} + +version(test){ + enum : int{ + enumeration = 1, + } + + const dummy = enumeration; + + int main(){ + asm{ + mov EAX, enumeration; + cmp EAX, 1; + jne Lerror; + } + + return 0; + Lerror: + assert(0); + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: X86 assembler not supported"); + static assert(0); +} diff -r dbaec0ee5d40 -r 6820e66700df run/e/enum_53_C.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/e/enum_53_C.d Fri Feb 22 07:55:23 2008 +0000 @@ -0,0 +1,39 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ +// @date@ 2007-02-14 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1836 +// @desc@ [Issue 1836] New: Inline assembler can't use enum values as parameters. + +module dstress.run.e.enum_53_C; + +version(D_InlineAsm_X86){ + version = test; +}else version(D_InlineAsm_X86_64){ + version = test; +} + +version(test){ + enum : int{ + enumeration = 1, + } + + int main(){ + const dummy = enumeration; + + asm{ + mov EAX, enumeration; + cmp EAX, 1; + jne Lerror; + } + + return 0; + Lerror: + assert(0); + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: X86 assembler not supported"); + static assert(0); +} diff -r dbaec0ee5d40 -r 6820e66700df run/e/enum_53_D.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/e/enum_53_D.d Fri Feb 22 07:55:23 2008 +0000 @@ -0,0 +1,39 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ +// @date@ 2007-02-14 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1836 +// @desc@ [Issue 1836] New: Inline assembler can't use enum values as parameters. + +module dstress.run.e.enum_53_D; + +version(D_InlineAsm_X86){ + version = test; +}else version(D_InlineAsm_X86_64){ + version = test; +} + +version(test){ + enum : int{ + enumeration = 1, + } + + int main(){ + int dummy = enumeration; + + asm{ + mov EAX, enumeration; + cmp EAX, 1; + jne Lerror; + } + + return 0; + Lerror: + assert(0); + } +}else{ + pragma(msg, "DSTRESS{XFAIL}: X86 assembler not supported"); + static assert(0); +}