X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=ghc%2Flib%2Fstd%2FPrelForeign.lhs;h=ef4f81551b467a46dc01aab09a350ee6f18d06cd;hb=a103a9dc0de992716e62c30d7ac81c0bc0dbcdc5;hp=9e326cb7b37a83907a671e3750d69906b2ec1706;hpb=f4f72700b9845f704d1654ff0d1a8494af353adb;p=ghc-hetmet.git diff --git a/ghc/lib/std/PrelForeign.lhs b/ghc/lib/std/PrelForeign.lhs index 9e326cb..ef4f815 100644 --- a/ghc/lib/std/PrelForeign.lhs +++ b/ghc/lib/std/PrelForeign.lhs @@ -5,7 +5,7 @@ \section[Foreign]{Module @Foreign@} \begin{code} -{-# OPTIONS -fno-implicit-prelude #-} +{-# OPTIONS -fcompiling-prelude -fno-implicit-prelude #-} module PrelForeign ( module PrelForeign, @@ -19,7 +19,6 @@ module PrelForeign ( import PrelIOBase import PrelST import PrelBase -import PrelCCall import PrelAddr import PrelGHC \end{code} @@ -41,21 +40,11 @@ makeForeignObj (A# obj) = IO ( \ s# -> case makeForeignObj# obj s# of (# s1#, fo# #) -> (# s1#, ForeignObj fo# #) ) -eqForeignObj :: ForeignObj -> ForeignObj -> Bool --makeForeignObj :: Addr -> Addr -> IO ForeignObj writeForeignObj :: ForeignObj -> Addr -> IO () writeForeignObj (ForeignObj fo#) (A# datum#) = IO ( \ s# -> case writeForeignObj# fo# datum# s# of { s1# -> (# s1#, () #) } ) - -eqForeignObj mp1 mp2 - = unsafePerformIO (primEqForeignObj mp1 mp2) /= (0::Int) - -foreign import "eqForeignObj" primEqForeignObj :: ForeignObj -> ForeignObj -> IO Int - -instance Eq ForeignObj where - p == q = eqForeignObj p q - p /= q = not (eqForeignObj p q) #endif /* !__PARALLEL_HASKELL__ */ \end{code}