Another round of External Core fixes
[ghc-hetmet.git] / compiler / codeGen / CgUtils.hs
index 886a36a..3861ddf 100644 (file)
@@ -333,24 +333,24 @@ emitIfThenElse cond then_part else_part
        ; labelC join_id
        }
 
-emitRtsCall :: LitString -> [(CmmExpr,MachHint)] -> Bool -> Code
+emitRtsCall :: LitString -> [CmmHinted CmmExpr] -> Bool -> Code
 emitRtsCall fun args safe = emitRtsCall' [] fun args Nothing safe
    -- The 'Nothing' says "save all global registers"
 
-emitRtsCallWithVols :: LitString -> [(CmmExpr,MachHint)] -> [GlobalReg] -> Bool -> Code
+emitRtsCallWithVols :: LitString -> [CmmHinted CmmExpr] -> [GlobalReg] -> Bool -> Code
 emitRtsCallWithVols fun args vols safe
    = emitRtsCall' [] fun args (Just vols) safe
 
 emitRtsCallWithResult :: LocalReg -> MachHint -> LitString
-       -> [(CmmExpr,MachHint)] -> Bool -> Code
+       -> [CmmHinted CmmExpr] -> Bool -> Code
 emitRtsCallWithResult res hint fun args safe
-   = emitRtsCall' [(res,hint)] fun args Nothing safe
+   = emitRtsCall' [CmmHinted res hint] fun args Nothing safe
 
 -- Make a call to an RTS C procedure
 emitRtsCall'
    :: CmmFormals
    -> LitString
-   -> [(CmmExpr,MachHint)]
+   -> [CmmHinted CmmExpr]
    -> Maybe [GlobalReg]
    -> Bool -- True <=> CmmSafe call
    -> Code
@@ -543,10 +543,8 @@ baseRegOffset CurrentNursery         = oFFSET_StgRegTable_rCurrentNursery
 baseRegOffset HpAlloc            = oFFSET_StgRegTable_rHpAlloc
 baseRegOffset GCEnter1           = oFFSET_stgGCEnter1
 baseRegOffset GCFun              = oFFSET_stgGCFun
-#ifdef DEBUG
 baseRegOffset BaseReg            = panic "baseRegOffset:BaseReg"
 baseRegOffset _                          = panic "baseRegOffset:other"
-#endif
 
 
 -------------------------------------------------------------------------
@@ -994,6 +992,7 @@ getSRTInfo = do
     -- TODO: Should we panic in this case?
     -- Someone obviously thinks there should be an SRT
     NoSRT -> return NoC_SRT
+    SRTEntries {} -> panic "getSRTInfo: SRTEntries.  Perhaps you forgot to run SimplStg?"
     SRT off len bmp
       | len > hALF_WORD_SIZE_IN_BITS || bmp == [fromIntegral srt_escape]
       -> do id <- newUnique