summaryrefslogtreecommitdiff
path: root/compiler/utils/ExtsCompat46.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/utils/ExtsCompat46.hs')
-rw-r--r--compiler/utils/ExtsCompat46.hs293
1 files changed, 0 insertions, 293 deletions
diff --git a/compiler/utils/ExtsCompat46.hs b/compiler/utils/ExtsCompat46.hs
deleted file mode 100644
index 5d40655a16..0000000000
--- a/compiler/utils/ExtsCompat46.hs
+++ /dev/null
@@ -1,293 +0,0 @@
-{-# LANGUAGE BangPatterns, CPP, MagicHash #-}
-
------------------------------------------------------------------------------
--- |
--- Module : ExtsCompat46
--- Copyright : (c) Lodz University of Technology 2013
--- License : see LICENSE
---
--- Maintainer : ghc-devs@haskell.org
--- Stability : internal
--- Portability : non-portable (GHC internal)
---
--- Compatibility module to encapsulate primops API change between GHC 7.6
--- GHC 7.8.
---
--- In GHC we use comparison primops in a couple of modules, but that primops
--- have different type signature in GHC 7.6 (where they return Bool) than
--- in GHC 7.8 (where they return Int#). As long as we allow bootstrapping
--- with GHC 7.6 or earlier we need to have this compatibility module, so that
--- we can compile stage1 compiler using the old API and then continue with
--- stage2 using the new API. When we set GHC 7.8 as the minimum version
--- required for bootstrapping, we should remove this module.
---
------------------------------------------------------------------------------
-
-module ExtsCompat46 (
- module GHC.Exts,
-
- gtChar#, geChar#, eqChar#,
- neChar#, ltChar#, leChar#,
-
- (>#), (>=#), (==#), (/=#), (<#), (<=#),
-
- gtWord#, geWord#, eqWord#,
- neWord#, ltWord#, leWord#,
-
- (>##), (>=##), (==##), (/=##), (<##), (<=##),
-
- gtFloat#, geFloat#, eqFloat#,
- neFloat#, ltFloat#, leFloat#,
-
- gtAddr#, geAddr#, eqAddr#,
- neAddr#, ltAddr#, leAddr#,
-
- sameMutableArray#, sameMutableByteArray#, sameMutableArrayArray#,
- sameMutVar#, sameTVar#, sameMVar#
-
- ) where
-
-import GHC.Exts hiding (
- gtChar#, geChar#, eqChar#,
- neChar#, ltChar#, leChar#,
-
- (>#), (>=#), (==#), (/=#), (<#), (<=#),
-
- gtWord#, geWord#, eqWord#,
- neWord#, ltWord#, leWord#,
-
- (>##), (>=##), (==##), (/=##), (<##), (<=##),
-
- gtFloat#, geFloat#, eqFloat#,
- neFloat#, ltFloat#, leFloat#,
-
- gtAddr#, geAddr#, eqAddr#,
- neAddr#, ltAddr#, leAddr#,
-
- sameMutableArray#, sameMutableByteArray#, sameMutableArrayArray#,
- sameMutVar#, sameTVar#, sameMVar#
- )
-
-import qualified GHC.Exts as E (
- gtChar#, geChar#, eqChar#,
- neChar#, ltChar#, leChar#,
-
- (>#), (>=#), (==#), (/=#), (<#), (<=#),
-
- gtWord#, geWord#, eqWord#,
- neWord#, ltWord#, leWord#,
-
- (>##), (>=##), (==##), (/=##), (<##), (<=##),
-
- gtFloat#, geFloat#, eqFloat#,
- neFloat#, ltFloat#, leFloat#,
-
- gtAddr#, geAddr#, eqAddr#,
- neAddr#, ltAddr#, leAddr#,
-
- sameMutableArray#, sameMutableByteArray#, sameMutableArrayArray#,
- sameMutVar#, sameTVar#, sameMVar#
- )
-
--- See #8330
-#if __GLASGOW_HASKELL__ > 711
-#error What is minimal version of GHC required for bootstraping? If it's GHC 7.8 we should remove this module and use GHC.Exts instead.
-#endif
-
-#if __GLASGOW_HASKELL__ > 706
-
-gtChar# :: Char# -> Char# -> Bool
-gtChar# a b = isTrue# (a `E.gtChar#` b)
-geChar# :: Char# -> Char# -> Bool
-geChar# a b = isTrue# (a `E.geChar#` b)
-eqChar# :: Char# -> Char# -> Bool
-eqChar# a b = isTrue# (a `E.eqChar#` b)
-neChar# :: Char# -> Char# -> Bool
-neChar# a b = isTrue# (a `E.neChar#` b)
-ltChar# :: Char# -> Char# -> Bool
-ltChar# a b = isTrue# (a `E.ltChar#` b)
-leChar# :: Char# -> Char# -> Bool
-leChar# a b = isTrue# (a `E.leChar#` b)
-
-infix 4 >#, >=#, ==#, /=#, <#, <=#
-
-(>#) :: Int# -> Int# -> Bool
-(>#) a b = isTrue# (a E.># b)
-(>=#) :: Int# -> Int# -> Bool
-(>=#) a b = isTrue# (a E.>=# b)
-(==#) :: Int# -> Int# -> Bool
-(==#) a b = isTrue# (a E.==# b)
-(/=#) :: Int# -> Int# -> Bool
-(/=#) a b = isTrue# (a E./=# b)
-(<#) :: Int# -> Int# -> Bool
-(<#) a b = isTrue# (a E.<# b)
-(<=#) :: Int# -> Int# -> Bool
-(<=#) a b = isTrue# (a E.<=# b)
-
-gtWord# :: Word# -> Word# -> Bool
-gtWord# a b = isTrue# (a `E.gtWord#` b)
-geWord# :: Word# -> Word# -> Bool
-geWord# a b = isTrue# (a `E.geWord#` b)
-eqWord# :: Word# -> Word# -> Bool
-eqWord# a b = isTrue# (a `E.eqWord#` b)
-neWord# :: Word# -> Word# -> Bool
-neWord# a b = isTrue# (a `E.neWord#` b)
-ltWord# :: Word# -> Word# -> Bool
-ltWord# a b = isTrue# (a `E.ltWord#` b)
-leWord# :: Word# -> Word# -> Bool
-leWord# a b = isTrue# (a `E.leWord#` b)
-
-infix 4 >##, >=##, ==##, /=##, <##, <=##
-
-(>##) :: Double# -> Double# -> Bool
-(>##) a b = isTrue# (a E.>## b)
-(>=##) :: Double# -> Double# -> Bool
-(>=##) a b = isTrue# (a E.>=## b)
-(==##) :: Double# -> Double# -> Bool
-(==##) a b = isTrue# (a E.==## b)
-(/=##) :: Double# -> Double# -> Bool
-(/=##) a b = isTrue# (a E./=## b)
-(<##) :: Double# -> Double# -> Bool
-(<##) a b = isTrue# (a E.<## b)
-(<=##) :: Double# -> Double# -> Bool
-(<=##) a b = isTrue# (a E.<=## b)
-
-gtFloat# :: Float# -> Float# -> Bool
-gtFloat# a b = isTrue# (a `E.gtFloat#` b)
-geFloat# :: Float# -> Float# -> Bool
-geFloat# a b = isTrue# (a `E.geFloat#` b)
-eqFloat# :: Float# -> Float# -> Bool
-eqFloat# a b = isTrue# (a `E.eqFloat#` b)
-neFloat# :: Float# -> Float# -> Bool
-neFloat# a b = isTrue# (a `E.neFloat#` b)
-ltFloat# :: Float# -> Float# -> Bool
-ltFloat# a b = isTrue# (a `E.ltFloat#` b)
-leFloat# :: Float# -> Float# -> Bool
-leFloat# a b = isTrue# (a `E.leFloat#` b)
-
-gtAddr# :: Addr# -> Addr# -> Bool
-gtAddr# a b = isTrue# (a `E.gtAddr#` b)
-geAddr# :: Addr# -> Addr# -> Bool
-geAddr# a b = isTrue# (a `E.geAddr#` b)
-eqAddr# :: Addr# -> Addr# -> Bool
-eqAddr# a b = isTrue# (a `E.eqAddr#` b)
-neAddr# :: Addr# -> Addr# -> Bool
-neAddr# a b = isTrue# (a `E.neAddr#` b)
-ltAddr# :: Addr# -> Addr# -> Bool
-ltAddr# a b = isTrue# (a `E.ltAddr#` b)
-leAddr# :: Addr# -> Addr# -> Bool
-leAddr# a b = isTrue# (a `E.leAddr#` b)
-
-sameMutableArray# :: MutableArray# s a -> MutableArray# s a -> Bool
-sameMutableArray# a b = isTrue# (E.sameMutableArray# a b)
-sameMutableByteArray# :: MutableByteArray# s -> MutableByteArray# s -> Bool
-sameMutableByteArray# a b = isTrue# (E.sameMutableByteArray# a b)
-sameMutableArrayArray# :: MutableArrayArray# s -> MutableArrayArray# s -> Bool
-sameMutableArrayArray# a b = isTrue# (E.sameMutableArrayArray# a b)
-
-sameMutVar# :: MutVar# s a -> MutVar# s a -> Bool
-sameMutVar# a b = isTrue# (E.sameMutVar# a b)
-sameTVar# :: TVar# s a -> TVar# s a -> Bool
-sameTVar# a b = isTrue# (E.sameTVar# a b)
-sameMVar# :: MVar# s a -> MVar# s a -> Bool
-sameMVar# a b = isTrue# (E.sameMVar# a b)
-
-#else
-
-gtChar# :: Char# -> Char# -> Bool
-gtChar# a b = a `E.gtChar#` b
-geChar# :: Char# -> Char# -> Bool
-geChar# a b = a `E.geChar#` b
-eqChar# :: Char# -> Char# -> Bool
-eqChar# a b = a `E.eqChar#` b
-neChar# :: Char# -> Char# -> Bool
-neChar# a b = a `E.neChar#` b
-ltChar# :: Char# -> Char# -> Bool
-ltChar# a b = a `E.ltChar#` b
-leChar# :: Char# -> Char# -> Bool
-leChar# a b = a `E.leChar#` b
-
-infix 4 >#, >=#, ==#, /=#, <#, <=#
-
-(>#) :: Int# -> Int# -> Bool
-(>#) a b = a E.># b
-(>=#) :: Int# -> Int# -> Bool
-(>=#) a b = a E.>=# b
-(==#) :: Int# -> Int# -> Bool
-(==#) a b = a E.==# b
-(/=#) :: Int# -> Int# -> Bool
-(/=#) a b = a E./=# b
-(<#) :: Int# -> Int# -> Bool
-(<#) a b = a E.<# b
-(<=#) :: Int# -> Int# -> Bool
-(<=#) a b = a E.<=# b
-
-gtWord# :: Word# -> Word# -> Bool
-gtWord# a b = a `E.gtWord#` b
-geWord# :: Word# -> Word# -> Bool
-geWord# a b = a `E.geWord#` b
-eqWord# :: Word# -> Word# -> Bool
-eqWord# a b = a `E.eqWord#` b
-neWord# :: Word# -> Word# -> Bool
-neWord# a b = a `E.neWord#` b
-ltWord# :: Word# -> Word# -> Bool
-ltWord# a b = a `E.ltWord#` b
-leWord# :: Word# -> Word# -> Bool
-leWord# a b = a `E.leWord#` b
-
-infix 4 >##, >=##, ==##, /=##, <##, <=##
-
-(>##) :: Double# -> Double# -> Bool
-(>##) a b = a E.>## b
-(>=##) :: Double# -> Double# -> Bool
-(>=##) a b = a E.>=## b
-(==##) :: Double# -> Double# -> Bool
-(==##) a b = a E.==## b
-(/=##) :: Double# -> Double# -> Bool
-(/=##) a b = a E./=## b
-(<##) :: Double# -> Double# -> Bool
-(<##) a b = a E.<## b
-(<=##) :: Double# -> Double# -> Bool
-(<=##) a b = a E.<=## b
-
-gtFloat# :: Float# -> Float# -> Bool
-gtFloat# a b = a `E.gtFloat#` b
-geFloat# :: Float# -> Float# -> Bool
-geFloat# a b = a `E.geFloat#` b
-eqFloat# :: Float# -> Float# -> Bool
-eqFloat# a b = a `E.eqFloat#` b
-neFloat# :: Float# -> Float# -> Bool
-neFloat# a b = a `E.neFloat#` b
-ltFloat# :: Float# -> Float# -> Bool
-ltFloat# a b = a `E.ltFloat#` b
-leFloat# :: Float# -> Float# -> Bool
-leFloat# a b = a `E.leFloat#` b
-
-gtAddr# :: Addr# -> Addr# -> Bool
-gtAddr# a b = a `E.gtAddr#` b
-geAddr# :: Addr# -> Addr# -> Bool
-geAddr# a b = a `E.geAddr#` b
-eqAddr# :: Addr# -> Addr# -> Bool
-eqAddr# a b = a `E.eqAddr#` b
-neAddr# :: Addr# -> Addr# -> Bool
-neAddr# a b = a `E.neAddr#` b
-ltAddr# :: Addr# -> Addr# -> Bool
-ltAddr# a b = a `E.ltAddr#` b
-leAddr# :: Addr# -> Addr# -> Bool
-leAddr# a b = a `E.leAddr#` b
-
-sameMutableArray# :: MutableArray# s a -> MutableArray# s a -> Bool
-sameMutableArray# a b = E.sameMutableArray# a b
-sameMutableByteArray# :: MutableByteArray# s -> MutableByteArray# s -> Bool
-sameMutableByteArray# a b = E.sameMutableByteArray# a b
-sameMutableArrayArray# :: MutableArrayArray# s -> MutableArrayArray# s -> Bool
-sameMutableArrayArray# a b = E.sameMutableArrayArray# a b
-
-sameMutVar# :: MutVar# s a -> MutVar# s a -> Bool
-sameMutVar# a b = E.sameMutVar# a b
-sameTVar# :: TVar# s a -> TVar# s a -> Bool
-sameTVar# a b = E.sameTVar# a b
-sameMVar# :: MVar# s a -> MVar# s a -> Bool
-sameMVar# a b = E.sameMVar# a b
-
-#endif