summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Seipp <austin@well-typed.com>2014-01-21 14:05:49 -0600
committerAustin Seipp <austin@well-typed.com>2014-01-21 14:05:52 -0600
commit0a2d323cee040c6460233ff17d40199755e59959 (patch)
tree9d94dcc098e16487402b794f34010d07e167c137
parent22ddcfff16476a6d19190f10743a78bde0b2c28f (diff)
downloadhaskell-0a2d323cee040c6460233ff17d40199755e59959.tar.gz
Fix #8677 (fallout from #8180)
When using TemplateHaskell and -prof, we *do not* want -dynamic-too, because we're going to *expect* that you compiled the vanilla/dyn way already, and are compiling profiling the second time (i.e. so GHCi can just load the normal, non-profiled object files.) Signed-off-by: Austin Seipp <austin@well-typed.com>
-rw-r--r--compiler/main/DriverPipeline.hs3
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs
index b2f182a7d7..3d34bdbcac 100644
--- a/compiler/main/DriverPipeline.hs
+++ b/compiler/main/DriverPipeline.hs
@@ -140,9 +140,10 @@ compileOne' m_tc_result mHscMessage
mod_graph = hsc_mod_graph hsc_env0
needsTH = any (xopt Opt_TemplateHaskell . ms_hspp_opts) mod_graph
isDynWay = any (== WayDyn) (ways dflags0)
+ isProfWay = any (== WayProf) (ways dflags0)
-- #8180 - when using TemplateHaskell, switch on -dynamic-too so
-- the linker can correctly load the object files.
- let dflags1 = if needsTH && dynamicGhc && not isDynWay
+ let dflags1 = if needsTH && dynamicGhc && not isDynWay && not isProfWay
then gopt_set dflags0 Opt_BuildDynamicToo
else dflags0