
#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