diff options
author | Sylvain Henry <sylvain@haskus.fr> | 2021-07-19 16:52:06 +0200 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-07-19 19:38:59 -0400 |
commit | 58b960d2af0ebfc37104ec68a4df377a074951dd (patch) | |
tree | f0fc5bf672f76ec4f032a07d8d292fb1a6eaddb1 /compiler/GHC.hs | |
parent | 535123e4f6505a148ccaa536c21282a87c42669c (diff) | |
download | haskell-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.hs | 5 |
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 |