view run/r/return_09_A.d @ 1196:20c590faad54

[Issue 443] New: assignment in return when using cdouble is broken Witold Baryluk <baryluk@mpi.int.pl> 2006-10-19 news:bug-443-3@http.d.puremagic.com/issues/
author thomask
date Sat, 21 Oct 2006 13:27:26 +0000
parents
children daef239f37cf
line wrap: on
line source

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

// @author@	Witold Baryluk <baryluk@mpi.int.pl>
// @date@	2006-10-19
// @uri@	news:bug-443-3@http.d.puremagic.com/issues/
// @desc@	[Issue 443] New: assignment in return when using cdouble is broken

module dstress.run.r.return_09_A;

cdouble y;

cdouble f(cdouble x) {
    return (y = x);
}

int main() {
	cdouble z = f(1.0+2.0i);

	if(y.re != 1.0){
		assert(0);
	}
	if(y.im != 2.0){
		assert(0);
	}
	if(z.re != 1.0){
		assert(0);
	}
	if(z.im != 2.0){
		assert(0);
	}

	return 0;
}