X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Foreign%2FPtr.hs;h=00798284870d2186ca8fee753afd6a678231ef4e;hb=29246dd4eb44d03cc48cbd894821d3c9501d8829;hp=125759e0638dd8a469707a413e3be5a9444eec2c;hpb=5feea6f48f51876033b43bc6012f6f568ebfd397;p=ghc-base.git diff --git a/Foreign/Ptr.hs b/Foreign/Ptr.hs index 125759e..0079828 100644 --- a/Foreign/Ptr.hs +++ b/Foreign/Ptr.hs @@ -50,9 +50,27 @@ import GHC.Show import Numeric #endif -#include "MachDeps.h" +#ifdef __NHC__ +import NHC.FFI + ( Ptr + , nullPtr + , castPtr + , plusPtr + , alignPtr + , minusPtr + , FunPtr + , nullFunPtr + , castFunPtr + , castFunPtrToPtr + , castPtrToFunPtr + , freeHaskellFunPtr + ) +#endif + #ifdef __GLASGOW_HASKELL__ +#include "MachDeps.h" + #if (WORD_SIZE_IN_BITS == 32 || WORD_SIZE_IN_BITS == 64) instance Show (Ptr a) where showsPrec p (Ptr a) rs = pad_out (showHex (word2Integer(int2Word#(addr2Int# a))) "") rs @@ -69,5 +87,7 @@ instance Show (FunPtr a) where #endif #endif +#ifndef __NHC__ foreign import ccall unsafe "freeHaskellFunctionPtr" freeHaskellFunPtr :: FunPtr a -> IO () +#endif