From 3c36d064aa4b141f6a17574253d97363967a8fe8 Mon Sep 17 00:00:00 2001 From: simonmar Date: Tue, 22 Jul 2003 14:24:57 +0000 Subject: [PATCH] [project @ 2003-07-22 14:24:57 by simonmar] Fix a nasty bug in eq_ufVar, which meant that unfoldings were comparing equal when non-local names in the unfolding had changed, which could lead to erroneously avoiding recompilation. This bug could cause bad behaviour along the lines of "my program was segfaulting, but I did make clean; make and now it works!". merge to STABLE --- ghc/compiler/hsSyn/HsCore.lhs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ghc/compiler/hsSyn/HsCore.lhs b/ghc/compiler/hsSyn/HsCore.lhs index 86f657b..27b6ae6 100644 --- a/ghc/compiler/hsSyn/HsCore.lhs +++ b/ghc/compiler/hsSyn/HsCore.lhs @@ -318,7 +318,7 @@ eq_ufVar :: (NamedThing name, Ord name) => EqHsEnv name -> name -> name -> Bool -- differences when comparing interface files eq_ufVar env n1 n2 = case lookupFM env n1 of Just n1 -> check n1 - Nothing -> check n2 + Nothing -> check n1 where check n1 = eqNameByOcc (getName n1) (getName n2) -- 1.7.10.4