SPARC NCG: When getting a 64 bit word, promote halves to 64 bit before shifting
authorBen.Lippmeier@anu.edu.au <unknown>
Mon, 30 Mar 2009 05:03:46 +0000 (05:03 +0000)
committerBen.Lippmeier@anu.edu.au <unknown>
Mon, 30 Mar 2009 05:03:46 +0000 (05:03 +0000)
rts/RtsAPI.c

index e0740b1..a499d65 100644 (file)
@@ -307,7 +307,7 @@ rts_getInt64 (HaskellObj p)
     //        p->header.info == I64zh_static_info);
     tmp = (HsInt32*)&(UNTAG_CLOSURE(p)->payload[0]);
 
-    HsInt64 i  = (HsInt64)(tmp[0] << 32) | (HsInt64)tmp[1];
+    HsInt64 i  = (HsInt64)((HsInt64)(tmp[0]) << 32) | (HsInt64)tmp[1];
     return i;
 }