From 844fa86873b806594191043afdea638472f45619 Mon Sep 17 00:00:00 2001 From: "audreyt@audreyt.org" Date: Fri, 22 Sep 2006 04:06:18 +0000 Subject: [PATCH] Repair "ghci" under FC+AT by handling AnnCast in bytecode generator. --- compiler/ghci/ByteCodeGen.lhs | 3 +++ compiler/iface/IfaceSyn.lhs | 2 +- compiler/typecheck/TcRnDriver.lhs | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/compiler/ghci/ByteCodeGen.lhs b/compiler/ghci/ByteCodeGen.lhs index 725ba6a..db4e18c 100644 --- a/compiler/ghci/ByteCodeGen.lhs +++ b/compiler/ghci/ByteCodeGen.lhs @@ -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)) diff --git a/compiler/iface/IfaceSyn.lhs b/compiler/iface/IfaceSyn.lhs index cef2bf1..75ba52f 100644 --- a/compiler/iface/IfaceSyn.lhs +++ b/compiler/iface/IfaceSyn.lhs @@ -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 diff --git a/compiler/typecheck/TcRnDriver.lhs b/compiler/typecheck/TcRnDriver.lhs index 86061be..875d4f6 100644 --- a/compiler/typecheck/TcRnDriver.lhs +++ b/compiler/typecheck/TcRnDriver.lhs @@ -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")) -- 1.7.10.4