X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fprelude%2FForeignCall.lhs;h=015b28e2fe3403f74156aa9186006316bed18166;hb=30a08433b46de89511fcdf0149f0749739227efb;hp=cae46be532dca9aba682342881ca0f4f2b29ce67;hpb=5cb496dc86fac0b6023c08d4a0d7467df8d7b540;p=ghc-hetmet.git diff --git a/compiler/prelude/ForeignCall.lhs b/compiler/prelude/ForeignCall.lhs index cae46be..015b28e 100644 --- a/compiler/prelude/ForeignCall.lhs +++ b/compiler/prelude/ForeignCall.lhs @@ -134,7 +134,7 @@ platforms. See: http://www.programmersheaven.com/2/Calling-conventions \begin{code} -data CCallConv = CCallConv | StdCallConv | CmmCallConv +data CCallConv = CCallConv | StdCallConv | CmmCallConv | PrimCallConv deriving (Eq) {-! derive: Binary !-} @@ -142,6 +142,7 @@ instance Outputable CCallConv where ppr StdCallConv = ptext (sLit "stdcall") ppr CCallConv = ptext (sLit "ccall") ppr CmmCallConv = ptext (sLit "C--") + ppr PrimCallConv = ptext (sLit "prim") defaultCCallConv :: CCallConv defaultCCallConv = CCallConv @@ -332,11 +333,14 @@ instance Binary CCallConv where putByte bh 0 put_ bh StdCallConv = do putByte bh 1 + put_ bh PrimCallConv = do + putByte bh 2 get bh = do h <- getByte bh case h of 0 -> do return CCallConv - _ -> do return StdCallConv + 1 -> do return StdCallConv + _ -> do return PrimCallConv instance Binary DNCallSpec where put_ bh (DNCallSpec isStatic kind ass nm _ _) = do