[GHC] #11556: GHC recompiles unchanged hs-boot files
GHC
ghc-devs at haskell.org
Mon Feb 8 03:34:44 UTC 2016
#11556: GHC recompiles unchanged hs-boot files
-------------------------------------+-------------------------------------
Reporter: thomie | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Driver | Version: 7.10.3
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets: #11013, #10333
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
A.hs:
{{{#!hs
module A where
import B
f = someError
}}}
A.hs-boot:
{{{#!hs
module A where
}}}
B.hs:
{{{#!hs
module B where
import {-# SOURCE #-} A
}}}
{{{
$ ghc-7.10.3 --make A.hs
[1 of 3] Compiling A[boot] ( A.hs-boot, A.o-boot )
[2 of 3] Compiling B ( B.hs, B.o )
[3 of 3] Compiling A ( A.hs, A.o )
A.hs:5:5: Not in scope: ‘someError’
$ ghc-7.10.3 --make A.hs
[1 of 3] Compiling A[boot] ( A.hs-boot, A.o-boot )
[3 of 3] Compiling A ( A.hs, A.o )
A.hs:5:5: Not in scope: ‘someError’
}}}
Why does `ghc --make` recompile `B.hs-boot`?
Note that recompilation avoidance does work when using `ghc -c`:
{{{
$ ghc -c A.hs-boot
compilation IS NOT required
}}}
(found while trying to reduce the testcase for #11532, which contains 644
.hs and 642 .hs-boot files)
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11556>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list