Don't import FastString in HsVersions.h
[ghc-hetmet.git] / compiler / ghci / RtClosureInspect.hs
index 437ff94..8941638 100644 (file)
@@ -50,8 +50,7 @@ import Linker
 import DataCon
 import Type
 import Var
-import TcRnMonad        ( TcM, initTc, ioToTcRn,
-                          tryTcErrs, traceTc)
+import TcRnMonad
 import TcType
 import TcMType
 import TcUnify
@@ -68,13 +67,17 @@ import TysPrim
 import PrelNames
 import TysWiredIn
 
-import Constants
 import Outputable
+import FastString
 import Panic
 
+#ifndef GHCI_TABLES_NEXT_TO_CODE
+import Constants        ( wORD_SIZE )
+#endif
+
 import GHC.Arr          ( Array(..) )
 import GHC.Exts
-import GHC.IOBase
+import GHC.IOBase ( IO(IO) )
 
 import Control.Monad
 import Data.Maybe
@@ -261,11 +264,11 @@ extractUnboxed tt clos = go tt (nonPtrs clos)
            | otherwise = pprPanic "Expected a TcTyCon" (ppr t)
          go [] _ = []
          go (t:tt) xx 
-           | (x, rest) <- splitAt ((sizeofType t + wORD_SIZE - 1) `div` wORD_SIZE) xx 
+           | (x, rest) <- splitAt (sizeofType t) xx
            = x : go tt rest
 
-sizeofTyCon :: TyCon -> Int
-sizeofTyCon = sizeofPrimRep . tyConPrimRep
+sizeofTyCon :: TyCon -> Int -- in *words*
+sizeofTyCon = primRepSizeW . tyConPrimRep
 
 -----------------------------------
 -- * Traversals for Terms
@@ -538,7 +541,7 @@ traceTR :: SDoc -> TR ()
 traceTR = liftTcM . traceTc
 
 trIO :: IO a -> TR a 
-trIO = liftTcM . ioToTcRn
+trIO = liftTcM . liftIO
 
 liftTcM :: TcM a -> TR a
 liftTcM = id