[GHC] #13829: ghc --make should not relink when we know the binary doesn't change
GHC
ghc-devs at haskell.org
Thu Jun 15 01:13:43 UTC 2017
#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
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: #13828 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Description changed by nh2:
@@ -22,1 +22,6 @@
- Perhaps even earlier (e.g. after parsing).
+ Perhaps even earlier (e.g. after parsing) in this specific case; but
+ certainly after code gen, which I'd expect also to avoid the recompilation
+ if e.g. a comment was added to the file, as the comment won't make it into
+ the program code (unless something like TH `location` or `HasCallStack` is
+ used, which can change the line numbers those generate if a comment pushes
+ them down).
New description:
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) in this specific case; but
certainly after code gen, which I'd expect also to avoid the recompilation
if e.g. a comment was added to the file, as the comment won't make it into
the program code (unless something like TH `location` or `HasCallStack` is
used, which can change the line numbers those generate if a comment pushes
them down).
--
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13829#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list