diff gen/toir.cpp @ 344:e20ce6d8d374 trunk

[svn r365] Implemented raw struct equality comparison, uses C memcmp. Renamed DtoDelegateCompare to DtoDelegateEquals, for consistency with the other equality helpers.
author lindquist
date Sun, 13 Jul 2008 04:11:08 +0200
parents 351c0077d0b3
children 5320fe65a65d
line wrap: on
line diff
--- a/gen/toir.cpp	Sun Jul 13 03:02:15 2008 +0200
+++ b/gen/toir.cpp	Sun Jul 13 04:11:08 2008 +0200
@@ -1747,7 +1747,13 @@
     else if (t->ty == Tdelegate)
     {
         Logger::println("delegate");
-        eval = DtoDelegateCompare(op,l->getRVal(),r->getRVal());
+        eval = DtoDelegateEquals(op,l->getRVal(),r->getRVal());
+    }
+    else if (t->ty == Tstruct)
+    {
+        Logger::println("struct");
+        // when this is reached it means there is no opEquals overload.
+        eval = DtoStructEquals(op,l,r);
     }
     else
     {
@@ -2266,7 +2272,7 @@
         else {
             assert(l->getType() == r->getType());
         }
-        eval = DtoDelegateCompare(op,l,r);
+        eval = DtoDelegateEquals(op,l,r);
     }
     else if (t1->isfloating())
     {