summaryrefslogtreecommitdiff
path: root/compiler/main/DynamicLoading.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/main/DynamicLoading.hs')
-rw-r--r--compiler/main/DynamicLoading.hs6
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/main/DynamicLoading.hs b/compiler/main/DynamicLoading.hs
index ea09a8ceb5..c4d370cca0 100644
--- a/compiler/main/DynamicLoading.hs
+++ b/compiler/main/DynamicLoading.hs
@@ -69,8 +69,12 @@ initializePlugins hsc_env df
= return df -- no need to reload plugins
| otherwise
= do loadedPlugins <- loadPlugins (hsc_env { hsc_dflags = df })
- return $ df { cachedPlugins = loadedPlugins }
+ let df' = df { cachedPlugins = loadedPlugins }
+ df'' <- withPlugins df' runDflagsPlugin df'
+ return df''
+
where argumentsForPlugin p = map snd . filter ((== lpModuleName p) . fst)
+ runDflagsPlugin p opts dynflags = dynflagsPlugin p opts dynflags
loadPlugins :: HscEnv -> IO [LoadedPlugin]
loadPlugins hsc_env