diff options
| author | Eric Seidel <gridaphobe@gmail.com> | 2016-01-18 09:45:23 +0100 |
|---|---|---|
| committer | Ben Gamari <ben@smart-cactus.org> | 2016-01-18 10:32:50 +0100 |
| commit | a7b751db766bd456ace4f76a861e5e8b927d8f17 (patch) | |
| tree | 901bd4db1a95dc800e3e50a0d00a9da50c7b8c9c /compiler/prelude/PrelNames.hs | |
| parent | 2fd407cd28ea1c8fccb7a93d411d1cee690fa959 (diff) | |
| download | haskell-a7b751db766bd456ace4f76a861e5e8b927d8f17.tar.gz | |
un-wire-in error, undefined, CallStack, and IP
I missed a crucial step in the wiring-in process of `CallStack` in D861,
the bit where you actually wire-in the Name... This led to a nasty bug
where GHC thought `CallStack` was not wired-in and tried to fingerprint
it, which failed because the defining module was not loaded.
But we don't need `CallStack` to be wired-in anymore since `error` and
`undefined` no longer need to be wired-in. So we just remove them all.
Updates haddock submodule.
Test Plan: `./validate` and `make slowtest TEST=tc198`
Reviewers: simonpj, goldfire, austin, hvr, bgamari
Reviewed By: simonpj, bgamari
Subscribers: goldfire, thomie
Projects: #ghc
Differential Revision: https://phabricator.haskell.org/D1739
GHC Trac Issues: #11331
Diffstat (limited to 'compiler/prelude/PrelNames.hs')
| -rw-r--r-- | compiler/prelude/PrelNames.hs | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/compiler/prelude/PrelNames.hs b/compiler/prelude/PrelNames.hs index cc5c854260..bc7951a5ec 100644 --- a/compiler/prelude/PrelNames.hs +++ b/compiler/prelude/PrelNames.hs @@ -326,9 +326,14 @@ basicKnownKeyNames -- Overloaded labels isLabelClassName, - -- Source locations - callStackDataConName, callStackTyConName, + -- Implicit Parameters + ipClassName, + + -- Call Stacks + callStackTyConName, emptyCallStackName, pushCallStackName, + + -- Source Locations srcLocDataConName, -- Annotation type checking @@ -1327,11 +1332,14 @@ isLabelClassName :: Name isLabelClassName = clsQual gHC_OVER_LABELS (fsLit "IsLabel") isLabelClassNameKey +-- Implicit Parameters +ipClassName :: Name +ipClassName + = clsQual gHC_CLASSES (fsLit "IP") ipClassKey + -- Source Locations -callStackDataConName, callStackTyConName, emptyCallStackName, pushCallStackName, +callStackTyConName, emptyCallStackName, pushCallStackName, srcLocDataConName :: Name -callStackDataConName - = dcQual gHC_STACK_TYPES (fsLit "CallStack") callStackDataConKey callStackTyConName = tcQual gHC_STACK_TYPES (fsLit "CallStack") callStackTyConKey emptyCallStackName @@ -1484,6 +1492,10 @@ semigroupClassKey, monoidClassKey :: Unique semigroupClassKey = mkPreludeClassUnique 46 monoidClassKey = mkPreludeClassUnique 47 +-- Implicit Parameters +ipClassKey :: Unique +ipClassKey = mkPreludeClassUnique 48 + ---------------- Template Haskell ------------------- -- THNames.hs: USES ClassUniques 200-299 ----------------------------------------------------- @@ -1711,13 +1723,6 @@ callStackTyConKey = mkPreludeTyConUnique 182 typeRepTyConKey :: Unique typeRepTyConKey = mkPreludeTyConUnique 183 --- Implicit Parameters -ipTyConKey :: Unique -ipTyConKey = mkPreludeTyConUnique 184 - -ipCoNameKey :: Unique -ipCoNameKey = mkPreludeTyConUnique 185 - ---------------- Template Haskell ------------------- -- THNames.hs: USES TyConUniques 200-299 ----------------------------------------------------- @@ -1792,13 +1797,9 @@ staticPtrInfoDataConKey = mkPreludeDataConUnique 34 fingerprintDataConKey :: Unique fingerprintDataConKey = mkPreludeDataConUnique 35 -callStackDataConKey, srcLocDataConKey :: Unique -callStackDataConKey = mkPreludeDataConUnique 36 +srcLocDataConKey :: Unique srcLocDataConKey = mkPreludeDataConUnique 37 -ipDataConKey :: Unique -ipDataConKey = mkPreludeDataConUnique 38 - -- Levity liftedDataConKey, unliftedDataConKey :: Unique liftedDataConKey = mkPreludeDataConUnique 39 |
