diff options
author | simonpj@microsoft.com <unknown> | 2009-10-15 12:28:10 +0000 |
---|---|---|
committer | simonpj@microsoft.com <unknown> | 2009-10-15 12:28:10 +0000 |
commit | 388e3356f71daffa62f1d4157e1e07e4c68f218a (patch) | |
tree | c65be526dc1aec02a3c2b872f7350091433032e0 /compiler/nativeGen/RegClass.hs | |
parent | c173e8d155ca61ec53224c39d8cb936ddcc5dbda (diff) | |
download | haskell-388e3356f71daffa62f1d4157e1e07e4c68f218a.tar.gz |
Fix Trac #959: a long-standing bug in instantiating otherwise-unbound type variables
DO NOT MERGE TO GHC 6.12 branch
(Reason: interface file format change.)
The typechecker needs to instantiate otherwise-unconstraint type variables to
an appropriately-kinded constant type, but we didn't have a supply of
arbitrarily-kinded tycons for this purpose. Now we do.
The details are described in Note [Any types] in TysPrim. The
fundamental change is that there is a new sort of TyCon, namely
AnyTyCon, defined in TyCon.
Ter's a small change to interface-file binary format, because the new
AnyTyCons have to be serialised.
I tided up the handling of uniques a bit too, so that mkUnique is not
exported, so that we can see all the different name spaces in one module.
Diffstat (limited to 'compiler/nativeGen/RegClass.hs')
-rw-r--r-- | compiler/nativeGen/RegClass.hs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/nativeGen/RegClass.hs b/compiler/nativeGen/RegClass.hs index 8b6b2d4160..4bb300f2b9 100644 --- a/compiler/nativeGen/RegClass.hs +++ b/compiler/nativeGen/RegClass.hs @@ -21,9 +21,9 @@ data RegClass instance Uniquable RegClass where - getUnique RcInteger = mkUnique 'L' 0 - getUnique RcFloat = mkUnique 'L' 1 - getUnique RcDouble = mkUnique 'L' 2 + getUnique RcInteger = mkRegClassUnique 0 + getUnique RcFloat = mkRegClassUnique 1 + getUnique RcDouble = mkRegClassUnique 2 instance Outputable RegClass where ppr RcInteger = Outputable.text "I" |