[GHC] #13727: `-Wmissing-home-modules` doesn't properly recognize filepath-qualified modules
GHC
ghc-devs at haskell.org
Fri May 19 08:12:05 UTC 2017
#13727: `-Wmissing-home-modules` doesn't properly recognize filepath-qualified
modules
-------------------------------------+-------------------------------------
Reporter: hvr | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone: 8.2.1
Component: Compiler | Version: 8.2.1-rc1
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: Incorrect
Unknown/Multiple | error/warning at compile-time
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
The `-Wmissing-home-modules` feature was implemented in order to be used
by Cabal (see also #13129), however it turns out that it currently has a
minor bug which makes it much less useful for `cabal` as we can't enable
it for executables this way, as Cabal needs to provide the path to the
Main module directly.
Consider the following two files:
- `src-lib/M1.hs`
{{{#!hs
module M1 where
}}}
- `src-exe/Main.hs`
{{{#!hs
import M1
main = return ()
}}}
And now consider the following inconsistent results:
Expected good behaviour:
{{{
ghc-8.2.1 -fforce-recomp -Wmissing-home-modules -isrc-lib -isrc-exe Main
<no location info>: warning: [-Wmissing-home-modules]
Modules are not listed in command line: M1
[1 of 2] Compiling M1 ( src-lib/M1.hs, src-lib/M1.o )
[2 of 2] Compiling Main ( src-exe/Main.hs, src-exe/Main.o )
Linking src-exe/Main ...
}}}
{{{
ghc-8.2.1 -fforce-recomp -Wmissing-home-modules -isrc-lib -isrc-exe M1
Main
[1 of 2] Compiling M1 ( src-lib/M1.hs, src-lib/M1.o )
[2 of 2] Compiling Main ( src-exe/Main.hs, src-exe/Main.o )
Linking src-exe/Main ...
}}}
Unexpected bad behaviour:
{{{
ghc-8.2.1 -fforce-recomp -Wmissing-home-modules src-lib/M1.hs src-
exe/Main.hs
<no location info>: warning: [-Wmissing-home-modules]
Modules are not listed in command line: M1 Main
[1 of 2] Compiling M1 ( src-lib/M1.hs, src-lib/M1.o )
[2 of 2] Compiling Main ( src-exe/Main.hs, src-exe/Main.o )
Linking src-exe/Main ...
}}}
{{{
ghc-8.2.1 -fforce-recomp -Wmissing-home-modules -isrc-lib M1 src-exe/Main
<no location info>: warning: [-Wmissing-home-modules]
Modules are not listed in command line: Main
[1 of 2] Compiling M1 ( src-lib/M1.hs, src-lib/M1.o )
[2 of 2] Compiling Main ( src-exe/Main.hs, src-exe/Main.o )
Linking src-exe/Main ...
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13727>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list