Handle cases with no alternatives in GHCi
authorSimon Marlow <marlowsd@gmail.com>
Fri, 11 May 2012 09:26:28 +0000 (10:26 +0100)
committerSimon Marlow <marlowsd@gmail.com>
Fri, 11 May 2012 09:27:43 +0000 (10:27 +0100)
Fixes cgrun045(ghci) amongst others

compiler/ghci/ByteCodeGen.lhs

index c8b1b30..c84d84a 100644 (file)
@@ -482,6 +482,9 @@ schemeE d s p exp@(AnnTick (Breakpoint _id _fvs) _rhs)
 -- ignore other kinds of tick
 schemeE d s p (AnnTick _ (_, rhs)) = schemeE d s p rhs
 
+schemeE d s p (AnnCase (_,scrut) _ _ []) = schemeE d s p scrut
+        -- no alts: scrut is guaranteed to diverge
+
 schemeE d s p (AnnCase scrut _ _ [(DataAlt dc, [bind1, bind2], rhs)])
    | isUnboxedTupleCon dc, VoidArg <- typeCgRep (idType bind1)
         -- Convert