[commit: base] master: Add CTYPE pragmas for GHC types (0d8a4ae)
Ian Lynagh
igloo at earth.li
Thu Feb 16 21:57:03 CET 2012
Repository : ssh://darcs.haskell.org//srv/darcs/packages/base
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/0d8a4ae5bd7188cf255e769edac612e91b604d87
>---------------------------------------------------------------
commit 0d8a4ae5bd7188cf255e769edac612e91b604d87
Author: Ian Lynagh <igloo at earth.li>
Date: Thu Feb 16 00:48:21 2012 +0000
Add CTYPE pragmas for GHC types
>---------------------------------------------------------------
GHC/Int.hs | 10 +++++-----
GHC/Stable.lhs | 2 +-
GHC/Word.hs | 12 ++++++------
3 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/GHC/Int.hs b/GHC/Int.hs
index 7182cba..a2bcae5 100644
--- a/GHC/Int.hs
+++ b/GHC/Int.hs
@@ -50,7 +50,7 @@ import GHC.Float () -- for RealFrac methods
-- Int8 is represented in the same way as Int. Operations may assume
-- and must ensure that it holds only values from its logical range.
-data Int8 = I8# Int# deriving (Eq, Ord)
+data {-# CTYPE "HsInt8" #-} Int8 = I8# Int# deriving (Eq, Ord)
-- ^ 8-bit signed integer type
instance Show Int8 where
@@ -205,7 +205,7 @@ instance Bits Int8 where
-- Int16 is represented in the same way as Int. Operations may assume
-- and must ensure that it holds only values from its logical range.
-data Int16 = I16# Int# deriving (Eq, Ord)
+data {-# CTYPE "HsInt16" #-} Int16 = I16# Int# deriving (Eq, Ord)
-- ^ 16-bit signed integer type
instance Show Int16 where
@@ -365,7 +365,7 @@ instance Bits Int16 where
-- from its logical range.
#endif
-data Int32 = I32# Int# deriving (Eq, Ord)
+data {-# CTYPE "HsInt32" #-} Int32 = I32# Int# deriving (Eq, Ord)
-- ^ 32-bit signed integer type
instance Show Int32 where
@@ -536,7 +536,7 @@ instance Ix Int32 where
#if WORD_SIZE_IN_BITS < 64
-data Int64 = I64# Int64#
+data {-# CTYPE "HsInt64" #-} Int64 = I64# Int64#
-- ^ 64-bit signed integer type
instance Eq Int64 where
@@ -702,7 +702,7 @@ a `iShiftRA64#` b | b >=# 64# = if a `ltInt64#` (intToInt64# 0#)
-- Operations may assume and must ensure that it holds only values
-- from its logical range.
-data Int64 = I64# Int# deriving (Eq, Ord)
+data {-# CTYPE "HsInt64" #-} Int64 = I64# Int# deriving (Eq, Ord)
-- ^ 64-bit signed integer type
instance Show Int64 where
diff --git a/GHC/Stable.lhs b/GHC/Stable.lhs
index a07b0aa..e660917 100644
--- a/GHC/Stable.lhs
+++ b/GHC/Stable.lhs
@@ -48,7 +48,7 @@ which can treat it as an opaque reference to a Haskell value.
A value of type @StablePtr a@ is a stable pointer to a Haskell
expression of type @a at .
-}
-data StablePtr a = StablePtr (StablePtr# a)
+data {-# CTYPE "HsStablePtr" #-} StablePtr a = StablePtr (StablePtr# a)
-- |
-- Create a stable pointer referring to the given Haskell value.
diff --git a/GHC/Word.hs b/GHC/Word.hs
index 7f2e584..b61fb58 100644
--- a/GHC/Word.hs
+++ b/GHC/Word.hs
@@ -47,7 +47,7 @@ import GHC.Float () -- for RealFrac methods
------------------------------------------------------------------------
-- |A 'Word' is an unsigned integral type, with the same size as 'Int'.
-data Word = W# Word# deriving (Eq, Ord)
+data {-# CTYPE "HsWord" #-} Word = W# Word# deriving (Eq, Ord)
instance Show Word where
showsPrec _ (W# w) = showWord w
@@ -181,7 +181,7 @@ instance Bits Word where
-- Word8 is represented in the same way as Word. Operations may assume
-- and must ensure that it holds only values from its logical range.
-data Word8 = W8# Word# deriving (Eq, Ord)
+data {-# CTYPE "HsWord8" #-} Word8 = W8# Word# deriving (Eq, Ord)
-- ^ 8-bit unsigned integer type
instance Show Word8 where
@@ -322,7 +322,7 @@ instance Bits Word8 where
-- Word16 is represented in the same way as Word. Operations may assume
-- and must ensure that it holds only values from its logical range.
-data Word16 = W16# Word# deriving (Eq, Ord)
+data {-# CTYPE "HsWord16" #-} Word16 = W16# Word# deriving (Eq, Ord)
-- ^ 16-bit unsigned integer type
instance Show Word16 where
@@ -500,7 +500,7 @@ instance Bits Word16 where
#endif
-data Word32 = W32# Word# deriving (Eq, Ord)
+data {-# CTYPE "HsWord32" #-} Word32 = W32# Word# deriving (Eq, Ord)
-- ^ 32-bit unsigned integer type
instance Num Word32 where
@@ -643,7 +643,7 @@ instance Read Word32 where
#if WORD_SIZE_IN_BITS < 64
-data Word64 = W64# Word64#
+data {-# CTYPE "HsWord64" #-} Word64 = W64# Word64#
-- ^ 64-bit unsigned integer type
instance Eq Word64 where
@@ -761,7 +761,7 @@ a `shiftRL64#` b | b >=# 64# = wordToWord64# (int2Word# 0#)
-- Operations may assume and must ensure that it holds only values
-- from its logical range.
-data Word64 = W64# Word# deriving (Eq, Ord)
+data {-# CTYPE "HsWord64" #-} Word64 = W64# Word# deriving (Eq, Ord)
-- ^ 64-bit unsigned integer type
instance Num Word64 where
More information about the Cvs-libraries
mailing list