[commit: ghc] master: Note about external interface changes. (3b9e45e)

git at git.haskell.org git at git.haskell.org
Sat Oct 8 08:38:21 UTC 2016


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/3b9e45e587447b20e7a8cbe33424f9a4b1b4ec72/ghc

>---------------------------------------------------------------

commit 3b9e45e587447b20e7a8cbe33424f9a4b1b4ec72
Author: Edward Z. Yang <ezyang at cs.stanford.edu>
Date:   Mon Aug 29 21:20:58 2016 -0700

    Note about external interface changes.
    
    Signed-off-by: Edward Z. Yang <ezyang at cs.stanford.edu>


>---------------------------------------------------------------

3b9e45e587447b20e7a8cbe33424f9a4b1b4ec72
 compiler/main/GhcMake.hs | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/compiler/main/GhcMake.hs b/compiler/main/GhcMake.hs
index 0705b14..0adee6e 100644
--- a/compiler/main/GhcMake.hs
+++ b/compiler/main/GhcMake.hs
@@ -601,6 +601,11 @@ unload hsc_env stable_linkables -- Unload everthing *except* 'stable_linkables'
 
     - Note that objects are only considered stable if they only depend
       on other objects.  We can't link object code against byte code.
+
+    - Note that even if an object is stable, we may end up recompiling
+      if the interface is out of date because an *external* interface
+      has changed.  The current code in GhcMake handles this case
+      fairly poorly, so be careful.
 -}
 checkStability
         :: HomePackageTable   -- HPT from last compilation



More information about the ghc-commits mailing list