[commit: ghc] master: Fix typo in SpecConstr that made it not work at all (2a130b1)

Simon Marlow marlowsd at gmail.com
Thu Feb 3 21:39:26 CET 2011


Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/2a130b134daa3d67fed0b5b2e2257446e2c23c76

>---------------------------------------------------------------

commit 2a130b134daa3d67fed0b5b2e2257446e2c23c76
Author: simonpj at microsoft.com <unknown>
Date:   Thu Feb 3 17:27:56 2011 +0000

    Fix typo in SpecConstr that made it not work at all
    
    There was a terrible typo in this patch; I wrote "env"
    instead of "env1".
    
       Mon Jan 31 11:35:29 GMT 2011  simonpj at microsoft.com
         * Improve Simplifier and SpecConstr behaviour
    
    Anyway, this fix is essential to make it work properly.
    Thanks to Max for spotting the problem (again).

>---------------------------------------------------------------

 compiler/specialise/SpecConstr.lhs |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/compiler/specialise/SpecConstr.lhs b/compiler/specialise/SpecConstr.lhs
index 8e08169..8235196 100644
--- a/compiler/specialise/SpecConstr.lhs
+++ b/compiler/specialise/SpecConstr.lhs
@@ -749,7 +749,7 @@ extendCaseBndrs env scrut case_bndr con alt_bndrs
    live_case_bndr = not (isDeadBinder case_bndr)
    env1 | Var v <- scrut = extendValEnv env v cval
         | otherwise      = env	-- See Note [Add scrutinee to ValueEnv too]
-   env2 | live_case_bndr = extendValEnv env case_bndr cval
+   env2 | live_case_bndr = extendValEnv env1 case_bndr cval
         | otherwise      = env1
 
    alt_bndrs' | case scrut of { Var {} -> True; _ -> live_case_bndr }





More information about the Cvs-ghc mailing list