#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