changeset 1427:596115f20776

fixed #1042
author thomask
date Mon, 12 Mar 2007 05:30:13 +0000
parents 3204340ec93b
children 9f63eb8157cd
files nocompile/a/asm_offset_01_B.d run/a/asm_offset_01_A.d run/a/asm_offset_01_B.d
diffstat 3 files changed, 46 insertions(+), 37 deletions(-) [+]
line wrap: on
line diff
--- a/nocompile/a/asm_offset_01_B.d	Mon Mar 12 05:29:36 2007 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	<lugaidster@gmail.com>
-// @date@	2006-04-28
-// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=116
-
-// __DSTRESS_ELINE__ 24
-
-module dstress.nocompile.a.asm_offset_01_B;
-
-version(D_InlineAsm_X86){
-	version = runTest;
-}
-
-version(runTest){
-	byte b;
-
-	void main(){
-		
-		static if(size_t.sizeof == 4){
-			asm{
-				mov EAX, offsetof b;
-			}
-		}else{
-			pragma(msg, "DSTRESS{ERROR}: unsupported pointer size");
-			static assert(0);
-		}
-	}
-}else{
-	pragma(msg, "DSTRESS{XFAIL}: no inline x86 asm support");
-	static assert(0);
-}
--- a/run/a/asm_offset_01_A.d	Mon Mar 12 05:29:36 2007 +0000
+++ b/run/a/asm_offset_01_A.d	Mon Mar 12 05:30:13 2007 +0000
@@ -6,12 +6,16 @@
 // @date@	2006-04-28
 // @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=116
 
+// __DSTRESS_TORTURE_BLOCK__ -fPIC
+
 module dstress.run.a.asm_offset_01_A;
 
 version(D_InlineAsm_X86){
 	version = runTest;
 }else version(D_InlineAsm_X86_64){
 	version = runTest;
+}else{
+	static assert(0, "DSTRESS{XFAIL}: no inline x86 asm support");
 }
 
 version(runTest){
@@ -26,6 +30,10 @@
 				mov EAX, offset b;
 				mov y, EAX;
 			}
+		}else static if(size_t.sizeof == 8){
+			asm{
+				mov RAX, offset b;
+				mov y, RAX;
 		}else{
 			pragma(msg, "DSTRESS{ERROR}: unsupported pointer size");
 			static assert(0);
@@ -37,7 +45,4 @@
 
 		return 0;
 	}
-}else{
-	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
-	static assert(0);
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_offset_01_B.d	Mon Mar 12 05:30:13 2007 +0000
@@ -0,0 +1,38 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	<lugaidster@gmail.com>
+// @date@	2006-04-28
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=116
+
+// __DSTRESS_TORTURE_BLOCK__ -fPIC
+
+module dstress.run.a.asm_offset_01_B;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}else{
+	static assert(0, "DSTRESS{XFAIL}: no inline x86 asm support");
+}
+
+version(runTest){
+	byte b;
+
+	void main(){
+		static if(size_t.sizeof == 4){
+			asm{
+				mov EAX, offsetof b;
+			}
+		}else static if(size_t.sizeof == 8){
+			asm{
+				mov RAX, offsetof b;
+			}
+		}else{
+			pragma(msg, "DSTRESS{ERROR}: unsupported pointer size");
+			static assert(0);
+		}
+	}
+}