view run/return_06.d @ 1623:04022926a4d5

Fix dstress.run.b.bug_cod1_2528_C as reported by Don Clugston Quoting Don's words from Ticket #8: Fails because it returns 3 instead of 0. The DStress test case is incorrect. The arrray literal is an int, so it's 4 bytes. Casting it to void[] should give a length of 4 -- and that's exactly what it does. Should be "return x.length - 4;".
author Leandro Lucarella <llucax@gmail.com>
date Fri, 05 Nov 2010 10:10:51 -0300
parents 902d2c168029
children
line wrap: on
line source

// $HeadURL$
// $Date$
// $Author$

// @author@	Thomas Kühne <thomas-dloop@kuehne.cn>
// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=727
// @desc@	[Issue 727] -inline: missing return in short function causes incorrect code generation

// __DSTRESS_TORTURE_BLOCK__ -release

module dstress.run.return_06;

int test(int i){
	if(i==0){
		return 2;
	}
}

int main(){
	if(2 != test(0)){
		assert(0);
	}

	try{
		test(1);
	}catch{
		return 0;
	}
	assert(0);
}