Repair "ghci" under FC+AT by handling AnnCast in bytecode generator.
authoraudreyt@audreyt.org <unknown>
Fri, 22 Sep 2006 04:06:18 +0000 (04:06 +0000)
committeraudreyt@audreyt.org <unknown>
Fri, 22 Sep 2006 04:06:18 +0000 (04:06 +0000)
compiler/ghci/ByteCodeGen.lhs
compiler/iface/IfaceSyn.lhs
compiler/typecheck/TcRnDriver.lhs

index 725ba6a..db4e18c 100644 (file)
@@ -424,6 +424,9 @@ schemeE d s p (AnnCase scrut bndr _ alts)
 schemeE d s p (AnnNote note (_, body))
    = schemeE d s p body
 
+schemeE d s p (AnnCast (_, body) _)
+   = schemeE d s p body
+
 schemeE d s p other
    = pprPanic "ByteCodeGen.schemeE: unhandled case" 
                (pprCoreExpr (deAnnotate' other))
index cef2bf1..75ba52f 100644 (file)
@@ -754,7 +754,7 @@ type EqEnv = UniqFM FastString      -- Tracks the mapping from L-variables to R-varia
 eqIfOcc :: EqEnv -> FastString -> FastString -> IfaceEq
 eqIfOcc env n1 n2 = case lookupUFM env n1 of
                        Just n1 -> bool (n1 == n2)
-                       Nothing -> bool (n1 == n2)
+                       Nothing -> bool (show n1 == show n2)
 
 extendEqEnv :: EqEnv -> FastString -> FastString -> EqEnv
 extendEqEnv env n1 n2 | n1 == n2  = env
index 86061be..875d4f6 100644 (file)
@@ -563,6 +563,7 @@ missingBootThing thing
   = ppr thing <+> ptext SLIT("is defined in the hs-boot file, but not in the module")
 bootMisMatch thing boot_decl real_decl
   = ppr thing <+> ptext SLIT("has conflicting definitions in the module and its hs-boot file")
+    $+$ (ppr boot_decl) $+$ (ppr real_decl)
 instMisMatch inst
   = hang (ppr inst)
        2 (ptext SLIT("is defined in the hs-boot file, but not in the module"))