
#13829: ghc --make should not relink when we know the binary doesn't change -------------------------------------+------------------------------------- Reporter: nh2 | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.2 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: #13828 Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- I would expect GHC not to relink after touching a file, since no actual program code was changed. But it does: {{{ $ echo "main = return ()" > Main.hs $ ghc --make Main.hs [1 of 1] Compiling Main ( Main.hs, Main.o ) Linking Main ... $ touch Main.hs $ ghc --make Main.hs [1 of 1] Compiling Main ( Main.hs, Main.o ) Linking Main ... }}} I would expect that the recompilation avoidance makes GHC stop continuing as soon as it has noticed that the same object code (`.o` file) was generated as in the first build. Perhaps even earlier (e.g. after parsing). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13829 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler