X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FbasicTypes%2FUnique.lhs;h=b1fd5b72fe0e956cd9d9cd33c4230f36fd179a21;hb=5822cb8d13aa3c05d2b46b4510c13d94b902eb21;hp=874328863e7b745c79e52abb3e25709ec7fc200d;hpb=0065d5ab628975892cea1ec7303f968c3338cbe1;p=ghc-hetmet.git diff --git a/compiler/basicTypes/Unique.lhs b/compiler/basicTypes/Unique.lhs index 8743288..b1fd5b7 100644 --- a/compiler/basicTypes/Unique.lhs +++ b/compiler/basicTypes/Unique.lhs @@ -1,4 +1,5 @@ % +% (c) The University of Glasgow 2006 % (c) The GRASP/AQUA Project, Glasgow University, 1992-1998 % @@ -49,15 +50,13 @@ module Unique ( #include "HsVersions.h" -import BasicTypes ( Boxity(..) ) -import PackageConfig ( PackageId, packageIdFS ) -import FastString ( FastString, uniqueOfFS ) +import BasicTypes +import PackageConfig +import FastString import Outputable -import FastTypes -import GLAEXTS - -import Char ( chr, ord ) +import GHC.Exts +import Data.Char ( chr, ord ) \end{code} %************************************************************************ @@ -120,25 +119,15 @@ i2w_s x = (x::Int#) mkUnique (C# c) (I# i) = MkUnique (w2i (tag `or#` bits)) where -#if __GLASGOW_HASKELL__ >= 503 tag = i2w (ord# c) `uncheckedShiftL#` i2w_s 24# -#else - tag = i2w (ord# c) `shiftL#` i2w_s 24# -#endif bits = i2w i `and#` (i2w 16777215#){-``0x00ffffff''-} unpkUnique (MkUnique u) = let - tag = C# (chr# (w2i ((i2w u) `shiftr` (i2w_s 24#)))) + tag = C# (chr# (w2i ((i2w u) `uncheckedShiftRL#` (i2w_s 24#)))) i = I# (w2i ((i2w u) `and#` (i2w 16777215#){-``0x00ffffff''-})) in (tag, i) - where -#if __GLASGOW_HASKELL__ >= 503 - shiftr x y = uncheckedShiftRL# x y -#else - shiftr x y = shiftRL# x y -#endif \end{code}