projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Adjust code from manual merges
[ghc-hetmet.git]
/
compiler
/
iface
/
BinIface.hs
diff --git
a/compiler/iface/BinIface.hs
b/compiler/iface/BinIface.hs
index
13be049
..
89e6500
100644
(file)
--- a/
compiler/iface/BinIface.hs
+++ b/
compiler/iface/BinIface.hs
@@
-177,12
+177,13
@@
instance Binary ModIface where
mi_decls = decls,
mi_globals = Nothing,
mi_insts = insts,
mi_decls = decls,
mi_globals = Nothing,
mi_insts = insts,
+ mi_fam_insts = mkIfaceFamInstsCache . map snd $ decls,
mi_rules = rules,
mi_rule_vers = rule_vers,
-- And build the cached values
mi_rules = rules,
mi_rule_vers = rule_vers,
-- And build the cached values
- mi_dep_fn = mkIfaceDepCache deprecs,
- mi_fix_fn = mkIfaceFixCache fixities,
- mi_ver_fn = mkIfaceVerCache decls })
+ mi_dep_fn = mkIfaceDepCache deprecs,
+ mi_fix_fn = mkIfaceFixCache fixities,
+ mi_ver_fn = mkIfaceVerCache decls })
GLOBAL_VAR(v_IgnoreHiWay, False, Bool)
GLOBAL_VAR(v_IgnoreHiWay, False, Bool)
@@
-903,7
+904,7
@@
instance Binary IfaceDecl where
put_ bh idinfo
put_ bh (IfaceForeign ae af) =
error "Binary.put_(IfaceDecl): IfaceForeign"
put_ bh idinfo
put_ bh (IfaceForeign ae af) =
error "Binary.put_(IfaceDecl): IfaceForeign"
- put_ bh (IfaceData a1 a2 a3 a4 a5 a6 a7) = do
+ put_ bh (IfaceData a1 a2 a3 a4 a5 a6 a7 a8) = do
putByte bh 2
put_ bh a1
put_ bh a2
putByte bh 2
put_ bh a1
put_ bh a2
@@
-912,13
+913,14
@@
instance Binary IfaceDecl where
put_ bh a5
put_ bh a6
put_ bh a7
put_ bh a5
put_ bh a6
put_ bh a7
-
- put_ bh (IfaceSyn aq ar as) = do
+ put_ bh a8
+ put_ bh (IfaceSyn aq ar as at) = do
putByte bh 3
put_ bh aq
put_ bh ar
put_ bh as
putByte bh 3
put_ bh aq
put_ bh ar
put_ bh as
- put_ bh (IfaceClass a1 a2 a3 a4 a5 a6) = do
+ put_ bh at
+ put_ bh (IfaceClass a1 a2 a3 a4 a5 a6 a7) = do
putByte bh 4
put_ bh a1
put_ bh a2
putByte bh 4
put_ bh a1
put_ bh a2
@@
-926,6
+928,7
@@
instance Binary IfaceDecl where
put_ bh a4
put_ bh a5
put_ bh a6
put_ bh a4
put_ bh a5
put_ bh a6
+ put_ bh a7
get bh = do
h <- getByte bh
case h of
get bh = do
h <- getByte bh
case h of
@@
-942,12
+945,14
@@
instance Binary IfaceDecl where
a5 <- get bh
a6 <- get bh
a7 <- get bh
a5 <- get bh
a6 <- get bh
a7 <- get bh
- return (IfaceData a1 a2 a3 a4 a5 a6 a7)
+ a8 <- get bh
+ return (IfaceData a1 a2 a3 a4 a5 a6 a7 a8)
3 -> do
aq <- get bh
ar <- get bh
as <- get bh
3 -> do
aq <- get bh
ar <- get bh
as <- get bh
- return (IfaceSyn aq ar as)
+ at <- get bh
+ return (IfaceSyn aq ar as at)
_ -> do
a1 <- get bh
a2 <- get bh
_ -> do
a1 <- get bh
a2 <- get bh
@@
-955,7
+960,8
@@
instance Binary IfaceDecl where
a4 <- get bh
a5 <- get bh
a6 <- get bh
a4 <- get bh
a5 <- get bh
a6 <- get bh
- return (IfaceClass a1 a2 a3 a4 a5 a6)
+ a7 <- get bh
+ return (IfaceClass a1 a2 a3 a4 a5 a6 a7)
instance Binary IfaceInst where
put_ bh (IfaceInst cls tys dfun flag orph) = do
instance Binary IfaceInst where
put_ bh (IfaceInst cls tys dfun flag orph) = do
@@
-971,6
+977,14
@@
instance Binary IfaceInst where
orph <- get bh
return (IfaceInst cls tys dfun flag orph)
orph <- get bh
return (IfaceInst cls tys dfun flag orph)
+instance Binary IfaceFamInst where
+ put_ bh (IfaceFamInst tycon tys) = do
+ put_ bh tycon
+ put_ bh tys
+ get bh = do tycon <- get bh
+ tys <- get bh
+ return (IfaceFamInst tycon tys)
+
instance Binary OverlapFlag where
put_ bh NoOverlap = putByte bh 0
put_ bh OverlapOk = putByte bh 1
instance Binary OverlapFlag where
put_ bh NoOverlap = putByte bh 0
put_ bh OverlapOk = putByte bh 1
@@
-983,15
+997,19
@@
instance Binary OverlapFlag where
instance Binary IfaceConDecls where
put_ bh IfAbstractTyCon = putByte bh 0
instance Binary IfaceConDecls where
put_ bh IfAbstractTyCon = putByte bh 0
- put_ bh (IfDataTyCon cs) = do { putByte bh 1
+ put_ bh IfOpenDataTyCon = putByte bh 1
+ put_ bh IfOpenNewTyCon = putByte bh 2
+ put_ bh (IfDataTyCon cs) = do { putByte bh 3
; put_ bh cs }
; put_ bh cs }
- put_ bh (IfNewTyCon c) = do { putByte bh 2
+ put_ bh (IfNewTyCon c) = do { putByte bh 4
; put_ bh c }
get bh = do
h <- getByte bh
case h of
0 -> return IfAbstractTyCon
; put_ bh c }
get bh = do
h <- getByte bh
case h of
0 -> return IfAbstractTyCon
- 1 -> do cs <- get bh
+ 1 -> return IfOpenDataTyCon
+ 2 -> return IfOpenNewTyCon
+ 3 -> do cs <- get bh
return (IfDataTyCon cs)
_ -> do aa <- get bh
return (IfNewTyCon aa)
return (IfDataTyCon cs)
_ -> do aa <- get bh
return (IfNewTyCon aa)