summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2011-10-26 17:37:27 +0100
committerIan Lynagh <igloo@earth.li>2011-10-26 17:37:27 +0100
commitb558599b9e492fd6d349aa60306b788dbaf9f28c (patch)
treeefaa12d6983263d630f11ee69316aab06f507e4d /compiler
parent4f79205400099f518cd497eef0864c8faace9e41 (diff)
downloadhaskell-b558599b9e492fd6d349aa60306b788dbaf9f28c.tar.gz
Revert "Fix some validation errors"
This reverts commit 4e2121f4fa33743d0acb42506b4d34952a7e4c80.
Diffstat (limited to 'compiler')
-rw-r--r--compiler/main/DynFlags.hs6
-rw-r--r--compiler/main/HscMain.lhs2
2 files changed, 7 insertions, 1 deletions
diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs
index 537e2b4dfe..1c047b7cfe 100644
--- a/compiler/main/DynFlags.hs
+++ b/compiler/main/DynFlags.hs
@@ -1037,6 +1037,12 @@ safeLanguageOn dflags = safeHaskell dflags == Sf_Safe
safeInferOn :: DynFlags -> Bool
safeInferOn dflags = safeHaskell dflags == Sf_SafeInfered
+-- | Turn off Safe Haskell inference mode (set module to unsafe)
+setSafeInferOff :: DynFlags -> DynFlags
+setSafeInferOff dflags
+ | safeHaskell dflags == Sf_SafeInfered = dflags { safeHaskell = Sf_None }
+ | otherwise = dflags
+
-- | Test if Safe Imports are on in some form
safeImportsOn :: DynFlags -> Bool
safeImportsOn dflags = safeHaskell dflags == Sf_Unsafe ||
diff --git a/compiler/main/HscMain.lhs b/compiler/main/HscMain.lhs
index 08ae763107..3961de0d3b 100644
--- a/compiler/main/HscMain.lhs
+++ b/compiler/main/HscMain.lhs
@@ -904,7 +904,7 @@ checkSafeImports dflags hsc_env tcg_env
-- See the Note [ Safe Haskell Inference]
when (not $ isEmptyBag errs) (
-- did we fail safe inference or fail -XSafe?
- case safeInferOn dflags of
+ case safeHaskell dflags == Sf_SafeInfered of
True -> setDynFlags (dflags { safeHaskell = Sf_None } )
False -> liftIO . throwIO . mkSrcErr $ errs
)