X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fiface%2FBinIface.hs;fp=compiler%2Fiface%2FBinIface.hs;h=ec85995b45263199c8556212e0b2744759dc28f7;hp=4d3f619b4f0287b91b9141504dc390ec469c92e3;hb=a51fe79ebcdcb8285573a18f12cade2101533419;hpb=0ccc12b6d176efe4a6d605864412deda75b62459 diff --git a/compiler/iface/BinIface.hs b/compiler/iface/BinIface.hs index 4d3f619..ec85995 100644 --- a/compiler/iface/BinIface.hs +++ b/compiler/iface/BinIface.hs @@ -612,6 +612,19 @@ instance Binary InlinePragma where d <- get bh return (InlinePragma a b c d) +instance Binary InlineSpec where + put_ bh EmptyInlineSpec = putByte bh 0 + put_ bh Inline = putByte bh 1 + put_ bh Inlinable = putByte bh 2 + put_ bh NoInline = putByte bh 3 + + get bh = do h <- getByte bh + case h of + 0 -> return EmptyInlineSpec + 1 -> return Inline + 2 -> return Inlinable + _ -> return NoInline + instance Binary HsBang where put_ bh HsNoBang = putByte bh 0 put_ bh HsStrict = putByte bh 1 @@ -1188,8 +1201,9 @@ instance Binary IfaceInfoItem where _ -> do return HsNoCafRefs instance Binary IfaceUnfolding where - put_ bh (IfCoreUnfold e) = do + put_ bh (IfCoreUnfold s e) = do putByte bh 0 + put_ bh s put_ bh e put_ bh (IfInlineRule a b c d) = do putByte bh 1 @@ -1210,8 +1224,9 @@ instance Binary IfaceUnfolding where get bh = do h <- getByte bh case h of - 0 -> do e <- get bh - return (IfCoreUnfold e) + 0 -> do s <- get bh + e <- get bh + return (IfCoreUnfold s e) 1 -> do a <- get bh b <- get bh c <- get bh