diff gen/toir.cpp @ 699:ed9a9e6dd1cc

Started changing target triple stuff, part of fixing #97
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Mon, 13 Oct 2008 17:28:39 +0200
parents 518b8cc84369
children 06576ece1a1b
line wrap: on
line diff
--- a/gen/toir.cpp	Mon Oct 13 16:51:38 2008 +0200
+++ b/gen/toir.cpp	Mon Oct 13 17:28:39 2008 +0200
@@ -471,6 +471,15 @@
         DtoAssign(loc, &arrval, slice);
         return newlen;
     }
+    else if (e1->op == TOKslice && !ismemset &&
+        (e2->op == TOKadd || e2->op == TOKmin ||
+        e2->op == TOKmul || e2->op == TOKdiv ||
+        e2->op == TOKmod || e2->op == TOKxor ||
+        e2->op == TOKand || e2->op == TOKor  ||
+        e2->op == TOKtilde || e2->op == TOKneg))
+    {
+        assert(0 && "array op assignment is TODO");
+    }
 
     Logger::println("performing normal assignment");
 
@@ -481,19 +490,7 @@
     if (l->isSlice())
         return l;
 
-#if 0
-    if (type->toBasetype()->ty == Tstruct && e2->type->isintegral())
-    { 
-        // handle struct = 0; 
-        return l; 
-    } 
-    else 
-    { 
-        return r;
-    }
-#else
     return r;
-#endif
 }
 
 //////////////////////////////////////////////////////////////////////////////////////////