summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorAndreas Klebinger <klebinger.andreas@gmx.at>2021-02-21 16:04:20 +0100
committerAndreas Klebinger <klebinger.andreas@gmx.at>2021-02-22 15:37:11 +0100
commit3f3923a11246f8a211019fd95bfac831eefec4a3 (patch)
tree930e6e311483791a801eb4f1065acccfbea2ae08 /utils
parentddbdec4128f0e6760c8c7a19344f2f2a7a3314bf (diff)
downloadhaskell-wip/andreask/move_absentError.tar.gz
Move absentError into ghc-prim.wip/andreask/move_absentError
When using -fdicts-strict we generate references to absentError while compiling ghc-prim. However we always load ghc-prim before base so this caused linker errors. We simply solve this by moving absentError into ghc-prim. This does mean it's now a panic instead of an exception which can no longer be caught. But given that it should only be thrown if there is a compiler error that seems acceptable, and in fact we already do this for absentSumFieldError which has similar constraints.
Diffstat (limited to 'utils')
-rw-r--r--utils/genprimopcode/Main.hs2
1 files changed, 1 insertions, 1 deletions
diff --git a/utils/genprimopcode/Main.hs b/utils/genprimopcode/Main.hs
index f178915df8..8e3526b157 100644
--- a/utils/genprimopcode/Main.hs
+++ b/utils/genprimopcode/Main.hs
@@ -621,7 +621,7 @@ gen_wrappers (Info _ entries)
-- Performing WW on this module is harmful even, two reasons:
-- 1. Inferred strictness signatures are all bottom, which is a lie
-- 2. Doing the worker/wrapper split based on that information will
- -- introduce references to Control.Exception.Base.absentError,
+ -- introduce references to absentError,
-- which isn't available at this point.
++ "module GHC.PrimopWrappers where\n"
++ "import qualified GHC.Prim\n"