#4924: bizarre strictness analysis bug
---------------------------------+------------------------------------------
    Reporter:  simonmar          |        Owner:              
        Type:  bug               |       Status:  merge       
    Priority:  high              |    Milestone:  7.2.1       
   Component:  Compiler          |      Version:  7.1         
    Keywords:                    |     Testcase:              
   Blockedby:                    |   Difficulty:              
          Os:  Unknown/Multiple  |     Blocking:              
Architecture:  Unknown/Multiple  |      Failure:  None/Unknown
---------------------------------+------------------------------------------
Changes (by simonpj):

  * status:  new => merge


Comment:

 Indeed a bizarre bug. But happily one that was easy to find and fix.  The
 patch that introduced the bug was this one
 {{{
 Tue Oct 26 09:17:57 BST 2010  [email protected]
   * Fix initialisation of strictness in the demand analyser
 }}}
 This patch fixes it
 {{{
 Fri Jan 28 08:07:48 GMT 2011  [email protected]
   * Fix an egregious strictness analyser bug (Trac #4924)

   The "virgin" flag was being threaded rather than treated
   like an environment.  As a result, the second and subsequent
   recursive definitions in a module were not getting a
   correctly-initialised fixpoint loop, causing much worse
   strictness analysis results.  Indeed the symptoms in
   Trac #4924 were quite bizarre.

   Anyway, it's easily fixed.  Merge to stable branch.

     M ./compiler/stranal/DmdAnal.lhs -106 +123
 }}}
 Merge to stable.  I don't think it's worth a regression test.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4924#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to