summaryrefslogtreecommitdiff
path: root/compiler/main/DriverPipeline.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/main/DriverPipeline.hs')
-rw-r--r--compiler/main/DriverPipeline.hs10
1 files changed, 9 insertions, 1 deletions
diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs
index 0979f92d47..df1ffd5c68 100644
--- a/compiler/main/DriverPipeline.hs
+++ b/compiler/main/DriverPipeline.hs
@@ -252,7 +252,15 @@ compileOne' m_tc_result mHscMessage
-- imports a _stub.h file that we created here.
current_dir = takeDirectory basename
old_paths = includePaths dflags1
- dflags = dflags1 { includePaths = current_dir : old_paths }
+ prevailing_dflags = hsc_dflags hsc_env0
+ dflags =
+ dflags1 { includePaths = current_dir : old_paths
+ , log_action = log_action prevailing_dflags
+ , log_finaliser = log_finaliser prevailing_dflags }
+ -- use the prevailing log_action / log_finaliser,
+ -- not the one cached in the summary. This is so
+ -- that we can change the log_action without having
+ -- to re-summarize all the source files.
hsc_env = hsc_env0 {hsc_dflags = dflags}
-- Figure out what lang we're generating