
#9370: unfolding info as seen when building a module depends on flags in a previously-compiled module -------------------------------------+------------------------------------- Reporter: carter | Owner: Type: bug | Status: new Priority: high | Milestone: 7.10.1 Component: Compiler | Version: 7.8.3 Resolution: | Keywords: Operating System: | Architecture: Unknown/Multiple Unknown/Multiple | Difficulty: Unknown Type of failure: Compile- | Blocked By: time performance bug | Related Tickets: Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Changes (by rwbarton): * keywords: parmake => * priority: highest => high * related: #910 #9221 => Comment: OK I take it all back. The parallel build is not really responsible at all. You get the same blowup when building `Text.XmlHtml.HTML.Meta` with `-j1` if you just add an `import Text.XmlHtml.Common` so that `Text.XmlHtml.Common` is built before `Text.XmlHtml.HTML.Meta`. As far as I can tell, the reason is that when we read an interface file from an external package, we may or may not attach unfolding info to its Ids according to the dynamic flags that are in effect for the module we are building. But when we later build another module, we might reuse that external package information even though different dynamic flags are now in effect. I haven't tried to track down the code that loads interface files, but does this sound plausible? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9370#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler