GHC silently turns off dynamic output, should this be an error?
Christopher Rodrigues
pointlessmonad at gmail.com
Sun Jul 6 19:25:13 UTC 2014
Investigating #9176 further, GHC does at least three different things with
imported modules under -dynamic-too compilation. It probably should be
changed to handle imports uniformly. It looks like dynamic-too support was
bolted on to a system designed for one-pass compilation, and I'm not clear
on how to restructure it. Guidance would be appreciated, as it would cut
down the time I need to figure out how the driver works.
Here are the three things that can happen:
1. When compiling in one-shot mode, with -c, GHC will do what Igloo
described. If normal and dynamic interface hashes don't match, it will
compile the normal way, then compile again the dynamic way.
2. When compiling with --make and importing from a package, if normal and
dynamic interface hashes don't match, GHC will disable dynamic-too, but it
will not restart the pipeline. Only the normal .hi file is produced.
3. When compiling with --make and importing from a non-package module, GHC
will not check interface hashes. It will proceed as if normal and dynamic
interface hashes match.
-Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20140706/e7ebbb4f/attachment.html>
More information about the ghc-devs
mailing list