diff --git a/ghc/lib/exts/Addr.lhs b/ghc/lib/exts/Addr.lhs index 917216748c59e66560642e74a3a01c2a199b6e33..848ddafaae4d50e0d2363d29b5aa205eb10081f6 100644 --- a/ghc/lib/exts/Addr.lhs +++ b/ghc/lib/exts/Addr.lhs @@ -37,6 +37,10 @@ import Int ( indexInt8OffAddr, indexInt16OffAddr ) import PrelIOBase ( IO(..), IOResult(..) ) +#ifndef __PARALLEL_HASKELL__ +import PrelForeign ( ForeignObj(..) ) +#endif + \end{code} Coercing between machine ints and words @@ -125,6 +129,12 @@ writeAddrOffAddr :: Addr -> Int -> Addr -> IO () writeAddrOffAddr (A# a#) (I# i#) (A# e#) = IO $ \ s# -> case (writeAddrOffAddr# a# i# e# s#) of s2# -> IOok s2# () +#ifndef __PARALLEL_HASKELL__ +writeForeignObjOffAddr :: Addr -> Int -> ForeignObj -> IO () +writeForeignObjOffAddr (A# a#) (I# i#) (ForeignObj e#) = IO $ \ s# -> + case (writeForeignObjOffAddr# a# i# e# s#) of s2# -> IOok s2# () +#endif + writeFloatOffAddr :: Addr -> Int -> Float -> IO () writeFloatOffAddr (A# a#) (I# i#) (F# e#) = IO $ \ s# -> case (writeFloatOffAddr# a# i# e# s#) of s2# -> IOok s2# ()