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;