changeset 897:c2931e457792

updated tests to DMD-0.149
author thomask
date Wed, 08 Mar 2006 14:06:40 +0000
parents 6f89cf0d83c7
children 74306f82ac33
files compile/s/scope_07_A.d compile/s/scope_07_B.d compile/s/scope_07_C.d nocompile/i/if_11_C.d nocompile/i/if_11_D.d nocompile/i/if_12_C.d nocompile/i/if_12_D.d nocompile/i/if_13_A.d nocompile/i/if_13_B.d nocompile/i/if_13_C.d nocompile/i/if_13_D.d nocompile/i/if_13_E.d nocompile/i/if_13_F.d nocompile/o/opAdd_08_A.d nocompile/o/opCom_01_A.d nocompile/o/opNeg_05_A.d nocompile/o/opPos_05_A.d nocompile/o/opPostDec_12_A.d nocompile/o/opPostInc_12_A.d nocompile/o/opPreDec_12_A.d nocompile/o/opPreInc_12_A.d nocompile/o/opSub_08_A.d run/d/double_27_A.d run/d/double_27_B.d run/d/double_27_C.d run/d/double_27_D.d run/e/ExpressionStatement_10_A.d run/f/float_28_A.d run/f/foreach_33_A.d run/f/foreach_33_B.d run/f/foreach_33_C.d run/f/foreach_33_D.d run/f/foreach_33_E.d run/i/if_11_A.d run/i/if_11_B.d run/i/if_12_A.d run/i/if_12_B.d run/o/opAdd_08_A.d run/o/opAdd_08_B.d run/o/opAdd_08_C.d run/o/opAdd_08_D.d run/o/opCom_01_A.d run/o/opCom_01_B.d run/o/opNeg_05_A.d run/o/opNeg_05_B.d run/o/opPos_05_A.d run/o/opPos_05_B.d run/o/opPostDec_12_A.d run/o/opPostDec_12_B.d run/o/opPostInc_12_A.d run/o/opPostInc_12_B.d run/o/opPreDec_12_A.d run/o/opPreDec_12_B.d run/o/opPreInc_12_A.d run/o/opPreInc_12_B.d run/o/opSub_08_A.d run/o/opSub_08_B.d run/o/opSub_08_C.d run/o/opSub_08_D.d run/s/scope_05_A.d run/s/scope_05_B.d run/s/scope_05_C.d run/s/scope_05_D.d run/s/scope_05_E.d run/s/scope_05_F.d run/s/scope_06_A.d run/s/scope_06_B.d run/s/scope_06_C.d run/s/scope_06_D.d run/s/scope_06_E.d run/s/scope_06_F.d run/s/scope_06_G.d run/s/scope_06_H.d run/s/scope_06_I.d run/s/scope_06_J.d run/s/scope_06_K.d run/s/scope_06_L.d run/s/scope_06_M.d run/s/scope_06_N.d run/s/scope_06_O.d run/slice_09.d run/t/this_11_A.d run/t/this_11_B.d run/t/this_11_C.d run/t/this_11_D.d
diffstat 85 files changed, 1740 insertions(+), 420 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compile/s/scope_07_A.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,11 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.compile.s.scope_07_A;
+
+void main(){
+	scope(exit) throw new Exception("msg 1");
+	scope(failure) throw new Exception("msg 2");
+	throw new Exception("msg 0");
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compile/s/scope_07_B.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,11 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.compile.s.scope_07_B;
+
+void main(){
+	scope(failure) throw new Exception("msg 1");
+	scope(failure) throw new Exception("msg 2");
+	throw new Exception("msg 0");
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compile/s/scope_07_C.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,10 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.compile.s.scope_07_C;
+
+void main(){
+	scope(failure) throw new Exception("msg 1");
+	scope(failure) throw new Exception("msg 2");
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/i/if_11_C.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,15 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// __DSTRESS_ELINE__ 13
+
+module dstress.nocompile.i.if_11_C;
+
+int main(){
+	if(auto x = 2){
+		return 0;
+	}else{
+		return x;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/i/if_11_D.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,14 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// __DSTRESS_ELINE__ 13
+
+module dstress.nocompile.i.if_11_D;
+
+int main(){
+	if(auto x = 2){
+		return 0;
+	}
+	return x;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/i/if_12_C.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,15 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// __DSTRESS_ELINE__ 13
+
+module dstress.nocompile.i.if_12_C;
+
+int main(){
+	if(int i = 2 != 3){
+		return 0;
+	}else{
+		return i;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/i/if_12_D.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,14 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// __DSTRESS_ELINE__ 13
+
+module dstress.nocompile.i.if_12_D;
+
+int main(){
+	if(int i = 2 != 3){
+		return 0;
+	}
+	return i;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/i/if_13_A.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,15 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// __DSTRESS_ELINE__ 13
+
+module dstress.nocompile.i.if_13_A;
+
+int main(){
+	if(int i: 2 > 3){
+		return 0;
+	}else{
+		return 1;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/i/if_13_B.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,15 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// __DSTRESS_ELINE__ 10
+
+module dstress.nocompile.i.if_13_B;
+
+int main(){
+	if(int i; 2 > 3){
+		return 0;
+	}else{
+		return 1;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/i/if_13_C.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,15 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// __DSTRESS_ELINE__ 10
+
+module dstress.nocompile.i.if_13_C;
+
+int main(){
+	if(auto i; 2 > 3){
+		return 0;
+	}else{
+		return 1;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/i/if_13_D.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,15 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// __DSTRESS_ELINE__ 10
+
+module dstress.nocompile.i.if_13_D;
+
+int main(){
+	if(auto i: 2 > 3){
+		return 0;
+	}else{
+		return 1;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/i/if_13_E.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,15 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// __DSTRESS_ELINE__ 10
+
+module dstress.nocompile.i.if_13_E;
+
+int main(){
+	if(i: 2 > 3){
+		return 0;
+	}else{
+		return 1;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/i/if_13_F.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,15 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// __DSTRESS_ELINE__ 10
+
+module dstress.nocompile.i.if_13_F;
+
+int main(){
+	if(i; 2 > 3){
+		return 0;
+	}else{
+		return 1;
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/o/opAdd_08_A.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,17 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
+// @date@	2006-02-28
+// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
+
+// __DSTRESS_ELINE__ 16
+
+module dstress.nocompile.o.opAdd_08_A;
+
+void main(){
+	bool a = true;
+
+	a = a + a;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/o/opCom_01_A.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,17 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
+// @date@	2006-02-28
+// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
+
+// __DSTRESS_ELINE__ 16
+
+module nocompile.run.o.opCom_01_A;
+
+void main(){
+	bool a = false;
+
+	a = ~a;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/o/opNeg_05_A.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,17 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
+// @date@	2006-02-28
+// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
+
+// __DSTRESS_ELINE__ 16
+
+module dstress.nocompile.o.opNeg_05_A;
+
+int main(){
+	bool a = false;
+
+	a = -a;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/o/opPos_05_A.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,17 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
+// @date@	2006-02-28
+// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
+
+// __DSTRESS_ELINE__ 16
+
+module dstress.nocompile.o.opPos_05_A;
+
+int main(){
+	bool a = false;
+
+	a = +a;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/o/opPostDec_12_A.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,17 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
+// @date@	2006-02-28
+// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
+
+// __DSTRESS_ELINE__ 16
+
+module dstress.nocompile.o.opPostDec_12_A;
+
+int main(){
+	bool a = false;
+
+	a--;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/o/opPostInc_12_A.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,17 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
+// @date@	2006-02-28
+// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
+
+// __DSTRESS_ELINE__ 16
+
+module nocompile.run.o.opPostInc_12_A;
+
+void main(){
+	bool a = false;
+
+	a++;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/o/opPreDec_12_A.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,17 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
+// @date@	2006-02-28
+// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
+
+// __DSTRESS_ELINE__ 16
+
+module dstress.nocompile.o.opPreDec_12_A;
+
+void main(){
+	bool a = false;
+
+	--a;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/o/opPreInc_12_A.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,17 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
+// @date@	2006-02-28
+// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
+
+// __DSTRESS_ELINE__ 16
+
+module dstress.nocompile.o.opPreInc_12_A;
+
+void main(){
+	bool a = false;
+
+	++a;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nocompile/o/opSub_08_A.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,17 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
+// @date@	2006-02-28
+// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
+
+// __DSTRESS_ELINE__ 16
+
+module dstress.nocompile.o.opSub_08_A;
+
+int main(){
+	bool a = true;
+
+	a = a - a;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/d/double_27_A.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,27 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// based on: gcc.c-torture/execute/ieee/20010226-1.c 
+
+module dstress.run.d.double_27_A;
+
+double dfrom = 1.1;
+double m1;
+double m2;
+
+ulong mant_long;
+
+int main(){
+	m1 = dfrom / 2.0;
+	m2 = m1 * 4294967296.0;
+	mant_long = (cast(ulong) m2) & 0xFFFF_FFFF;
+
+	if(mant_long != 0x8CCC_CCCC){
+		assert(0);
+	}
+
+	return 0;
+}
+	
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/d/double_27_B.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,49 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// based on: gcc.c-torture/execute/ieee/930529-1.c
+
+module dstress.run.d.double_27_B;
+
+int main (){
+	union D {
+		double d;
+		ubyte[8] c;
+	};
+
+	D d;
+	d.d = 1.0/7.0;
+
+	version(LittleEndian){
+		if(
+			d.c[0] == 0x92
+			&& d.c[1] == 0x24
+			&& d.c[2] == 0x49
+			&& d.c[3] == 0x92
+			&& d.c[4] == 0x24
+			&& d.c[5] == 0x49
+			&& d.c[6] == 0xc2
+			&& d.c[7] == 0x3f
+		){
+			return 0;
+		}
+	}else version(BigEndian){
+		if(
+			d.c[7] == 0x92
+			&& d.c[6] == 0x24
+			&& d.c[5] == 0x49
+			&& d.c[4] == 0x92
+			&& d.c[3] == 0x24
+			&& d.c[2] == 0x49
+			&& d.c[1] == 0xc2
+			&& d.c[0] == 0x3f
+		){
+			return 0;
+		}
+	}else{
+		static assert(0);
+	}
+
+	assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/d/double_27_C.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,27 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// based on: gcc.c-torture/execute/ieee/acc1.c
+
+module dstress.run.d.double_27_C;
+
+double func (double *array){
+	double d = *array;
+	
+	if (d == 0.0){
+		return d;
+	}else{
+		return d + func (array + 1);
+	}
+}
+
+int main (){
+	const double values[] = [0.1e-100, 1.0, -1.0, 0.0];
+
+	if(func(values) != 0.1e-100){
+		assert(0);
+	}
+	
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/d/double_27_D.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,27 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// based on: gcc.c-torture/execute/ieee/acc2.c
+
+module dstress.run.d.double_27_D;
+
+double func (double *array){
+	double d = *array;
+	
+	if (d == 1.0){
+		return d;
+	}else{
+		return d + func (array + 1);
+	}
+}
+
+int main (){
+	const double values[] = [double.max, 2.0, 0.5, 1.0];
+
+	if(func(values) != double.max){
+		assert(0);
+	}
+	
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/e/ExpressionStatement_10_A.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,16 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.e.ExpressionStatement_10_A;
+
+int main(){
+	int x = 3;
+	cast(void)(x + x);
+
+	if(x != 3){
+		static assert(0);
+	}
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/f/float_28_A.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,29 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// based on: gcc.c-torture/execute/ieee/980619-1.c 
+
+module dstress.run.f.float_28_A;
+
+int main(){
+	float reale = 1.0f;
+	float oneplus;
+	int i;
+
+	for(i = 0; ; i++){
+		oneplus = 1.0f + reale;
+		if(oneplus == 1.0f){
+			break;
+		}
+
+		reale = reale / 2.0f;
+	}
+
+	/* Assumes ieee754 accurate arithmetic above. */
+	if(i != 24){
+		assert(0);
+	}
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/f/foreach_33_A.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,22 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstess.run.f.foreach_33_A;
+
+int main(){
+	int sum = 0;
+	char[] data = "\u0001\u0010\u0030";
+
+	char c = 0x20;
+
+	foreach(c; data){
+		sum += c;
+	}
+
+	if(sum != 0x41){
+		assert(0);
+	}
+	
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/f/foreach_33_B.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,26 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstess.run.f.foreach_33_B;
+
+int main(){
+	int sum = 0;
+	char[] data = "\u0001\u0010\u0030";
+
+	char c = 0x20;
+
+	foreach(c; data){
+		sum += c;
+	}
+
+	if(c != 0x20){
+		assert(0);
+	}
+
+	if(sum != 0x41){
+		assert(0);
+	}
+	
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/f/foreach_33_C.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,23 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstess.run.f.foreach_33_C;
+
+int main(){
+	int sum = 0;
+	char[] data = "\u0001\u0010\u0030";
+
+	creal c = 1.0 + 2.0i;
+
+	foreach(c; data){
+		static assert(typeid(typeof(c)) == typeid(char));
+		sum += c;
+	}
+
+	if(sum != 0x41){
+		assert(0);
+	}
+	
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/f/foreach_33_D.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,27 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstess.run.f.foreach_33_D;
+
+int main(){
+	int sum = 0;
+	int sumI = 0;
+
+	char[] data = "\u0001\u0010\u0030\u0000";
+
+	foreach(i, c; data){
+		sumI += i;
+		sum += c;
+	}
+
+	if(sum != 0x41){
+		assert(0);
+	}
+
+	if(sumI != 6){
+		assert(0);
+	}
+	
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/f/foreach_33_E.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,27 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstess.run.f.foreach_33_E;
+
+int main(){
+	int sum = 0;
+	int sumI = 0;
+
+	char[] data = "\u0001\u0010\u0030\u0000";
+
+	foreach(i,char c; data){
+		sumI += i;
+		sum += c;
+	}
+
+	if(sum != 0x41){
+		assert(0);
+	}
+
+	if(sumI != 6){
+		assert(0);
+	}
+	
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/i/if_11_A.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,15 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.i.if_11_A;
+
+int main(){
+	if(auto x = 3){
+		return 0;	
+	}else{
+		assert(0);
+	}
+
+	assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/i/if_11_B.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,15 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.i.if_11_B;
+
+int main(){
+	if(auto x = 0){
+		assert(0);
+	}else{
+		return 0;
+	}
+
+	assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/i/if_12_A.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,15 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.i.if_12_A;
+
+int main(){
+	if(int i = 2 > 3){
+		assert(0);
+	}else{
+		return 0;
+	}
+
+	assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/i/if_12_B.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,19 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.i.if_12_B;
+
+int main(){
+	if(int i = 2 != 3){
+		if(i != 1){
+			assert(0);
+		}else{
+			return 0;
+		}
+	}else{
+		assert(0);
+	}
+
+	assert(0);
+}
--- a/run/o/opAdd_08_A.d	Wed Mar 08 14:06:14 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
-// @date@	2006-02-28
-// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
-
-module dstress.run.o.opAdd_08_A;
-
-int main(){
-	bool a = true;
-
-	a = a + a + a;
-
-	if(a == false || a == true){
-		return 0;
-	}
-}
--- a/run/o/opAdd_08_B.d	Wed Mar 08 14:06:14 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
-// @date@	2006-02-28
-// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
-
-module dstress.run.o.opAdd_08_B;
-
-int main(){
-	bool a = true;
-
-	a = a + a;
-
-	if(a == false || a == true){
-		return 0;
-	}
-}
--- a/run/o/opAdd_08_C.d	Wed Mar 08 14:06:14 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
-// @date@	2006-02-28
-// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
-
-module dstress.run.o.opAdd_08_C;
-
-int main(){
-	bool a = false;
-
-	a = a + a;
-
-	if(a == false || a == true){
-		return 0;
-	}
-}
--- a/run/o/opAdd_08_D.d	Wed Mar 08 14:06:14 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
-// @date@	2006-02-28
-// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
-
-module dstress.run.o.opAdd_08_D;
-
-int main(){
-	bool a = false;
-
-	a = a + a + a;
-
-	if(a == false || a == true){
-		return 0;
-	}
-}
--- a/run/o/opCom_01_A.d	Wed Mar 08 14:06:14 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
-// @date@	2006-02-28
-// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
-
-module dstress.run.o.opCom_01_A;
-
-int main(){
-	bool a = false;
-
-	a = ~a;
-
-	if(a == false || a == true){
-		return 0;
-	}
-}
--- a/run/o/opCom_01_B.d	Wed Mar 08 14:06:14 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
-// @date@	2006-02-28
-// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
-
-module dstress.run.o.opCom_01_B;
-
-int main(){
-	bool a = true;
-
-	a = ~a;
-
-	if(a == false || a == true){
-		return 0;
-	}
-}
--- a/run/o/opNeg_05_A.d	Wed Mar 08 14:06:14 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
-// @date@	2006-02-28
-// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
-
-module dstress.run.o.opNeg_05_A;
-
-int main(){
-	bool a = false;
-
-	a = -a;
-
-	if(a == false || a == true){
-		return 0;
-	}
-}
--- a/run/o/opNeg_05_B.d	Wed Mar 08 14:06:14 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
-// @date@	2006-02-28
-// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
-
-module dstress.run.o.opNeg_05_B;
-
-int main(){
-	bool a = true;
-
-	a = -a;
-
-	if(a == false || a == true){
-		return 0;
-	}
-}
--- a/run/o/opPos_05_A.d	Wed Mar 08 14:06:14 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
-// @date@	2006-02-28
-// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
-
-module dstress.run.o.opPos_05_A;
-
-int main(){
-	bool a = false;
-
-	a = +a;
-
-	if(a == false || a == true){
-		return 0;
-	}
-}
--- a/run/o/opPos_05_B.d	Wed Mar 08 14:06:14 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
-// @date@	2006-02-28
-// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
-
-module dstress.run.o.opPos_05_B;
-
-int main(){
-	bool a = true;
-
-	a = +a;
-
-	if(a == false || a == true){
-		return 0;
-	}
-}
--- a/run/o/opPostDec_12_A.d	Wed Mar 08 14:06:14 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
-// @date@	2006-02-28
-// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
-
-module dstress.run.o.opPostDec_12_A;
-
-int main(){
-	bool a = false;
-
-	a--;
-
-	if(a == false || a == true){
-		return 0;
-	}
-}
--- a/run/o/opPostDec_12_B.d	Wed Mar 08 14:06:14 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
-// @date@	2006-02-28
-// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
-
-module dstress.run.o.opPostDec_12_B;
-
-int main(){
-	bool a = true;
-
-	a--;
-
-	if(a == false || a == true){
-		return 0;
-	}
-}
--- a/run/o/opPostInc_12_A.d	Wed Mar 08 14:06:14 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
-// @date@	2006-02-28
-// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
-
-module dstress.run.o.opPostInc_12_A;
-
-int main(){
-	bool a = false;
-
-	a++;
-
-	if(a == false || a == true){
-		return 0;
-	}
-}
--- a/run/o/opPostInc_12_B.d	Wed Mar 08 14:06:14 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
-// @date@	2006-02-28
-// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
-
-module dstress.run.o.opPostInc_12_B;
-
-int main(){
-	bool a = true;
-
-	a++;
-
-	if(a == false || a == true){
-		return 0;
-	}
-}
--- a/run/o/opPreDec_12_A.d	Wed Mar 08 14:06:14 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
-// @date@	2006-02-28
-// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
-
-module dstress.run.o.opPreDec_12_A;
-
-int main(){
-	bool a = false;
-
-	--a;
-
-	if(a == false || a == true){
-		return 0;
-	}
-}
--- a/run/o/opPreDec_12_B.d	Wed Mar 08 14:06:14 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
-// @date@	2006-02-28
-// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
-
-module dstress.run.o.opPreDec_12_B;
-
-int main(){
-	bool a = true;
-
-	--a;
-
-	if(a == false || a == true){
-		return 0;
-	}
-}
--- a/run/o/opPreInc_12_A.d	Wed Mar 08 14:06:14 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
-// @date@	2006-02-28
-// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
-
-module dstress.run.o.opPreInc_12_A;
-
-int main(){
-	bool a = false;
-
-	++a;
-
-	if(a == false || a == true){
-		return 0;
-	}
-}
--- a/run/o/opPreInc_12_B.d	Wed Mar 08 14:06:14 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
-// @date@	2006-02-28
-// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
-
-module dstress.run.o.opPreInc_12_B;
-
-int main(){
-	bool a = true;
-
-	++a;
-
-	if(a == false || a == true){
-		return 0;
-	}
-}
--- a/run/o/opSub_08_A.d	Wed Mar 08 14:06:14 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
-// @date@	2006-02-28
-// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
-
-module dstress.run.o.opSub_08_A;
-
-int main(){
-	bool a = true;
-
-	a = a - a - a;
-
-	if(a == false || a == true){
-		return 0;
-	}
-}
--- a/run/o/opSub_08_B.d	Wed Mar 08 14:06:14 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
-// @date@	2006-02-28
-// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
-
-module dstress.run.o.opSub_08_B;
-
-int main(){
-	bool a = true;
-
-	a = a - a;
-
-	if(a == false || a == true){
-		return 0;
-	}
-}
--- a/run/o/opSub_08_C.d	Wed Mar 08 14:06:14 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
-// @date@	2006-02-28
-// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
-
-module dstress.run.o.opSub_08_C;
-
-int main(){
-	bool a = false;
-
-	a = a - a;
-
-	if(a == false || a == true){
-		return 0;
-	}
-}
--- a/run/o/opSub_08_D.d	Wed Mar 08 14:06:14 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-// $HeadURL$
-// $Date$
-// $Author$
-
-// @author@	Oskar Linde <oskar.lindeREM@OVEgmail.com>
-// @date@	2006-02-28
-// @uri@	news:du1l30$1jfl$1@digitaldaemon.com
-
-module dstress.run.o.opSub_08_D;
-
-int main(){
-	bool a = false;
-
-	a = a - a - a;
-
-	if(a == false || a == true){
-		return 0;
-	}
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/scope_05_A.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,23 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.s.scope_05_A;
+
+int main(){
+	
+	int status;
+
+	{
+		scope(exit) status++;
+		if(++status != 1){
+			assert(0);
+		}
+	}
+
+	if(status != 2){
+		assert(0);
+	}
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/scope_05_B.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,23 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.s.scope_05_B;
+
+int main(){
+	
+	int status;
+
+	{
+		scope(success) status++;
+		if(++status != 1){
+			assert(0);
+		}
+	}
+
+	if(status != 2){
+		assert(0);
+	}
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/scope_05_C.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,23 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.s.scope_05_C;
+
+int main(){
+	
+	int status;
+
+	{
+		scope(failure) status++;
+		if(++status != 1){
+			assert(0);
+		}
+	}
+
+	if(status != 1){
+		assert(0);
+	}
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/scope_05_D.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,25 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.s.scope_05_D;
+
+int main(){
+	
+	int status;
+
+	try{
+		scope(failure) status++;
+		if(++status != 1){
+			assert(0);
+		}
+		throw new Exception("msg");
+	}catch(Exception e){
+		if(status == 2){
+			return 0;
+		}
+	}
+
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/scope_05_E.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,25 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.s.scope_05_E;
+
+int main(){
+	
+	int status;
+
+	try{
+		scope(exit) status++;
+		if(++status != 1){
+			assert(0);
+		}
+		throw new Exception("msg");
+	}catch(Exception e){
+		if(status == 2){
+			return 0;
+		}
+	}
+
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/scope_05_F.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,25 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.s.scope_05_F;
+
+int main(){
+	
+	int status;
+
+	try{
+		scope(success) status++;
+		if(++status != 1){
+			assert(0);
+		}
+		throw new Exception("msg");
+	}catch(Exception e){
+		if(status == 1){
+			return 0;
+		}
+	}
+
+
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/scope_06_A.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,60 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.s.scope_06_A;
+
+int main(){
+	int a;
+	int b;
+	
+	{
+		scope(exit){
+			if(a != 10){
+				assert(0);
+			}
+			
+			if(b != 6){
+				assert(0);
+			}
+
+			a++;
+		}
+
+		if(b!=0){
+			assert(0);
+		}else{
+			b = 5;
+		}
+
+		scope(exit){
+			if(a != 10){
+				assert(0);
+			}
+			
+			if(b != 5){
+				assert(0);
+			}
+			
+			b++;
+		}
+
+		
+		if(a!=0){
+			assert(0);
+		}else{
+			a = 10;
+		}
+	}
+
+	if(a != 11){
+		assert(0);
+	}
+
+	if(b != 6){
+		assert(0);
+	}
+
+	return 0;
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/scope_06_B.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,60 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.s.scope_06_B;
+
+int main(){
+	int a;
+	int b;
+	
+	{
+		scope(success){
+			if(a != 10){
+				assert(0);
+			}
+			
+			if(b != 6){
+				assert(0);
+			}
+
+			a++;
+		}
+
+		if(b!=0){
+			assert(0);
+		}else{
+			b = 5;
+		}
+
+		scope(exit){
+			if(a != 10){
+				assert(0);
+			}
+			
+			if(b != 5){
+				assert(0);
+			}
+			
+			b++;
+		}
+
+		
+		if(a!=0){
+			assert(0);
+		}else{
+			a = 10;
+		}
+	}
+
+	if(a != 11){
+		assert(0);
+	}
+
+	if(b != 6){
+		assert(0);
+	}
+
+	return 0;
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/scope_06_C.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,60 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.s.scope_06_C;
+
+int main(){
+	int a;
+	int b;
+	
+	{
+		scope(success){
+			if(a != 10){
+				assert(0);
+			}
+			
+			if(b != 6){
+				assert(0);
+			}
+
+			a++;
+		}
+
+		if(b!=0){
+			assert(0);
+		}else{
+			b = 5;
+		}
+
+		scope(success){
+			if(a != 10){
+				assert(0);
+			}
+			
+			if(b != 5){
+				assert(0);
+			}
+			
+			b++;
+		}
+
+		
+		if(a!=0){
+			assert(0);
+		}else{
+			a = 10;
+		}
+	}
+
+	if(a != 11){
+		assert(0);
+	}
+
+	if(b != 6){
+		assert(0);
+	}
+
+	return 0;
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/scope_06_D.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,60 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.s.scope_06_D;
+
+int main(){
+	int a;
+	int b;
+	
+	{
+		scope(exit){
+			if(a != 10){
+				assert(0);
+			}
+			
+			if(b != 6){
+				assert(0);
+			}
+
+			a++;
+		}
+
+		if(b!=0){
+			assert(0);
+		}else{
+			b = 5;
+		}
+
+		scope(success){
+			if(a != 10){
+				assert(0);
+			}
+			
+			if(b != 5){
+				assert(0);
+			}
+			
+			b++;
+		}
+
+		
+		if(a!=0){
+			assert(0);
+		}else{
+			a = 10;
+		}
+	}
+
+	if(a != 11){
+		assert(0);
+	}
+
+	if(b != 6){
+		assert(0);
+	}
+
+	return 0;
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/scope_06_E.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,36 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.s.scope_06_E;
+
+int main(){
+	int a;
+	
+	{
+		scope(success){
+			if(a != 10){
+				assert(0);
+			}
+
+			a++;
+		}
+
+		scope(failure){
+			assert(0);
+		}
+		
+		if(a!=0){
+			assert(0);
+		}else{
+			a = 10;
+		}
+	}
+
+	if(a != 11){
+		assert(0);
+	}
+
+	return 0;
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/scope_06_F.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,36 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.s.scope_06_F;
+
+int main(){
+	int a;
+	
+	{
+		scope(failure){
+			assert(0);
+		}
+		
+		scope(success){
+			if(a != 10){
+				assert(0);
+			}
+
+			a++;
+		}
+
+		if(a!=0){
+			assert(0);
+		}else{
+			a = 10;
+		}
+	}
+
+	if(a != 11){
+		assert(0);
+	}
+
+	return 0;
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/scope_06_G.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,40 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.s.scope_06_G;
+
+int main(){
+	int a;
+	
+	try{
+		scope(failure){
+			if(a != 10){
+				assert(0);
+			}
+
+			a++;
+		}
+		
+		scope(success){
+			assert(0);
+		}
+
+		if(a!=0){
+			assert(0);
+		}else{
+			a = 10;
+		}
+
+		throw new Exception("msg");
+	}catch(Exception e){
+		if(a != 11){
+			assert(0);
+		}
+
+		return 0;
+	}
+
+	assert(0);
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/scope_06_H.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,48 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.s.scope_06_H;
+
+int main(){
+	int a;
+	
+	try{
+		scope(exit){
+			if(a != 11){
+				assert(0);
+			}
+
+			a++;
+		}
+
+		scope(success){
+			assert(0);
+		}
+
+		scope(failure){
+			if(a != 10){
+				assert(0);
+			}
+
+			a++;
+		}
+		
+		if(a!=0){
+			assert(0);
+		}else{
+			a = 10;
+		}
+
+		throw new Exception("msg");
+	}catch(Exception e){
+		if(a != 12){
+			assert(0);
+		}
+
+		return 0;
+	}
+
+	assert(0);
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/scope_06_I.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,48 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.s.scope_06_I;
+
+int main(){
+	int a;
+	
+	try{
+		scope(success){
+			assert(0);
+		}
+
+		scope(exit){
+			if(a != 11){
+				assert(0);
+			}
+
+			a++;
+		}
+
+		scope(failure){
+			if(a != 10){
+				assert(0);
+			}
+
+			a++;
+		}
+		
+		if(a!=0){
+			assert(0);
+		}else{
+			a = 10;
+		}
+
+		throw new Exception("msg");
+	}catch(Exception e){
+		if(a != 12){
+			assert(0);
+		}
+
+		return 0;
+	}
+
+	assert(0);
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/scope_06_J.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,48 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.s.scope_06_J;
+
+int main(){
+	int a;
+	
+	try{
+		scope(success){
+			assert(0);
+		}
+
+		scope(failure){
+			if(a != 11){
+				assert(0);
+			}
+
+			a++;
+		}
+
+		scope(exit){
+			if(a != 10){
+				assert(0);
+			}
+
+			a++;
+		}
+		
+		if(a!=0){
+			assert(0);
+		}else{
+			a = 10;
+		}
+
+		throw new Exception("msg");
+	}catch(Exception e){
+		if(a != 12){
+			assert(0);
+		}
+
+		return 0;
+	}
+
+	assert(0);
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/scope_06_K.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,48 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.s.scope_06_K;
+
+int main(){
+	int a;
+	
+	try{
+		scope(failure){
+			if(a != 11){
+				assert(0);
+			}
+
+			a++;
+		}
+
+		scope(success){
+			return 1;
+		}
+
+		scope(exit){
+			if(a != 10){
+				assert(0);
+			}
+
+			a++;
+		}
+		
+		if(a!=0){
+			assert(0);
+		}else{
+			a = 10;
+		}
+
+		throw new Exception("msg");
+	}catch(Exception e){
+		if(a != 12){
+			assert(0);
+		}
+
+		return 0;
+	}
+
+	assert(0);
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/scope_06_L.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,49 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.s.scope_06_L;
+
+int main(){
+	int a;
+	
+	try{
+		scope(failure){
+			if(a != 11){
+				assert(0);
+			}
+
+			a++;
+		}
+
+		scope(exit){
+			if(a != 10){
+				assert(0);
+			}
+
+			a++;
+		}
+
+		scope(success){
+			return 1;
+		}
+
+		
+		if(a!=0){
+			assert(0);
+		}else{
+			a = 10;
+		}
+
+		throw new Exception("msg");
+	}catch(Exception e){
+		if(a != 12){
+			assert(0);
+		}
+
+		return 0;
+	}
+
+	assert(0);
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/scope_06_M.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,48 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.s.scope_06_M;
+
+int main(){
+	int a;
+	
+	try{
+		scope(failure){
+			if(a != 11){
+				assert(0);
+			}
+
+			a++;
+		}
+		
+		if(a!=0){
+			assert(0);
+		}else{
+			a = 10;
+		}
+
+		scope(exit){
+			if(a != 10){
+				assert(0);
+			}
+
+			a++;
+		}
+
+		scope(success){
+			return 1;
+		}
+
+		throw new Exception("msg");
+	}catch(Exception e){
+		if(a != 12){
+			assert(0);
+		}
+
+		return 0;
+	}
+
+	assert(0);
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/scope_06_N.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,45 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.s.scope_06_N;
+
+int main(){
+	int a;
+	
+	try{
+		if(a!=0){
+			assert(0);
+		}else{
+			a = 10;
+		}
+
+		scope(exit){
+			if(a != 10){
+				assert(0);
+			}
+
+			a++;
+		}
+
+		scope(success){
+			assert(0);
+		}
+
+
+		throw new Exception("msg");
+
+		scope(failure){
+			return 1;
+		}
+	}catch(Exception e){
+		if(a != 11){
+			assert(0);
+		}
+
+		return 0;
+	}
+
+	assert(0);
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/s/scope_06_O.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,45 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.s.scope_06_O;
+
+int main(){
+	int a;
+	
+	try{
+		if(a!=0){
+			assert(0);
+		}else{
+			a = 10;
+		}
+
+		scope(exit){
+			if(a != 10){
+				assert(0);
+			}
+
+			a++;
+		}
+
+		scope(success){
+			assert(0);
+		}
+
+
+		throw new Exception("msg");
+
+		scope(exit){
+			return 1;
+		}
+	}catch(Exception e){
+		if(a != 11){
+			assert(0);
+		}
+
+		return 0;
+	}
+
+	assert(0);
+
+}
--- a/run/slice_09.d	Wed Mar 08 14:06:14 2006 +0000
+++ b/run/slice_09.d	Wed Mar 08 14:06:40 2006 +0000
@@ -19,7 +19,7 @@
 	try{
 		b[1..2] = a[0..1];
 	}catch(Exception e){
-		return 0;
+		assert(0);
 	}
-	assert(0);
+	return 0;
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/t/this_11_A.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,46 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.t.this_11_A;
+
+int status;
+
+class A{
+	this(){
+		if(status != 1){
+			assert(0);
+		}
+		status++;
+	}
+}
+
+class B : A{
+	this(){
+		if(status != 2){
+			assert(0);
+		}
+		status++;
+	}
+}
+
+class C : B{
+	this(){
+		if(status != 3){
+			assert(0);
+		}
+		status++;
+	}
+}
+
+int main(){
+	status = 1;
+
+	C c = new C();
+
+	if(status != 4){
+		assert(0);
+	}
+	
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/t/this_11_B.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,40 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.t.this_11_B;
+
+int status;
+
+class A{
+	this(){
+		if(status != 1){
+			assert(0);
+		}
+		status++;
+	}
+}
+
+class B : A{
+}
+
+class C : B{
+	this(){
+		if(status != 2){
+			assert(0);
+		}
+		status++;
+	}
+}
+
+int main(){
+	status = 1;
+
+	C c = new C();
+
+	if(status != 3){
+		assert(0);
+	}
+	
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/t/this_11_C.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,40 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.t.this_11_C;
+
+int status;
+
+class A{
+}
+
+class B : A{
+	this(){
+		if(status != 1){
+			assert(0);
+		}
+		status++;
+	}
+}
+
+class C : B{
+	this(){
+		if(status != 2){
+			assert(0);
+		}
+		status++;
+	}
+}
+
+int main(){
+	status = 1;
+
+	C c = new C();
+
+	if(status != 3){
+		assert(0);
+	}
+	
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/t/this_11_D.d	Wed Mar 08 14:06:40 2006 +0000
@@ -0,0 +1,40 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+module dstress.run.t.this_11_D;
+
+int status;
+
+class A{
+	this(){
+		if(status != 1){
+			assert(0);
+		}
+		status++;
+	}
+}
+
+class B : A{
+	this(){
+		if(status != 2){
+			assert(0);
+		}
+		status++;
+	}
+}
+
+class C : B{
+}
+
+int main(){
+	status = 1;
+
+	C c = new C();
+
+	if(status != 3){
+		assert(0);
+	}
+	
+	return 0;
+}