changeset 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 dbaec0ee5d40
children 75358a6522ce
files run/e/enum_53_A.d run/e/enum_53_B.d run/e/enum_53_C.d run/e/enum_53_D.d
diffstat 4 files changed, 154 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /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@	<burton-radons@shaw.ca>
+// @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);
+}
--- /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@	<burton-radons@shaw.ca>
+// @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);
+}
--- /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@	<burton-radons@shaw.ca>
+// @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);
+}
--- /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@	<burton-radons@shaw.ca>
+// @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);
+}