Stopping tick boxes for being removed round calls to error.
authorandy@galois.com <unknown>
Tue, 1 May 2007 15:57:29 +0000 (15:57 +0000)
committerandy@galois.com <unknown>
Tue, 1 May 2007 15:57:29 +0000 (15:57 +0000)
compiler/simplCore/Simplify.lhs

index 25dc2ba..cab6460 100644 (file)
@@ -1165,6 +1165,9 @@ rebuildCase env scrut case_bndr [(con,bndrs,rhs)] cont
        -- The case binder is going to be evaluated later, 
        -- and the scrutinee is a simple variable
     var_demanded_later (Var v) = isStrictDmd (idNewDemandInfo case_bndr)
+                                && not (isTickBoxOp v) 
+                                   -- ugly hack; covering this case is what 
+                                   -- exprOkForSpeculation was intended for.
     var_demanded_later other   = False