diff options
| author | Simon Peyton Jones <simonpj@microsoft.com> | 2014-12-13 22:53:54 +0000 |
|---|---|---|
| committer | Simon Peyton Jones <simonpj@microsoft.com> | 2014-12-15 10:06:55 +0000 |
| commit | d59c59f4d106a5d0dff0ecb164f7a669bee03c13 (patch) | |
| tree | f6c837d6b320275ad560fff6277e6e33d9d7ccb5 /compiler/codeGen | |
| parent | fbb42b2ea42b6467135f26db47d9c296e7ad75a3 (diff) | |
| download | haskell-d59c59f4d106a5d0dff0ecb164f7a669bee03c13.tar.gz | |
Make Core Lint check for locally-bound GlobalIds
There should be no bindings in this module for a GlobalId;
except after CoreTidy, when top-level bindings are globalised.
To check for this, I had to make the CoreToDo pass part of the
environment that Core Lint caries. But CoreToDo is defined in
CoreMonad, which (before this patch) called CoreLint.
So I had to do quite a bit of refactoring, moving some
lint-invoking code into CoreLint itself. Crucially, I also
more tcLookupImported_maybe, importDecl, and checkwiredInTyCon
from TcIface (which use CoreLint) to LoadIface (which doesn't).
This is probably better structure anyway.
So most of this patch is refactoring. The actual check for
GlobalIds is in CoreLint.lintAndScopeId
Diffstat (limited to 'compiler/codeGen')
0 files changed, 0 insertions, 0 deletions
