-- PlayRisky: the adjustor doesn't allocate in the Haskell heap or do a callback
let ccall_adj_ty = exprType ccall_adj
ccall_io_adj = mkLams [stbl_value] $
- (pprTrace "DsForeign: why is there an unsafeCoerce here?" (text "") $
- (Cast ccall_adj (mkUnsafeCoercion ccall_adj_ty io_res_ty )))
+#ifdef DEBUG
+ pprTrace "DsForeign: why is there an unsafeCoerce here?" (text "") $
+#endif
+ (Cast ccall_adj (mkUnsafeCoercion ccall_adj_ty io_res_ty ))
io_app = mkLams tvs $
mkLams [cback] $
MachRep)] -- the MachRep
arg_info = [ (text ('a':show n), showStgType ty, ty,
typeMachRep (getPrimTyOf ty))
- | (ty,n) <- zip arg_htys [1..] ]
+ | (ty,n) <- zip arg_htys [1::Int ..] ]
-- add some auxiliary args; the stable ptr in the wrapper case, and
-- a slot for the dummy return address in the wrapper + ccall case