-- primitive operations and types that GHC knows about.
---------------------------------------------------------------------------
-#include "config.h"
-#include "Derived.h"
+#include "MachDeps.h"
__interface "std" PrelGHC 1 0 where
tryPutMVarzh
isEmptyMVarzh
+ -- Seq
+ seq -- Defined in MkId
+
-- Parallel
seqzh
parzh
remIntzh
gcdIntzh
negateIntzh
- iShiftLzh
- iShiftRAzh
- iShiftRLzh
+ uncheckedIShiftLzh
+ uncheckedIShiftRAzh
+ uncheckedIShiftRLzh
addIntCzh
subIntCzh
- mulIntCzh
+ mulIntMayOflozh
Wordzh
gtWordzh
orzh
notzh
xorzh
- shiftLzh
- shiftRLzh
+ uncheckedShiftLzh
+ uncheckedShiftRLzh
int2Wordzh
word2Intzh
+ narrow8Intzh
+ narrow16Intzh
+ narrow32Intzh
+ narrow8Wordzh
+ narrow16Wordzh
+ narrow32Wordzh
+
+#if WORD_SIZE_IN_BITS < 32
+ Int32zh
+ Word32zh
+#endif
+
+#if WORD_SIZE_IN_BITS < 64
Int64zh
Word64zh
-
- intToInt8zh
- intToInt16zh
- intToInt32zh
- wordToWord8zh
- wordToWord16zh
- wordToWord32zh
+#endif
Addrzh
+ nullAddrzh -- Defined in MkId
+ plusAddrzh
+ minusAddrzh
+ remAddrzh
+#if (WORD_SIZE_IN_BITS == 32 || WORD_SIZE_IN_BITS == 64)
+ addr2Intzh
+ int2Addrzh
+#endif
gtAddrzh
geAddrzh
eqAddrzh
neAddrzh
ltAddrzh
leAddrzh
- int2Addrzh
- addr2Intzh
Floatzh
gtFloatzh
ztztzhzh
decodeDoublezh
+-- Integer is implemented by foreign imports on .NET, so no primops
+
+#ifndef ILX
cmpIntegerzh
cmpIntegerIntzh
plusIntegerzh
integer2Wordzh
int2Integerzh
word2Integerzh
-#ifdef SUPPORT_LONG_LONGS
- integerToInt64zh
- integerToWord64zh
+#if WORD_SIZE_IN_BITS < 32
+ integerToInt32zh
+ integerToWord32zh
+ int32ToIntegerzh
+ word32ToIntegerzh
+#endif
+#if WORD_SIZE_IN_BITS < 64
int64ToIntegerzh
word64ToIntegerzh
#endif
orIntegerzh
xorIntegerzh
complementIntegerzh
+#endif
Arrayzh
ByteArrayzh
indexInt8Arrayzh
indexInt16Arrayzh
indexInt32Arrayzh
-#ifdef SUPPORT_LONG_LONGS
indexInt64Arrayzh
-#endif
indexWord8Arrayzh
indexWord16Arrayzh
indexWord32Arrayzh
-#ifdef SUPPORT_LONG_LONGS
indexWord64Arrayzh
-#endif
readArrayzh
readCharArrayzh
readInt8Arrayzh
readInt16Arrayzh
readInt32Arrayzh
-#ifdef SUPPORT_LONG_LONGS
readInt64Arrayzh
-#endif
readWord8Arrayzh
readWord16Arrayzh
readWord32Arrayzh
-#ifdef SUPPORT_LONG_LONGS
readWord64Arrayzh
-#endif
writeArrayzh
writeCharArrayzh
writeInt8Arrayzh
writeInt16Arrayzh
writeInt32Arrayzh
-#ifdef SUPPORT_LONG_LONGS
writeInt64Arrayzh
-#endif
writeWord8Arrayzh
writeWord16Arrayzh
writeWord32Arrayzh
-#ifdef SUPPORT_LONG_LONGS
writeWord64Arrayzh
-#endif
indexCharOffAddrzh
indexWideCharOffAddrzh
indexInt8OffAddrzh
indexInt16OffAddrzh
indexInt32OffAddrzh
-#ifdef SUPPORT_LONG_LONGS
indexInt64OffAddrzh
-#endif
indexWord8OffAddrzh
indexWord16OffAddrzh
indexWord32OffAddrzh
-#ifdef SUPPORT_LONG_LONGS
indexWord64OffAddrzh
-#endif
readCharOffAddrzh
readWideCharOffAddrzh
readInt8OffAddrzh
readInt16OffAddrzh
readInt32OffAddrzh
-#ifdef SUPPORT_LONG_LONGS
readInt64OffAddrzh
-#endif
readWord8OffAddrzh
readWord16OffAddrzh
readWord32OffAddrzh
-#ifdef SUPPORT_LONG_LONGS
readWord64OffAddrzh
-#endif
writeCharOffAddrzh
writeWideCharOffAddrzh
writeInt8OffAddrzh
writeInt16OffAddrzh
writeInt32OffAddrzh
-#ifdef SUPPORT_LONG_LONGS
writeInt64OffAddrzh
-#endif
writeWord8OffAddrzh
writeWord16OffAddrzh
writeWord32OffAddrzh
-#ifdef SUPPORT_LONG_LONGS
writeWord64OffAddrzh
-#endif
eqForeignObjzh
indexCharOffForeignObjzh
indexInt8OffForeignObjzh
indexInt16OffForeignObjzh
indexInt32OffForeignObjzh
-#ifdef SUPPORT_LONG_LONGS
indexInt64OffForeignObjzh
-#endif
indexWord8OffForeignObjzh
indexWord16OffForeignObjzh
indexWord32OffForeignObjzh
-#ifdef SUPPORT_LONG_LONGS
indexWord64OffForeignObjzh
-#endif
unsafeFreezzeArrayzh -- Note zz in the middle
unsafeFreezzeByteArrayzh -- Ditto
eqStableNamezh
stableNameToIntzh
- reallyUnsafePtrEqualityzh
-
newBCOzh
BCOzh
mkApUpd0zh
- unsafeCoercezh
+ unsafeCoercezh -- unsafeCoerce# :: forall a b. a -> b
+ -- It's defined in ghc/compiler/basicTypes/MkId.lhs
addrToHValuezh
;
-- Export PrelErr.error, so that others do not have to import PrelErr
__export PrelErr error ;
+infixr 0 seq ;
--------------------------------------------------
instance {CCallable Charzh} = zdfCCallableCharzh;
1 zdfCCallableMutableByteArrayzh :: __forall s => {CCallable (MutableByteArrayzh s)} ;
1 zdfCCallableForeignObjzh :: {CCallable ForeignObjzh} ;
1 zdfCCallableStablePtrzh :: __forall a => {CCallable (StablePtrzh a)} ;
+