[project @ 2000-01-31 14:25:34 by sewardj]
authorsewardj <unknown>
Mon, 31 Jan 2000 14:25:34 +0000 (14:25 +0000)
committersewardj <unknown>
Mon, 31 Jan 2000 14:25:34 +0000 (14:25 +0000)
Change primOpUsg(CatchOp) to reflect changed arity of catch#.  Also
update primOpStrictness(CatchOp).

ghc/compiler/prelude/PrimOp.lhs

index c514f02..0c7461e 100644 (file)
@@ -933,7 +933,7 @@ primOpStrictness WriteMutVarOp        = ([wwPrim, wwLazy, wwPrim], False)
 
 primOpStrictness PutMVarOp       = ([wwPrim, wwLazy, wwPrim], False)
 
-primOpStrictness CatchOp         = ([wwLazy, wwLazy], False)
+primOpStrictness CatchOp         = ([wwStrict, wwLazy, wwPrim], False)
 primOpStrictness RaiseOp         = ([wwLazy], True)    -- NB: True => result is bottom
 primOpStrictness BlockAsyncExceptionsOp    = ([wwLazy], False)
 primOpStrictness UnblockAsyncExceptionsOp  = ([wwLazy], False)
@@ -2286,7 +2286,7 @@ primOpUsg op
       SameMutVarOp         -> mangle [mkP, mkP          ] mkM
 
       CatchOp              -> --     [mkO, mkO . (inFun mkM mkO)] mkO
-                              mangle [mkM, mkM . (inFun mkM mkM)] mkM
+                              mangle [mkM, mkM . (inFun mkM mkM), mkP] mkM
                               -- might use caught action multiply
       RaiseOp              -> mangle [mkM               ] mkM