summaryrefslogtreecommitdiff
path: root/compiler/GHC.hs
diff options
context:
space:
mode:
authorSylvain Henry <sylvain@haskus.fr>2021-07-19 16:52:06 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-07-19 19:38:59 -0400
commit58b960d2af0ebfc37104ec68a4df377a074951dd (patch)
treef0fc5bf672f76ec4f032a07d8d292fb1a6eaddb1 /compiler/GHC.hs
parent535123e4f6505a148ccaa536c21282a87c42669c (diff)
downloadhaskell-58b960d2af0ebfc37104ec68a4df377a074951dd.tar.gz
Make TmpFs independent of DynFlags
This is small step towards #19877. We want to make the Loader/Linker interface more abstract to be easily reused (i.e. don't pass it DynFlags) but the system linker uses TmpFs which required a DynFlags value to get its temp directory. We explicitly pass the temp directory now. Similarly TmpFs was consulting the DynFlags to decide whether to clean or: this is now done by the caller in the driver code.
Diffstat (limited to 'compiler/GHC.hs')
-rw-r--r--compiler/GHC.hs5
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/GHC.hs b/compiler/GHC.hs
index b7dd7dfd35..3405d36c55 100644
--- a/compiler/GHC.hs
+++ b/compiler/GHC.hs
@@ -534,8 +534,9 @@ withCleanupSession ghc = ghc `MC.finally` cleanup
let logger = hsc_logger hsc_env
let tmpfs = hsc_tmpfs hsc_env
liftIO $ do
- cleanTempFiles logger tmpfs dflags
- cleanTempDirs logger tmpfs dflags
+ unless (gopt Opt_KeepTmpFiles dflags) $ do
+ cleanTempFiles logger tmpfs
+ cleanTempDirs logger tmpfs
traverse_ stopInterp (hsc_interp hsc_env)
-- exceptions will be blocked while we clean the temporary files,
-- so there shouldn't be any difficulty if we receive further