changeset 1279:23fe17e22a63

partial review
author thomask
date Mon, 25 Dec 2006 15:07:48 +0000
parents b644bef333ff
children a0be8cc7caa3
files addon/cpuinfo.d run/d/delete_13_B.d run/d/delete_14_A.d run/d/delete_14_B.d run/d/double_27_C.d run/d/double_27_D.d run/o/odd_bug_05_A.d run/o/odd_bug_05_B.d run/o/odd_bug_05_C.d run/o/odd_bug_05_D.d
diffstat 10 files changed, 21 insertions(+), 225 deletions(-) [+]
line wrap: on
line diff
--- a/addon/cpuinfo.d	Sat Dec 23 19:47:26 2006 +0000
+++ b/addon/cpuinfo.d	Mon Dec 25 15:07:48 2006 +0000
@@ -35,7 +35,9 @@
 		version(haveX86InlineAsm){
 			asm{
 				mov EAX, 0x8000_0001;
+				db 0x53;
 				cpuid;
+				db 0x5B;
 				mov a, EDX;
 			}
 		}else{
@@ -55,7 +57,9 @@
 		version(haveX86InlineAsm){
 			asm{
 				mov EAX, 1;
+				db 0x53;
 				cpuid;
+				db 0x5B;
 				mov a, EDX;
 			}
 		}else{
@@ -74,7 +78,9 @@
 	version(haveX86InlineAsm){
 		asm{
 			mov EAX, 1;
+			db 0x53;
 			cpuid;
+			db 0x5B;
 			mov a, EDX;
 		}
 	}
@@ -91,7 +97,9 @@
 		version(haveX86InlineAsm){
 			asm{
 				mov EAX, 1;
+				db 0x53;
 				cpuid;
+				db 0x5B;
 				mov a, EDX;
 			}
 		}else{
@@ -111,7 +119,9 @@
 		version(haveX86InlineAsm){
 			asm{
 				mov EAX, 1;
+				db 0x53;
 				cpuid;
+				db 0x5B;
 				mov a, EDX;
 			}
 		}else{
@@ -131,7 +141,9 @@
 		version(haveX86InlineAsm){
 			asm{
 				mov EAX, 1;
+				db 0x53;
 				cpuid;
+				db 0x5B;
 				mov a, EDX;
 			}
 		}else{
@@ -151,7 +163,9 @@
 		version(haveX86InlineAsm){
 			asm{
 				mov EAX, 1;
+				db 0x53;
 				cpuid;
+				db 0x5B;
 				mov a, EDX;
 			}
 		}else{
@@ -172,7 +186,9 @@
 		version(haveX86InlineAsm){
 			asm{
 				mov EAX, a;
+				db 0x53;
 				cpuid;
+				db 0x5B;
 				mov b, ECX;
 			}
 		}else{
--- a/run/d/delete_13_B.d	Sat Dec 23 19:47:26 2006 +0000
+++ b/run/d/delete_13_B.d	Mon Dec 25 15:07:48 2006 +0000
@@ -5,7 +5,7 @@
 module dstess.run.d.delete_13_B;
 
 int main(){
-	int* i = new int[3];
+	int* i = (new int[3]).ptr;
 	delete i;
 	return 0;
 }
--- a/run/d/delete_14_A.d	Sat Dec 23 19:47:26 2006 +0000
+++ b/run/d/delete_14_A.d	Mon Dec 25 15:07:48 2006 +0000
@@ -10,7 +10,7 @@
 
 class Foo{
 	new (size_t s){
-		return new byte[s];
+		return (new byte[s]).ptr;
 	}
 
 	delete(void* p){
--- a/run/d/delete_14_B.d	Sat Dec 23 19:47:26 2006 +0000
+++ b/run/d/delete_14_B.d	Mon Dec 25 15:07:48 2006 +0000
@@ -13,7 +13,7 @@
 	}
 
 	new (size_t s){
-		return new byte[s];
+		return (new byte[s]).ptr;
 	}
 
 	delete(void* p){
--- a/run/d/double_27_C.d	Sat Dec 23 19:47:26 2006 +0000
+++ b/run/d/double_27_C.d	Mon Dec 25 15:07:48 2006 +0000
@@ -19,7 +19,7 @@
 int main (){
 	const double values[] = [0.1e-100, 1.0, -1.0, 0.0];
 
-	if(func(values) != 0.1e-100){
+	if(func(values.ptr) != 0.1e-100){
 		assert(0);
 	}
 
--- a/run/d/double_27_D.d	Sat Dec 23 19:47:26 2006 +0000
+++ b/run/d/double_27_D.d	Mon Dec 25 15:07:48 2006 +0000
@@ -19,7 +19,7 @@
 int main (){
 	const double values[] = [double.max, 2.0, 0.5, 1.0];
 
-	if(func(values) != double.max){
+	if(func(values.ptr) != double.max){
 		assert(0);
 	}
 
--- a/run/o/odd_bug_05_A.d	Sat Dec 23 19:47:26 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	<thomas-dloop@kuehne.cn>
-// @date@	2006-07-02
-// @uri@	news:bug-234-3@http.d.puremagic.com/issues/
-
-module dstress.run.o.odd_bug_05_A;
-
-version(D_InlineAsm_X86){
-	version = runTest;
-}else version(D_InlineAsm_X86_64){
-	version = runTest;
-}
-
-version(runTest){
-	import addon.cpuinfo;
-
-	int main(){
-		haveSSE!()();
-
-		float[] a = new float[4];
-		a[0] = 1.0f;
-		a[1] = 0.2f;
-		a[2] = 3.0f;
-		a[3] = 0.4f;
-
-		float[] b = new float[4];
-
-		asm{
-			movups XMM0, a;
-			movups b, XMM0;
-			emms;
-		}
-
-		if(a[0] != b[0]){
-			assert(0);
-		}
-		if(a[1] != b[1]){
-			assert(0);
-		}
-		if(a[2] != b[2]){
-			assert(0);
-		}
-		if(a[3] != b[3]){
-			assert(0);
-		}
-
-		return 0;
-	}
-}else{
-	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
-	static assert(0);
-}
--- a/run/o/odd_bug_05_B.d	Sat Dec 23 19:47:26 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	<thomas-dloop@kuehne.cn>
-// @date@	2006-07-02
-// @uri@	news:bug-234-3@http.d.puremagic.com/issues/
-
-module dstress.run.o.odd_bug_05_B;
-
-version(D_InlineAsm_X86){
-	version = runTest;
-}else version(D_InlineAsm_X86_64){
-	version = runTest;
-}
-
-version(runTest){
-	import addon.cpuinfo;
-
-	int main(){
-		haveSSE!()();
-
-		float[4] a;
-		a[0] = 1.0f;
-		a[1] = 0.2f;
-		a[2] = 3.0f;
-		a[3] = 0.4f;
-
-		float[4] b;
-
-		asm{
-			movups XMM0, a;
-			movups b, XMM0;
-			emms;
-		}
-
-		if(a[0] != b[0]){
-			assert(0);
-		}
-		if(a[1] != b[1]){
-			assert(0);
-		}
-		if(a[2] != b[2]){
-			assert(0);
-		}
-		if(a[3] != b[3]){
-			assert(0);
-		}
-
-		return 0;
-	}
-}else{
-	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
-	static assert(0);
-}
--- a/run/o/odd_bug_05_C.d	Sat Dec 23 19:47:26 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	<thomas-dloop@kuehne.cn>
-// @date@	2006-07-02
-// @uri@	news:bug-234-3@http.d.puremagic.com/issues/
-
-module dstress.run.o.odd_bug_05_C;
-
-version(D_InlineAsm_X86){
-	version = runTest;
-}else version(D_InlineAsm_X86_64){
-	version = runTest;
-}
-
-version(runTest){
-	import addon.cpuinfo;
-
-	int main(){
-		haveSSE!()();
-
-		float[] a = new float[4];
-		a[0] = 1.0f;
-		a[1] = 2.0f;
-		a[2] = 3.0f;
-		a[3] = 4.0f;
-
-		asm{
-			movups XMM0, a;
-			movups a, XMM0;
-			emms;
-		}
-
-		if(a[0] != 1.0f){
-			assert(0);
-		}
-		if(a[1] != 2.0f){
-			assert(0);
-		}
-		if(a[2] != 3.0f){
-			assert(0);
-		}
-		if(a[3] != 4.0f){
-			assert(0);
-		}
-
-		return 0;
-	}
-}else{
-	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
-	static assert(0);
-}
--- a/run/o/odd_bug_05_D.d	Sat Dec 23 19:47:26 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	<thomas-dloop@kuehne.cn>
-// @date@	2006-07-02
-// @uri@	news:bug-234-3@http.d.puremagic.com/issues/
-
-module dstress.run.o.odd_bug_05_D;
-
-version(D_InlineAsm_X86){
-	version = runTest;
-}else version(D_InlineAsm_X86_64){
-	version = runTest;
-}
-
-version(runTest){
-	import addon.cpuinfo;
-
-	int main(){
-		haveSSE!()();
-
-		float[] a = new float[4];
-		a[0] = 1.0f;
-		a[1] = 0.2f;
-		a[2] = 3.0f;
-		a[3] = 0.4f;
-
-		float[] b = new float[4];
-
-		float[] dummy = new float[4];
-
-		asm{
-			movups XMM0, a;
-			movups b, XMM0;
-			emms;
-		}
-
-		if(a[0] != b[0]){
-			assert(0);
-		}
-		if(a[1] != b[1]){
-			assert(0);
-		}
-		if(a[2] != b[2]){
-			assert(0);
-		}
-		if(a[3] != b[3]){
-			assert(0);
-		}
-
-		return 0;
-	}
-}else{
-	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
-	static assert(0);
-}