X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FbasicTypes%2FUnique.lhs;h=1926f5c68b54d7198be63d9141cde23b6806ce19;hb=3ad311341e189e574139921bd98449d7aed9ba26;hp=058b0be5d9097139236913c2a1609d48656c9ba8;hpb=49c98d143c382a1341e1046f5ca00819a25691ba;p=ghc-hetmet.git diff --git a/compiler/basicTypes/Unique.lhs b/compiler/basicTypes/Unique.lhs index 058b0be..1926f5c 100644 --- a/compiler/basicTypes/Unique.lhs +++ b/compiler/basicTypes/Unique.lhs @@ -16,6 +16,13 @@ Some of the other hair in this code is to be able to use a Haskell). \begin{code} +{-# OPTIONS -w #-} +-- The above warning supression flag is a temporary kludge. +-- While working on this module you are encouraged to remove it and fix +-- any warnings in the module. See +-- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings +-- for details + module Unique ( Unique, Uniquable(..), hasKey, @@ -51,10 +58,8 @@ module Unique ( #include "HsVersions.h" import BasicTypes -import PackageConfig import FastString import Outputable -import FastTypes import GHC.Exts import Data.Char ( chr, ord ) @@ -120,25 +125,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} @@ -159,9 +154,6 @@ x `hasKey` k = getUnique x == k instance Uniquable FastString where getUnique fs = mkUniqueGrimily (I# (uniqueOfFS fs)) -instance Uniquable PackageId where - getUnique pid = getUnique (packageIdFS pid) - instance Uniquable Int where getUnique i = mkUniqueGrimily i \end{code}