diff --git a/ghc/lib/std/PrelCCall.lhs b/ghc/lib/std/PrelCCall.lhs index 6f886ff7bda8c5a9edcd4aa9e5ffdde25f6f5586..ed84169338276ec100043862578df0114975211c 100644 --- a/ghc/lib/std/PrelCCall.lhs +++ b/ghc/lib/std/PrelCCall.lhs @@ -8,8 +8,12 @@ {-# OPTIONS -fno-implicit-prelude #-} module PrelCCall ( - CCallable(..), CReturnable(..), - Word(..) + CCallable(..), + CReturnable(..), + + Word(..), + Word64(..), + Int64(..) ) where import PrelBase @@ -42,12 +46,24 @@ instance CCallable Double instance CCallable Double# instance CReturnable Double -data Word = W# Word# deriving (Eq, Ord) -- Glasgow extension +data Word = W# Word# deriving (Eq, Ord) -- Glasgow extension instance CCallable Word instance CCallable Word# instance CReturnable Word + +data Word64 = W64# Word64# --deriving (Eq, Ord) -- Glasgow extension +data Int64 = I64# Int64# --deriving (Eq, Ord) -- Glasgow extension + +instance CCallable Word64 +instance CCallable Word64# +instance CReturnable Word64 + +instance CCallable Int64 +instance CCallable Int64# +instance CReturnable Int64 + instance CReturnable () -- Why, exactly? \end{code}