summaryrefslogtreecommitdiff
path: root/libraries/integer-simple
diff options
context:
space:
mode:
authorIan Lynagh <ian@well-typed.com>2013-05-19 17:45:37 +0100
committerIan Lynagh <ian@well-typed.com>2013-05-19 17:45:37 +0100
commit52719ad07501f791ae21518cd092fd10c30f54bf (patch)
tree26d280d1ee8f1ef99ee197d8d32fdbb3b02d14af /libraries/integer-simple
parenta81e2cf43e1fa2ef9de7ff41b85d290ba6179f8f (diff)
downloadhaskell-52719ad07501f791ae21518cd092fd10c30f54bf.tar.gz
Fix build
If we use "smallInteger 0#" in the definitions, then that turns into an Integer literal, but the compiler can't handle Integer literals while compiling the integer package (as it can't look up the mkInteger Id yet).
Diffstat (limited to 'libraries/integer-simple')
-rw-r--r--libraries/integer-simple/GHC/Integer/Type.hs4
1 files changed, 2 insertions, 2 deletions
diff --git a/libraries/integer-simple/GHC/Integer/Type.hs b/libraries/integer-simple/GHC/Integer/Type.hs
index ee2c08f6f0..f87f1c314f 100644
--- a/libraries/integer-simple/GHC/Integer/Type.hs
+++ b/libraries/integer-simple/GHC/Integer/Type.hs
@@ -318,8 +318,8 @@ shiftRInteger Naught _ = Naught
-- reimplementation of the default Data.Bits instance, so that we can
-- implement the Integer interface
testBitInteger :: Integer -> Int# -> Bool
-testBitInteger x i = (x `andInteger` (smallInteger 1# `shiftLInteger` i))
- `neqInteger` smallInteger 0#
+testBitInteger x i = (x `andInteger` (oneInteger `shiftLInteger` i))
+ `neqInteger` Naught
twosComplementPositive :: Positive -> DigitsOnes
twosComplementPositive p = flipBits (p `minusPositive` onePositive)