summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lynagh <ian@well-typed.com>2013-04-26 19:11:43 +0100
committerIan Lynagh <ian@well-typed.com>2013-04-26 19:12:50 +0100
commit4b205b8b86aa443e52adf46fc7de4bf9c872f228 (patch)
tree7094260a3b79095dd9297367c15a986e5b2ac322
parentff2b7ad2c44ec840cdcdf27e6b8c3338be989a8b (diff)
downloadhaskell-4b205b8b86aa443e52adf46fc7de4bf9c872f228.tar.gz
We need to setModLocation in the HscOut phase, not the Hsc phase
The output location needs to be different for the vanilla and dynamic ways when doing -dynamic-too. Fixes dynamicToo003.
-rw-r--r--compiler/main/DriverPipeline.hs4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs
index bdc2e8e812..57b0432207 100644
--- a/compiler/main/DriverPipeline.hs
+++ b/compiler/main/DriverPipeline.hs
@@ -960,8 +960,6 @@ runPhase (RealPhase (Hsc src_flavour)) input_fn dflags0
let o_file = ml_obj_file location -- The real object file
- setModLocation location
-
-- Figure out if the source has changed, for recompilation avoidance.
--
-- Setting source_unchanged to True means that M.o seems
@@ -1016,6 +1014,8 @@ runPhase (RealPhase (Hsc src_flavour)) input_fn dflags0
runPhase (HscOut src_flavour mod_name result) _ dflags = do
location <- getLocation src_flavour mod_name
+ setModLocation location
+
let o_file = ml_obj_file location -- The real object file
hsc_lang = hscTarget dflags
next_phase = hscPostBackendPhase dflags src_flavour hsc_lang