Mercurial > projects > ldc
diff gen/toir.cpp @ 524:ca2dfe98036c
Binary ops had the wrong result type for real op imaginary.
Fixes:
run/creal_03
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sun, 17 Aug 2008 12:21:53 +0200 |
parents | 99e95dae90d5 |
children | b18b6135e54b |
line wrap: on
line diff
--- a/gen/toir.cpp Sun Aug 17 11:39:36 2008 +0200 +++ b/gen/toir.cpp Sun Aug 17 12:21:53 2008 +0200 @@ -653,7 +653,7 @@ return DtoComplexMul(loc, type, l, r); } - return DtoBinMul(l,r); + return DtoBinMul(type, l, r); } ////////////////////////////////////////////////////////////////////////////////////////// @@ -671,7 +671,7 @@ res = DtoComplexMul(loc, type, l, r); } else { - res = DtoBinMul(l,r); + res = DtoBinMul(type, l, r); } DtoAssign(loc, l, res); @@ -692,7 +692,7 @@ return DtoComplexDiv(loc, type, l, r); } - return DtoBinDiv(l, r); + return DtoBinDiv(type, l, r); } ////////////////////////////////////////////////////////////////////////////////////////// @@ -710,7 +710,7 @@ res = DtoComplexDiv(loc, type, l, r); } else { - res = DtoBinDiv(l,r); + res = DtoBinDiv(type, l, r); } DtoAssign(loc, l, res); @@ -727,7 +727,7 @@ DValue* l = e1->toElem(p); DValue* r = e2->toElem(p); - return DtoBinRem(l, r); + return DtoBinRem(type, l, r); } ////////////////////////////////////////////////////////////////////////////////////////// @@ -740,7 +740,7 @@ DValue* l = e1->toElem(p); DValue* r = e2->toElem(p); - DValue* res = DtoBinRem(l, r); + DValue* res = DtoBinRem(type, l, r); DtoAssign(loc, l, res); return res;