shithub: mc

Download patch

ref: 8f5b85cb3a6efba94b59abfb7a40c56892e18df1
parent: 57e6fd0760167a9e9b39a6c9212ef3292297380e
author: Ori Bernstein <[email protected]>
date: Tue May 15 21:02:38 EDT 2012

Make loading vars work more reliably.

--- a/8/isel.c
+++ b/8/isel.c
@@ -420,7 +420,8 @@
             return r;
 
         case Oasn:  /* relabel */
-            die("Unimplemented op %s", opstr(exprop(n))); break;
+            die("Unimplemented op %s", opstr(exprop(n)));
+            break;
         case Ostor: /* reg -> mem */
             a = selexpr(s, args[0]);
             b = selexpr(s, args[1]);
@@ -431,7 +432,8 @@
         case Oload: /* mem -> reg */
             a = selexpr(s, args[0]);
             b = getreg(s, a.mode);
-            load(s, &b, &a);
+            /* load() doesn't always do the mov */
+            g(s, Imov, &a, &b, NULL);
             r = b;
             break;