projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
White space and comments only
[ghc-hetmet.git]
/
compiler
/
iface
/
MkIface.lhs
diff --git
a/compiler/iface/MkIface.lhs
b/compiler/iface/MkIface.lhs
index
e335f75
..
e569c47
100644
(file)
--- a/
compiler/iface/MkIface.lhs
+++ b/
compiler/iface/MkIface.lhs
@@
-181,6
+181,10
@@
code of A, and thereby haul in all the stuff reachable from it.
haul in all the unfoldings for B, in case the module that imports A *is*
compiled with -O. I think this is the case.]
haul in all the unfoldings for B, in case the module that imports A *is*
compiled with -O. I think this is the case.]
+SimonM [30/11/2007]: I believe the above is all out of date; the
+current implementation doesn't do it this way. Instead, when any of
+the dependencies of a declaration changes, the version of the
+declaration itself changes.
\begin{code}
#include "HsVersions.h"
\begin{code}
#include "HsVersions.h"
@@
-409,7
+413,7
@@
mkIface_ hsc_env maybe_old_iface
mi_fix_fn = mkIfaceFixCache fixities }
-- Add version information
mi_fix_fn = mkIfaceFixCache fixities }
-- Add version information
- ; ext_ver_fn = mkParentVerFun hsc_env eps
+ ; ext_ver_fn = mkParentVerFun hsc_env eps
; (new_iface, no_change_at_all, pp_diffs, pp_orphs)
= {-# SCC "versioninfo" #-}
addVersionInfo ext_ver_fn maybe_old_iface
; (new_iface, no_change_at_all, pp_diffs, pp_orphs)
= {-# SCC "versioninfo" #-}
addVersionInfo ext_ver_fn maybe_old_iface
@@
-704,6
+708,8
@@
computeChangedOccs ver_fn this_module old_usages eq_info
-- return True if an external name has changed
name_changed :: Name -> Bool
name_changed nm
-- return True if an external name has changed
name_changed :: Name -> Bool
name_changed nm
+ | isWiredInName nm -- Wired-in things don't get into interface
+ = False -- files and hence don't get into the ver_fn
| Just ents <- lookupUFM usg_modmap (moduleName mod),
Just v <- lookupUFM ents parent_occ
= v < new_version
| Just ents <- lookupUFM usg_modmap (moduleName mod),
Just v <- lookupUFM ents parent_occ
= v < new_version