Fix an egregious strictness analyser bug (Trac #4924)
authorsimonpj@microsoft.com <unknown>
Fri, 28 Jan 2011 08:07:48 +0000 (08:07 +0000)
committersimonpj@microsoft.com <unknown>
Fri, 28 Jan 2011 08:07:48 +0000 (08:07 +0000)
commitf1a90f54590e5a7a32a9c3ef2950740922b1f425
treef55c562a54e4f6754a84ba629411e9a83bc197f9
parenta0f6d307b097bd788e181434a4d9b7fdd56a6c6b
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.
compiler/stranal/DmdAnal.lhs