changeset 1047:90fb42f640a4

partial DMD-0.160 review
author thomask
date Fri, 09 Jun 2006 14:30:39 +0000
parents 01fb56fb4971
children ea0247788622
files compile/a/asm_rdmsr_01_A.d compile/a/asm_rdpmc_01_A.d compile/a/asm_rdtsc_01_A.d compile/a/asm_rsm_01_A.d compile/a/asm_ud2_01.d run/a/asm_femms_01.d run/a/asm_rol_01_F.d run/a/assert_13_A.d run/a/assert_13_B.d run/d/debug_info_10_A.d run/d/debug_info_10_B.d run/d/debug_info_11_A.d run/o/opAndAnd_02_C.d
diffstat 13 files changed, 249 insertions(+), 33 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compile/a/asm_rdmsr_01_A.d	Fri Jun 09 14:30:39 2006 +0000
@@ -0,0 +1,22 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.compile.a.asm_rdmsr_01_A;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	void main(){
+		asm{
+			rdmsr;
+		}
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compile/a/asm_rdpmc_01_A.d	Fri Jun 09 14:30:39 2006 +0000
@@ -0,0 +1,22 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.compile.a.asm_rdpmc_01_A;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	void main(){
+		asm{
+			rdpmc;
+		}
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compile/a/asm_rdtsc_01_A.d	Fri Jun 09 14:30:39 2006 +0000
@@ -0,0 +1,22 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.compile.a.asm_rdtsc_01_A;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	void main(){
+		asm{
+			rdtsc;
+		}
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compile/a/asm_rsm_01_A.d	Fri Jun 09 14:30:39 2006 +0000
@@ -0,0 +1,22 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.compile.a.asm_rsm_01_A;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	void main(){
+		asm{
+			rsm;
+		}
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compile/a/asm_ud2_01.d	Fri Jun 09 14:30:39 2006 +0000
@@ -0,0 +1,24 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.norun.a.asm_ud2_01;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
+		asm{
+			ud2;
+		}
+		
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_femms_01.d	Fri Jun 09 14:30:39 2006 +0000
@@ -0,0 +1,25 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.a.asm_femms_01;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	import addon.cpuinfo;
+	int main(){
+		have3DNow!()();
+		asm{
+			femms;
+		}
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- a/run/a/asm_rol_01_F.d	Fri Jun 09 10:33:25 2006 +0000
+++ b/run/a/asm_rol_01_F.d	Fri Jun 09 14:30:39 2006 +0000
@@ -9,13 +9,13 @@
 }else version(D_InlineAsm_X86_64){
 	version = runTest;
 }
-
+import std.stdio;
 version(runTest){
 	int main(){
 		uint a = 0b1111_1100__0000_0000__0111_1111__1111_1111;
 
 		asm{
-			rol a, 2;
+			rol a, 3;
 		}
 
 		if(a != 0b1110_0000__0000_0011__1111_1111__1111_1111){
--- a/run/a/assert_13_A.d	Fri Jun 09 10:33:25 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Derek Parnell <derek@psych.ward>
-// @date@	2006-02-16
-// @uri@	news:9zjj1lakhsqb$.vh2lqmuohfvm$.dlg@40tude.net
-
-module dstress.run.a.assert_13_A;
-
-int main(){
-	assert("\u00aa", "\u00aa\uff16");
-
-	return 0;
-}
--- a/run/a/assert_13_B.d	Fri Jun 09 10:33:25 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Derek Parnell <derek@psych.ward>
-// @date@	2006-02-16
-// @uri@	news:9zjj1lakhsqb$.vh2lqmuohfvm$.dlg@40tude.net
-
-module dstress.run.a.assert_13_B;
-
-int main(){
-	char[] s;
-	assert(s = "\u00aa", "\u00aa\uff16");
-
-	return 0;
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/d/debug_info_10_A.d	Fri Jun 09 14:30:39 2006 +0000
@@ -0,0 +1,21 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// __DSTRESS_TORTURE_REQUIRE__ -g
+// __GDB_SCRIPT__ break debug_info_10_A.d:16\nrun\nprint i
+// __GDB_PATTERN__ 1 = 12340011
+
+module dstress.run.d.debug_info_10_A;
+
+int main(char[][] args){
+	int i = args.length / 1000;
+	
+	i += 12340011;
+
+	if(i % 4){
+		return 0;
+	}
+
+	assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/d/debug_info_10_B.d	Fri Jun 09 14:30:39 2006 +0000
@@ -0,0 +1,28 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// __DSTRESS_TORTURE_REQUIRE__ -g
+// __GDB_SCRIPT__ break debug_info_10_B.d:23\nrun\nprint i
+// __GDB_PATTERN__ 1 = 5678
+
+module dstress.run.d.debug_info_10_A;
+
+int i = 1234;
+
+int main(char[][] args){
+	int i = 5678 + args.length / 1000;
+
+	{
+		int i = 9002 + args.length / 1000;
+		if(i % 2){
+			assert(0);
+		}
+	}
+
+	if(i % 4){
+		return 0;
+	}
+
+	assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/d/debug_info_11_A.d	Fri Jun 09 14:30:39 2006 +0000
@@ -0,0 +1,35 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// __DSTRESS_TORTURE_REQUIRE__ -g
+// __GDB_SCRIPT__ break debug_info_11_A.d:23\nrun\nprint i
+// __GDB_PATTERN__ 1 = 12345679
+
+module dstress.run.d.debug_info_10_A;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(char[][] args){
+		int i = 12345678;
+
+		asm{
+			inc i;
+			nop;
+			inc i;
+		}
+		if(i != 12345680){
+			assert(0);
+		}
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XPASS}: no inline ASM support");
+	static assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/o/opAndAnd_02_C.d	Fri Jun 09 14:30:39 2006 +0000
@@ -0,0 +1,26 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	<clugdbug@yahoo.com.au>
+// @date@	2006-05-29
+// @uri@	news:bug-160-3@http.d.puremagic.com/bugzilla/
+
+module dstress.run.o.opAndAnd_02_C;
+
+template dog(char [] bird){
+	static if ((bird.length > 99) && (bird[1234] == 'b')){
+		const int dog = 2;
+	}else{
+		const int dog = 3;
+	}
+}
+
+const int pig = dog!("a");
+
+int main(){
+	if(pig != 3){
+		assert(0);
+	}
+	return 0;
+}