diff options
author | simonpj@microsoft.com <unknown> | 2011-01-26 17:21:12 +0000 |
---|---|---|
committer | simonpj@microsoft.com <unknown> | 2011-01-26 17:21:12 +0000 |
commit | 869984cd0306c18dcd103b9ef7dd315573dc3c6d (patch) | |
tree | cbacc3bd6bd806fc4cf5666751f6a765ba8e929e /Makefile | |
parent | 6740a5dc1f10832ba87827a5f6fdbf627078e563 (diff) | |
download | haskell-869984cd0306c18dcd103b9ef7dd315573dc3c6d.tar.gz |
Fix dependencies among specialisations for imported Ids
This was a subtle one (Trac #4903). See
Note [Glom the bindings if imported functions are specialised]
in Speclialise.
Fundamentally, a specialised binding for an imported Id was being
declared non-recursive, whereas in fact it can become recursive
via a RULE. Once it's specified non-recurive the OccAnal pass
treats that as gospel -- and that in turn led to infinite inlining.
Easily fixed by glomming all the specialised bindings in a Rec;
now the OccAnal will sort them out correctly.
Diffstat (limited to 'Makefile')
0 files changed, 0 insertions, 0 deletions