compiler: introduce custom "GhcPrelude" Prelude
authorHerbert Valerio Riedel <hvr@gnu.org>
Tue, 19 Sep 2017 18:35:36 +0000 (14:35 -0400)
committerBen Gamari <ben@smart-cactus.org>
Tue, 19 Sep 2017 18:35:38 +0000 (14:35 -0400)
This switches the compiler/ component to get compiled with
-XNoImplicitPrelude and a `import GhcPrelude` is inserted in all
modules.

This is motivated by the upcoming "Prelude" re-export of
`Semigroup((<>))` which would cause lots of name clashes in every
modulewhich imports also `Outputable`

Reviewers: austin, goldfire, bgamari, alanz, simonmar

Reviewed By: bgamari

Subscribers: goldfire, rwbarton, thomie, mpickering, bgamari

Differential Revision: https://phabricator.haskell.org/D3989

484 files changed:
compiler/backpack/BkpSyn.hs
compiler/backpack/DriverBkp.hs
compiler/backpack/NameShape.hs
compiler/backpack/RnModIface.hs
compiler/basicTypes/Avail.hs
compiler/basicTypes/BasicTypes.hs
compiler/basicTypes/ConLike.hs
compiler/basicTypes/DataCon.hs
compiler/basicTypes/DataCon.hs-boot
compiler/basicTypes/Demand.hs
compiler/basicTypes/FieldLabel.hs
compiler/basicTypes/Id.hs
compiler/basicTypes/IdInfo.hs
compiler/basicTypes/IdInfo.hs-boot
compiler/basicTypes/Lexeme.hs
compiler/basicTypes/Literal.hs
compiler/basicTypes/MkId.hs
compiler/basicTypes/Module.hs
compiler/basicTypes/Module.hs-boot
compiler/basicTypes/Name.hs
compiler/basicTypes/Name.hs-boot
compiler/basicTypes/NameCache.hs
compiler/basicTypes/NameEnv.hs
compiler/basicTypes/NameSet.hs
compiler/basicTypes/OccName.hs
compiler/basicTypes/OccName.hs-boot
compiler/basicTypes/PatSyn.hs
compiler/basicTypes/RdrName.hs
compiler/basicTypes/SrcLoc.hs
compiler/basicTypes/UniqSupply.hs
compiler/basicTypes/Unique.hs
compiler/basicTypes/Var.hs
compiler/basicTypes/VarEnv.hs
compiler/basicTypes/VarSet.hs
compiler/cmm/Bitmap.hs
compiler/cmm/BlockId.hs
compiler/cmm/CLabel.hs
compiler/cmm/Cmm.hs
compiler/cmm/CmmBuildInfoTables.hs
compiler/cmm/CmmCallConv.hs
compiler/cmm/CmmCommonBlockElim.hs
compiler/cmm/CmmContFlowOpt.hs
compiler/cmm/CmmExpr.hs
compiler/cmm/CmmImplementSwitchPlans.hs
compiler/cmm/CmmInfo.hs
compiler/cmm/CmmLayoutStack.hs
compiler/cmm/CmmLex.x
compiler/cmm/CmmLint.hs
compiler/cmm/CmmLive.hs
compiler/cmm/CmmMachOp.hs
compiler/cmm/CmmMonad.hs
compiler/cmm/CmmNode.hs
compiler/cmm/CmmOpt.hs
compiler/cmm/CmmParse.y
compiler/cmm/CmmPipeline.hs
compiler/cmm/CmmProcPoint.hs
compiler/cmm/CmmSink.hs
compiler/cmm/CmmSwitch.hs
compiler/cmm/CmmType.hs
compiler/cmm/CmmUtils.hs
compiler/cmm/Debug.hs
compiler/cmm/Hoopl/Block.hs
compiler/cmm/Hoopl/Collections.hs
compiler/cmm/Hoopl/Dataflow.hs
compiler/cmm/Hoopl/Graph.hs
compiler/cmm/Hoopl/Label.hs
compiler/cmm/Hoopl/Unique.hs
compiler/cmm/MkGraph.hs
compiler/cmm/PprC.hs
compiler/cmm/PprCmm.hs
compiler/cmm/PprCmmDecl.hs
compiler/cmm/PprCmmExpr.hs
compiler/cmm/SMRep.hs
compiler/codeGen/CgUtils.hs
compiler/codeGen/CodeGen/Platform.hs
compiler/codeGen/CodeGen/Platform/ARM.hs
compiler/codeGen/CodeGen/Platform/ARM64.hs
compiler/codeGen/CodeGen/Platform/NoRegs.hs
compiler/codeGen/CodeGen/Platform/PPC.hs
compiler/codeGen/CodeGen/Platform/PPC_Darwin.hs
compiler/codeGen/CodeGen/Platform/SPARC.hs
compiler/codeGen/CodeGen/Platform/X86.hs
compiler/codeGen/CodeGen/Platform/X86_64.hs
compiler/codeGen/StgCmm.hs
compiler/codeGen/StgCmmArgRep.hs
compiler/codeGen/StgCmmBind.hs
compiler/codeGen/StgCmmClosure.hs
compiler/codeGen/StgCmmCon.hs
compiler/codeGen/StgCmmEnv.hs
compiler/codeGen/StgCmmExpr.hs
compiler/codeGen/StgCmmExtCode.hs
compiler/codeGen/StgCmmForeign.hs
compiler/codeGen/StgCmmHeap.hs
compiler/codeGen/StgCmmHpc.hs
compiler/codeGen/StgCmmLayout.hs
compiler/codeGen/StgCmmMonad.hs
compiler/codeGen/StgCmmPrim.hs
compiler/codeGen/StgCmmProf.hs
compiler/codeGen/StgCmmTicky.hs
compiler/codeGen/StgCmmUtils.hs
compiler/coreSyn/CoreArity.hs
compiler/coreSyn/CoreFVs.hs
compiler/coreSyn/CoreLint.hs
compiler/coreSyn/CoreOpt.hs
compiler/coreSyn/CorePrep.hs
compiler/coreSyn/CoreSeq.hs
compiler/coreSyn/CoreStats.hs
compiler/coreSyn/CoreSubst.hs
compiler/coreSyn/CoreSyn.hs
compiler/coreSyn/CoreTidy.hs
compiler/coreSyn/CoreUnfold.hs
compiler/coreSyn/CoreUtils.hs
compiler/coreSyn/MkCore.hs
compiler/coreSyn/PprCore.hs
compiler/coreSyn/TrieMap.hs
compiler/deSugar/Check.hs
compiler/deSugar/Coverage.hs
compiler/deSugar/Desugar.hs
compiler/deSugar/DsArrows.hs
compiler/deSugar/DsBinds.hs
compiler/deSugar/DsCCall.hs
compiler/deSugar/DsExpr.hs
compiler/deSugar/DsForeign.hs
compiler/deSugar/DsGRHSs.hs
compiler/deSugar/DsListComp.hs
compiler/deSugar/DsMeta.hs
compiler/deSugar/DsMonad.hs
compiler/deSugar/DsUsage.hs
compiler/deSugar/DsUtils.hs
compiler/deSugar/Match.hs
compiler/deSugar/Match.hs-boot
compiler/deSugar/MatchCon.hs
compiler/deSugar/MatchLit.hs
compiler/deSugar/PmExpr.hs
compiler/deSugar/TmOracle.hs
compiler/ghc.cabal.in
compiler/ghc.mk
compiler/ghci/ByteCodeAsm.hs
compiler/ghci/ByteCodeGen.hs
compiler/ghci/ByteCodeInstr.hs
compiler/ghci/ByteCodeItbls.hs
compiler/ghci/ByteCodeLink.hs
compiler/ghci/ByteCodeTypes.hs
compiler/ghci/Debugger.hs
compiler/ghci/DebuggerUtils.hs
compiler/ghci/GHCi.hs
compiler/ghci/Linker.hs
compiler/ghci/RtClosureInspect.hs
compiler/hsSyn/Convert.hs
compiler/hsSyn/HsBinds.hs
compiler/hsSyn/HsDecls.hs
compiler/hsSyn/HsDoc.hs
compiler/hsSyn/HsDumpAst.hs
compiler/hsSyn/HsExpr.hs
compiler/hsSyn/HsExtension.hs
compiler/hsSyn/HsImpExp.hs
compiler/hsSyn/HsLit.hs
compiler/hsSyn/HsPat.hs
compiler/hsSyn/HsSyn.hs
compiler/hsSyn/HsTypes.hs
compiler/hsSyn/HsUtils.hs
compiler/hsSyn/PlaceHolder.hs
compiler/iface/BinFingerprint.hs
compiler/iface/BinIface.hs
compiler/iface/BuildTyCl.hs
compiler/iface/FlagChecker.hs
compiler/iface/IfaceEnv.hs
compiler/iface/IfaceSyn.hs
compiler/iface/IfaceType.hs
compiler/iface/LoadIface.hs
compiler/iface/MkIface.hs
compiler/iface/TcIface.hs
compiler/iface/TcIface.hs-boot
compiler/iface/ToIface.hs
compiler/llvmGen/Llvm/AbsSyn.hs
compiler/llvmGen/Llvm/MetaData.hs
compiler/llvmGen/Llvm/PpLlvm.hs
compiler/llvmGen/Llvm/Types.hs
compiler/llvmGen/LlvmCodeGen.hs
compiler/llvmGen/LlvmCodeGen/Base.hs
compiler/llvmGen/LlvmCodeGen/CodeGen.hs
compiler/llvmGen/LlvmCodeGen/Data.hs
compiler/llvmGen/LlvmCodeGen/Ppr.hs
compiler/llvmGen/LlvmCodeGen/Regs.hs
compiler/llvmGen/LlvmMangler.hs
compiler/main/Annotations.hs
compiler/main/Ar.hs
compiler/main/CmdLineParser.hs
compiler/main/CodeOutput.hs
compiler/main/Constants.hs
compiler/main/DriverMkDepend.hs
compiler/main/DriverPhases.hs
compiler/main/DriverPipeline.hs
compiler/main/DynFlags.hs
compiler/main/DynFlags.hs-boot
compiler/main/DynamicLoading.hs
compiler/main/Elf.hs
compiler/main/ErrUtils.hs
compiler/main/ErrUtils.hs-boot
compiler/main/FileCleanup.hs
compiler/main/Finder.hs
compiler/main/GHC.hs
compiler/main/GhcMake.hs
compiler/main/GhcMonad.hs
compiler/main/HeaderInfo.hs
compiler/main/Hooks.hs
compiler/main/Hooks.hs-boot
compiler/main/HscMain.hs
compiler/main/HscStats.hs
compiler/main/HscTypes.hs
compiler/main/InteractiveEval.hs
compiler/main/InteractiveEvalTypes.hs
compiler/main/PackageConfig.hs
compiler/main/Packages.hs
compiler/main/Packages.hs-boot
compiler/main/PipelineMonad.hs
compiler/main/PlatformConstants.hs
compiler/main/Plugins.hs
compiler/main/PprTyThing.hs
compiler/main/StaticPtrTable.hs
compiler/main/SysTools.hs
compiler/main/SysTools/Terminal.hs
compiler/main/TidyPgm.hs
compiler/nativeGen/AsmCodeGen.hs
compiler/nativeGen/CPrim.hs
compiler/nativeGen/Dwarf.hs
compiler/nativeGen/Dwarf/Constants.hs
compiler/nativeGen/Dwarf/Types.hs
compiler/nativeGen/Format.hs
compiler/nativeGen/Instruction.hs
compiler/nativeGen/NCGMonad.hs
compiler/nativeGen/PIC.hs
compiler/nativeGen/PPC/CodeGen.hs
compiler/nativeGen/PPC/Cond.hs
compiler/nativeGen/PPC/Instr.hs
compiler/nativeGen/PPC/Ppr.hs
compiler/nativeGen/PPC/RegInfo.hs
compiler/nativeGen/PPC/Regs.hs
compiler/nativeGen/PprBase.hs
compiler/nativeGen/Reg.hs
compiler/nativeGen/RegAlloc/Graph/ArchBase.hs
compiler/nativeGen/RegAlloc/Graph/ArchX86.hs
compiler/nativeGen/RegAlloc/Graph/Coalesce.hs
compiler/nativeGen/RegAlloc/Graph/Main.hs
compiler/nativeGen/RegAlloc/Graph/Spill.hs
compiler/nativeGen/RegAlloc/Graph/SpillClean.hs
compiler/nativeGen/RegAlloc/Graph/SpillCost.hs
compiler/nativeGen/RegAlloc/Graph/Stats.hs
compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs
compiler/nativeGen/RegAlloc/Linear/Base.hs
compiler/nativeGen/RegAlloc/Linear/FreeRegs.hs
compiler/nativeGen/RegAlloc/Linear/JoinToTargets.hs
compiler/nativeGen/RegAlloc/Linear/Main.hs
compiler/nativeGen/RegAlloc/Linear/PPC/FreeRegs.hs
compiler/nativeGen/RegAlloc/Linear/SPARC/FreeRegs.hs
compiler/nativeGen/RegAlloc/Linear/StackMap.hs
compiler/nativeGen/RegAlloc/Linear/State.hs
compiler/nativeGen/RegAlloc/Linear/Stats.hs
compiler/nativeGen/RegAlloc/Linear/X86/FreeRegs.hs
compiler/nativeGen/RegAlloc/Linear/X86_64/FreeRegs.hs
compiler/nativeGen/RegAlloc/Liveness.hs
compiler/nativeGen/RegClass.hs
compiler/nativeGen/SPARC/AddrMode.hs
compiler/nativeGen/SPARC/Base.hs
compiler/nativeGen/SPARC/CodeGen.hs
compiler/nativeGen/SPARC/CodeGen/Amode.hs
compiler/nativeGen/SPARC/CodeGen/Base.hs
compiler/nativeGen/SPARC/CodeGen/CondCode.hs
compiler/nativeGen/SPARC/CodeGen/Expand.hs
compiler/nativeGen/SPARC/CodeGen/Gen32.hs
compiler/nativeGen/SPARC/CodeGen/Gen64.hs
compiler/nativeGen/SPARC/CodeGen/Sanity.hs
compiler/nativeGen/SPARC/Cond.hs
compiler/nativeGen/SPARC/Imm.hs
compiler/nativeGen/SPARC/Instr.hs
compiler/nativeGen/SPARC/Ppr.hs
compiler/nativeGen/SPARC/Regs.hs
compiler/nativeGen/SPARC/ShortcutJump.hs
compiler/nativeGen/SPARC/Stack.hs
compiler/nativeGen/TargetReg.hs
compiler/nativeGen/X86/CodeGen.hs
compiler/nativeGen/X86/Cond.hs
compiler/nativeGen/X86/Instr.hs
compiler/nativeGen/X86/Ppr.hs
compiler/nativeGen/X86/RegInfo.hs
compiler/nativeGen/X86/Regs.hs
compiler/parser/ApiAnnotation.hs
compiler/parser/Ctype.hs
compiler/parser/HaddockUtils.hs
compiler/parser/Lexer.x
compiler/parser/Parser.y
compiler/parser/RdrHsSyn.hs
compiler/prelude/ForeignCall.hs
compiler/prelude/KnownUniques.hs
compiler/prelude/KnownUniques.hs-boot
compiler/prelude/PrelInfo.hs
compiler/prelude/PrelNames.hs
compiler/prelude/PrelRules.hs
compiler/prelude/PrimOp.hs
compiler/prelude/PrimOp.hs-boot
compiler/prelude/THNames.hs
compiler/prelude/TysPrim.hs
compiler/prelude/TysWiredIn.hs
compiler/profiling/CostCentre.hs
compiler/profiling/ProfInit.hs
compiler/profiling/SCCfinal.hs
compiler/rename/RnBinds.hs
compiler/rename/RnEnv.hs
compiler/rename/RnExpr.hs
compiler/rename/RnFixity.hs
compiler/rename/RnHsDoc.hs
compiler/rename/RnNames.hs
compiler/rename/RnPat.hs
compiler/rename/RnSource.hs
compiler/rename/RnSplice.hs
compiler/rename/RnSplice.hs-boot
compiler/rename/RnTypes.hs
compiler/rename/RnUnbound.hs
compiler/rename/RnUtils.hs
compiler/simplCore/CSE.hs
compiler/simplCore/CallArity.hs
compiler/simplCore/CoreMonad.hs
compiler/simplCore/FloatIn.hs
compiler/simplCore/FloatOut.hs
compiler/simplCore/LiberateCase.hs
compiler/simplCore/OccurAnal.hs
compiler/simplCore/SAT.hs
compiler/simplCore/SetLevels.hs
compiler/simplCore/SimplCore.hs
compiler/simplCore/SimplEnv.hs
compiler/simplCore/SimplMonad.hs
compiler/simplCore/SimplUtils.hs
compiler/simplCore/Simplify.hs
compiler/simplStg/RepType.hs
compiler/simplStg/SimplStg.hs
compiler/simplStg/StgCse.hs
compiler/simplStg/StgStats.hs
compiler/simplStg/UnariseStg.hs
compiler/specialise/Rules.hs
compiler/specialise/SpecConstr.hs
compiler/specialise/Specialise.hs
compiler/stgSyn/CoreToStg.hs
compiler/stgSyn/StgLint.hs
compiler/stgSyn/StgSyn.hs
compiler/stranal/DmdAnal.hs
compiler/stranal/WorkWrap.hs
compiler/stranal/WwLib.hs
compiler/typecheck/FamInst.hs
compiler/typecheck/FunDeps.hs
compiler/typecheck/Inst.hs
compiler/typecheck/TcAnnotations.hs
compiler/typecheck/TcArrows.hs
compiler/typecheck/TcBackpack.hs
compiler/typecheck/TcBinds.hs
compiler/typecheck/TcCanonical.hs
compiler/typecheck/TcClassDcl.hs
compiler/typecheck/TcDefaults.hs
compiler/typecheck/TcDeriv.hs
compiler/typecheck/TcDerivInfer.hs
compiler/typecheck/TcDerivUtils.hs
compiler/typecheck/TcEnv.hs
compiler/typecheck/TcErrors.hs
compiler/typecheck/TcEvidence.hs
compiler/typecheck/TcExpr.hs
compiler/typecheck/TcFlatten.hs
compiler/typecheck/TcForeign.hs
compiler/typecheck/TcGenDeriv.hs
compiler/typecheck/TcGenFunctor.hs
compiler/typecheck/TcGenGenerics.hs
compiler/typecheck/TcHsSyn.hs
compiler/typecheck/TcHsType.hs
compiler/typecheck/TcInstDcls.hs
compiler/typecheck/TcInteract.hs
compiler/typecheck/TcMType.hs
compiler/typecheck/TcMatches.hs
compiler/typecheck/TcPat.hs
compiler/typecheck/TcPatSyn.hs
compiler/typecheck/TcPluginM.hs
compiler/typecheck/TcRnDriver.hs
compiler/typecheck/TcRnDriver.hs-boot
compiler/typecheck/TcRnExports.hs
compiler/typecheck/TcRnMonad.hs
compiler/typecheck/TcRnTypes.hs
compiler/typecheck/TcRules.hs
compiler/typecheck/TcSMonad.hs
compiler/typecheck/TcSigs.hs
compiler/typecheck/TcSimplify.hs
compiler/typecheck/TcSplice.hs
compiler/typecheck/TcSplice.hs-boot
compiler/typecheck/TcTyClsDecls.hs
compiler/typecheck/TcTyDecls.hs
compiler/typecheck/TcType.hs
compiler/typecheck/TcTypeNats.hs
compiler/typecheck/TcTypeable.hs
compiler/typecheck/TcUnify.hs
compiler/typecheck/TcUnify.hs-boot
compiler/typecheck/TcValidity.hs
compiler/types/Class.hs
compiler/types/CoAxiom.hs
compiler/types/Coercion.hs
compiler/types/Coercion.hs-boot
compiler/types/FamInstEnv.hs
compiler/types/InstEnv.hs
compiler/types/Kind.hs
compiler/types/OptCoercion.hs
compiler/types/TyCoRep.hs
compiler/types/TyCon.hs
compiler/types/TyCon.hs-boot
compiler/types/Type.hs
compiler/types/Type.hs-boot
compiler/types/Unify.hs
compiler/utils/AsmUtils.hs
compiler/utils/Bag.hs
compiler/utils/Binary.hs
compiler/utils/BooleanFormula.hs
compiler/utils/BufWrite.hs
compiler/utils/Digraph.hs
compiler/utils/Encoding.hs
compiler/utils/EnumSet.hs
compiler/utils/Exception.hs
compiler/utils/FV.hs
compiler/utils/FastFunctions.hs
compiler/utils/FastMutInt.hs
compiler/utils/FastString.hs
compiler/utils/FastStringEnv.hs
compiler/utils/Fingerprint.hsc
compiler/utils/FiniteMap.hs
compiler/utils/GhcPrelude.hs [new file with mode: 0644]
compiler/utils/GraphBase.hs
compiler/utils/GraphColor.hs
compiler/utils/GraphOps.hs
compiler/utils/GraphPpr.hs
compiler/utils/IOEnv.hs
compiler/utils/Json.hs
compiler/utils/ListSetOps.hs
compiler/utils/ListT.hs
compiler/utils/Maybes.hs
compiler/utils/MonadUtils.hs
compiler/utils/OrdList.hs
compiler/utils/Outputable.hs
compiler/utils/Outputable.hs-boot
compiler/utils/Pair.hs
compiler/utils/Panic.hs
compiler/utils/Platform.hs
compiler/utils/PprColour.hs
compiler/utils/Pretty.hs
compiler/utils/State.hs
compiler/utils/Stream.hs
compiler/utils/StringBuffer.hs
compiler/utils/UnVarGraph.hs
compiler/utils/UniqDFM.hs
compiler/utils/UniqDSet.hs
compiler/utils/UniqFM.hs
compiler/utils/UniqMap.hs
compiler/utils/UniqSet.hs
compiler/utils/Util.hs
compiler/vectorise/Vectorise.hs
compiler/vectorise/Vectorise/Builtins/Base.hs
compiler/vectorise/Vectorise/Builtins/Initialise.hs
compiler/vectorise/Vectorise/Convert.hs
compiler/vectorise/Vectorise/Env.hs
compiler/vectorise/Vectorise/Exp.hs
compiler/vectorise/Vectorise/Generic/Description.hs
compiler/vectorise/Vectorise/Generic/PADict.hs
compiler/vectorise/Vectorise/Generic/PAMethods.hs
compiler/vectorise/Vectorise/Generic/PData.hs
compiler/vectorise/Vectorise/Monad.hs
compiler/vectorise/Vectorise/Monad/Base.hs
compiler/vectorise/Vectorise/Monad/Global.hs
compiler/vectorise/Vectorise/Monad/InstEnv.hs
compiler/vectorise/Vectorise/Monad/Local.hs
compiler/vectorise/Vectorise/Monad/Naming.hs
compiler/vectorise/Vectorise/Type/Classify.hs
compiler/vectorise/Vectorise/Type/Env.hs
compiler/vectorise/Vectorise/Type/TyConDecl.hs
compiler/vectorise/Vectorise/Type/Type.hs
compiler/vectorise/Vectorise/Utils.hs
compiler/vectorise/Vectorise/Utils/Base.hs
compiler/vectorise/Vectorise/Utils/Closure.hs
compiler/vectorise/Vectorise/Utils/Hoisting.hs
compiler/vectorise/Vectorise/Utils/PADict.hs
compiler/vectorise/Vectorise/Utils/Poly.hs
compiler/vectorise/Vectorise/Var.hs
compiler/vectorise/Vectorise/Vect.hs

index 842c0df..67905c6 100644 (file)
@@ -17,6 +17,8 @@ module BkpSyn (
     LRenaming, Renaming(..),
     ) where
 
+import GhcPrelude
+
 import HsSyn
 import SrcLoc
 import Outputable
index 4324e57..7784df2 100644 (file)
@@ -18,6 +18,8 @@ module DriverBkp (doBackpack) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 -- In a separate module because it hooks into the parser.
 import BkpSyn
 
index 6ec243e..a1a0b18 100644 (file)
@@ -12,6 +12,8 @@ module NameShape(
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Outputable
 import HscTypes
 import Module
index e3da067..1691706 100644 (file)
@@ -15,6 +15,8 @@ module RnModIface(
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import SrcLoc
 import Outputable
 import HscTypes
index 2d4a234..673d2fb 100644 (file)
@@ -26,6 +26,8 @@ module Avail (
 
   ) where
 
+import GhcPrelude
+
 import Name
 import NameEnv
 import NameSet
index 3e556a1..d8c3eb7 100644 (file)
@@ -109,6 +109,8 @@ module BasicTypes(
         SpliceExplicitFlag(..)
    ) where
 
+import GhcPrelude
+
 import FastString
 import Outputable
 import SrcLoc ( Located,unLoc )
index aa6a362..f1fc03b 100644 (file)
@@ -26,6 +26,8 @@ module ConLike (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import DataCon
 import PatSyn
 import Outputable
index fa8e0a8..9366c2b 100644 (file)
@@ -61,6 +61,8 @@ module DataCon (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import {-# SOURCE #-} MkId( DataConBoxer )
 import Type
 import ForeignCall ( CType )
index 0938b9b..95216b0 100644 (file)
@@ -1,4 +1,6 @@
 module DataCon where
+
+import GhcPrelude
 import Var( TyVar, TyVarBinder )
 import Name( Name, NamedThing )
 import {-# SOURCE #-} TyCon( TyCon )
index 3a83cd9..0b0da13 100644 (file)
@@ -62,6 +62,8 @@ module Demand (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import DynFlags
 import Outputable
 import Var ( Var )
index 8548fd2..d73dbd3 100644 (file)
@@ -69,6 +69,8 @@ module FieldLabel ( FieldLabelString
                   , mkFieldLabelOccs
                   ) where
 
+import GhcPrelude
+
 import OccName
 import Name
 
index 0529077..7da61f8 100644 (file)
@@ -116,6 +116,8 @@ module Id (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import DynFlags
 import CoreSyn ( CoreRule, isStableUnfolding, evaldUnfolding, Unfolding( NoUnfolding ) )
 
index bd6ec8f..07f8814 100644 (file)
@@ -82,6 +82,8 @@ module IdInfo (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import CoreSyn
 
 import Class
index 0fabad3..cacfe6a 100644 (file)
@@ -1,4 +1,5 @@
 module IdInfo where
+import GhcPrelude
 import Outputable
 data IdInfo
 data IdDetails
index dadc79c..74f6e6c 100644 (file)
@@ -27,6 +27,8 @@ module Lexeme (
 
   ) where
 
+import GhcPrelude
+
 import FastString
 
 import Data.Char
index 1c06350..f81f452 100644 (file)
@@ -44,6 +44,8 @@ module Literal
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import TysPrim
 import PrelNames
 import Type
index a404e74..03ab04a 100644 (file)
@@ -39,6 +39,8 @@ module MkId (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Rules
 import TysPrim
 import TysWiredIn
index ab1f391..7fec612 100644 (file)
@@ -137,6 +137,8 @@ module Module
         unitModuleSet
     ) where
 
+import GhcPrelude
+
 import Config
 import Outputable
 import Unique
index 734855a..36e8abf 100644 (file)
@@ -1,4 +1,6 @@
 module Module where
+
+import GhcPrelude
 import FastString
 
 data Module
index d9326f1..2e35290 100644 (file)
@@ -77,6 +77,8 @@ module Name (
         module OccName
     ) where
 
+import GhcPrelude
+
 import {-# SOURCE #-} TyCoRep( TyThing )
 import {-# SOURCE #-} PrelNames( starKindTyConKey, unicodeStarKindTyConKey )
 
index c4eeca4..54efe68 100644 (file)
@@ -1,3 +1,5 @@
 module Name where
 
+import GhcPrelude ()
+
 data Name
index 589c7c4..20f3c15 100644 (file)
@@ -10,6 +10,8 @@ module NameCache
     , NameCache(..), OrigNameCache
     ) where
 
+import GhcPrelude
+
 import Module
 import Name
 import UniqSupply
index cca771a..632ea77 100644 (file)
@@ -33,6 +33,8 @@ module NameEnv (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Digraph
 import Name
 import UniqFM
index 57de81c..3ec09c7 100644 (file)
@@ -33,6 +33,8 @@ module NameSet (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Name
 import UniqSet
 import Data.List (sortBy)
index 0fa2749..f6a66fd 100644 (file)
@@ -105,6 +105,8 @@ module OccName (
         FastStringEnv, emptyFsEnv, lookupFsEnv, extendFsEnv, mkFsEnv
     ) where
 
+import GhcPrelude
+
 import Util
 import Unique
 import DynFlags
index c6fa885..31d77a4 100644 (file)
@@ -1,3 +1,5 @@
 module OccName where
 
+import GhcPrelude ()
+
 data OccName
index d59810b..5a74a5b 100644 (file)
@@ -24,6 +24,8 @@ module PatSyn (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Type
 import Name
 import Outputable
index 5f49605..84ece4e 100644 (file)
@@ -67,6 +67,8 @@ module RdrName (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Module
 import Name
 import Avail
index 3d3db95..5a0159e 100644 (file)
@@ -77,6 +77,8 @@ module SrcLoc (
         spans, isSubspanOf, sortLocated
     ) where
 
+import GhcPrelude
+
 import Util
 import Json
 import Outputable
index da1a924..83e54a7 100644 (file)
@@ -29,6 +29,8 @@ module UniqSupply (
         initUniqSupply
   ) where
 
+import GhcPrelude
+
 import Unique
 
 import GHC.IO
index a49fa80..a2792e1 100644 (file)
@@ -68,6 +68,8 @@ module Unique (
 #include "HsVersions.h"
 #include "Unique.h"
 
+import GhcPrelude
+
 import BasicTypes
 import FastString
 import Outputable
index 9a39e29..1bf60ca 100644 (file)
@@ -82,6 +82,8 @@ module Var (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import {-# SOURCE #-}   TyCoRep( Type, Kind, pprKind )
 import {-# SOURCE #-}   TcType( TcTyVarDetails, pprTcTyVarDetails, vanillaSkolemTv )
 import {-# SOURCE #-}   IdInfo( IdDetails, IdInfo, coVarDetails, isCoVarDetails,
index e22c207..f8ab574 100644 (file)
@@ -73,6 +73,8 @@ module VarEnv (
         emptyTidyEnv
     ) where
 
+import GhcPrelude
+
 import OccName
 import Var
 import VarSet
index 710cb0d..ac3c545 100644 (file)
@@ -45,6 +45,8 @@ module VarSet (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Var      ( Var, TyVar, CoVar, TyCoVar, Id )
 import Unique
 import Name     ( Name )
index a5cff38..6ff6193 100644 (file)
@@ -18,6 +18,8 @@ module Bitmap (
 #include "HsVersions.h"
 #include "../includes/MachDeps.h"
 
+import GhcPrelude
+
 import SMRep
 import DynFlags
 import Util
index afc265d..478affe 100644 (file)
@@ -8,6 +8,8 @@ module BlockId
   , blockLbl, infoTblLbl
   ) where
 
+import GhcPrelude
+
 import CLabel
 import IdInfo
 import Name
index 62c8037..28146ec 100644 (file)
@@ -115,6 +115,8 @@ module CLabel (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import IdInfo
 import BasicTypes
 import Packages
index dbd5423..c9ecda8 100644 (file)
@@ -26,6 +26,8 @@ module Cmm (
      module CmmExpr,
   ) where
 
+import GhcPrelude
+
 import CLabel
 import BlockId
 import CmmNode
index 5dd8ee4..a482306 100644 (file)
@@ -7,6 +7,8 @@ where
 
 #include "HsVersions.h"
 
+import GhcPrelude hiding (succ)
+
 import Hoopl.Block
 import Hoopl.Graph
 import Hoopl.Label
@@ -34,9 +36,6 @@ import Data.Set (Set)
 import qualified Data.Set as Set
 import Control.Monad
 
-import qualified Prelude as P
-import Prelude hiding (succ)
-
 foldSet :: (a -> b -> b) -> b -> Set a -> b
 foldSet = Set.foldr
 
@@ -220,7 +219,7 @@ procpointSRT dflags top_srt top_table entries =
     sorted_ints = sort ints
     offset = head sorted_ints
     bitmap_entries = map (subtract offset) sorted_ints
-    len = P.last bitmap_entries + 1
+    len = GhcPrelude.last bitmap_entries + 1
     bitmap = intsToBitmap dflags len bitmap_entries
 
 maxBmpSize :: DynFlags -> Int
index 440ee56..0e89ce7 100644 (file)
@@ -9,6 +9,8 @@ module CmmCallConv (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import CmmExpr
 import SMRep
 import Cmm (Convention(..))
index 3c23e70..f635520 100644 (file)
@@ -5,13 +5,14 @@ module CmmCommonBlockElim
 where
 
 
+import GhcPrelude hiding (iterate, succ, unzip, zip)
+
 import BlockId
 import Cmm
 import CmmUtils
 import CmmSwitch (eqSwitchTargetWith)
 import CmmContFlowOpt
 -- import PprCmm ()
-import Prelude hiding (iterate, succ, unzip, zip)
 
 import Hoopl.Block
 import Hoopl.Graph
index 7981671..7e1689f 100644 (file)
@@ -9,6 +9,8 @@ module CmmContFlowOpt
     )
 where
 
+import GhcPrelude hiding (succ, unzip, zip)
+
 import Hoopl.Block
 import Hoopl.Collections
 import Hoopl.Graph
@@ -22,7 +24,6 @@ import Panic
 import Util
 
 import Control.Monad
-import Prelude hiding (succ, unzip, zip)
 
 
 -- Note [What is shortcutting]
index bb610a0..6a0220e 100644 (file)
@@ -28,6 +28,8 @@ module CmmExpr
     )
 where
 
+import GhcPrelude
+
 import BlockId
 import CLabel
 import CmmMachOp
index eda031e..2e2da5d 100644 (file)
@@ -4,6 +4,8 @@ module CmmImplementSwitchPlans
   )
 where
 
+import GhcPrelude
+
 import Hoopl.Block
 import BlockId
 import Cmm
index e849c81..6d3e11c 100644 (file)
@@ -34,6 +34,8 @@ module CmmInfo (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Cmm
 import CmmUtils
 import CLabel
index 4151aa0..b2d74b2 100644 (file)
@@ -3,6 +3,8 @@ module CmmLayoutStack (
        cmmLayoutStack, setInfoTableStackMap
   ) where
 
+import GhcPrelude hiding ((<*>))
+
 import StgCmmUtils      ( callerSaveVolatileRegs ) -- XXX layering violation
 import StgCmmForeign    ( saveThreadState, loadThreadState ) -- XXX layering violation
 
@@ -37,8 +39,6 @@ import Data.Array as Array
 import Data.Bits
 import Data.List (nub)
 
-import Prelude hiding ((<*>))
-
 #include "HsVersions.h"
 
 {- Note [Stack Layout]
index 82f7bee..a68f155 100644 (file)
@@ -22,6 +22,8 @@ module CmmLex (
    CmmToken(..), cmmlex,
   ) where
 
+import GhcPrelude
+
 import CmmExpr
 
 import Lexer
index 64b4400..3224bb8 100644 (file)
@@ -10,6 +10,8 @@ module CmmLint (
     cmmLint, cmmLintGraph
   ) where
 
+import GhcPrelude
+
 import Hoopl.Block
 import Hoopl.Collections
 import Hoopl.Graph
index 944a9e3..f340c32 100644 (file)
@@ -12,6 +12,8 @@ module CmmLive
     )
 where
 
+import GhcPrelude
+
 import DynFlags
 import BlockId
 import Cmm
index d736f14..febb315 100644 (file)
@@ -30,6 +30,8 @@ where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import CmmType
 import Outputable
 import DynFlags
index e225d7d..f3b4441 100644 (file)
@@ -12,6 +12,8 @@ module CmmMonad (
   , liftP
   ) where
 
+import GhcPrelude
+
 import Control.Monad
 import qualified Control.Monad.Fail as MonadFail
 
index f452b0b..286b1e3 100644 (file)
@@ -22,6 +22,8 @@ module CmmNode (
      CmmTickScope(..), isTickSubScope, combineTickScopes,
   ) where
 
+import GhcPrelude hiding (succ)
+
 import CodeGen.Platform
 import CmmExpr
 import CmmSwitch
@@ -38,7 +40,6 @@ import Hoopl.Graph
 import Hoopl.Label
 import Data.Maybe
 import Data.List (tails,sortBy)
-import Prelude hiding (succ)
 import Unique (nonDetCmpUnique)
 import Util
 
index 78a1867..4b1c8d0 100644 (file)
@@ -21,6 +21,8 @@ module CmmOpt (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import CmmUtils
 import Cmm
 import DynFlags
index e2fe593..96019d2 100644 (file)
@@ -200,6 +200,8 @@ necessary to the stack to accommodate it (e.g. 2).
 {
 module CmmParse ( parseCmmFile ) where
 
+import GhcPrelude
+
 import StgCmmExtCode
 import CmmCallConv
 import StgCmmProf
index edcaf7b..4d109a4 100644 (file)
@@ -7,6 +7,8 @@ module CmmPipeline (
   cmmPipeline
 ) where
 
+import GhcPrelude
+
 import Cmm
 import CmmLint
 import CmmBuildInfoTables
index 5d611d1..68f80db 100644 (file)
@@ -8,7 +8,7 @@ module CmmProcPoint
     )
 where
 
-import Prelude hiding (last, unzip, succ, zip)
+import GhcPrelude hiding (last, unzip, succ, zip)
 
 import DynFlags
 import BlockId
index 517605b..a674e54 100644 (file)
@@ -3,6 +3,8 @@ module CmmSink (
      cmmSink
   ) where
 
+import GhcPrelude
+
 import Cmm
 import CmmOpt
 import CmmLive
index b0ca4be..53d00de 100644 (file)
@@ -11,6 +11,8 @@ module CmmSwitch (
      createSwitchPlan,
   ) where
 
+import GhcPrelude
+
 import Outputable
 import DynFlags
 import Hoopl.Label (Label)
index 4abbeaf..cb15dc7 100644 (file)
@@ -31,6 +31,8 @@ where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import DynFlags
 import FastString
 import Outputable
index b22639e..d42ca92 100644 (file)
@@ -64,6 +64,8 @@ module CmmUtils(
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import TyCon    ( PrimRep(..), PrimElemRep(..) )
 import RepType  ( UnaryType, SlotTy (..), typePrimRep1 )
 
index 33595d8..e5f86fa 100644 (file)
@@ -22,6 +22,8 @@ module Debug (
   UnwindExpr(..), toUnwindExpr
   ) where
 
+import GhcPrelude
+
 import BlockId
 import CLabel
 import Cmm
index 3623fcd..c4ff179 100644 (file)
@@ -33,6 +33,7 @@ module Hoopl.Block
     , replaceLastNode
     ) where
 
+import GhcPrelude
 
 -- -----------------------------------------------------------------------------
 -- Shapes: Open and Closed
index 6790576..be28849 100644 (file)
@@ -6,6 +6,8 @@ module Hoopl.Collections
     , mapInsertList, mapDeleteList, mapUnions
     ) where
 
+import GhcPrelude
+
 import Data.List (foldl', foldl1')
 
 class IsSet set where
index c2ace50..b2a7716 100644 (file)
@@ -33,6 +33,8 @@ module Hoopl.Dataflow
   )
 where
 
+import GhcPrelude
+
 import Cmm
 import UniqSupply
 
index 87da072..9a492d6 100644 (file)
@@ -18,6 +18,8 @@ module Hoopl.Graph
     ) where
 
 
+import GhcPrelude
+
 import Hoopl.Label
 import Hoopl.Block
 import Hoopl.Collections
index 5ee4f72..e28f92b 100644 (file)
@@ -11,6 +11,8 @@ module Hoopl.Label
     , uniqueToLbl
     ) where
 
+import GhcPrelude
+
 import Outputable
 
 import Hoopl.Collections
index f27961b..f6fff98 100644 (file)
@@ -9,6 +9,8 @@ module Hoopl.Unique
     , intToUnique
     ) where
 
+import GhcPrelude
+
 import qualified Data.IntMap as M
 import qualified Data.IntSet as S
 
index 62dfd34..f130f1b 100644 (file)
@@ -21,6 +21,8 @@ module MkGraph
   )
 where
 
+import GhcPrelude (($),Int,Bool,Eq(..)) -- avoid importing (<*>)
+
 import BlockId
 import Cmm
 import CmmCallConv
@@ -39,7 +41,6 @@ import UniqSupply
 import Control.Monad
 import Data.List
 import Data.Maybe
-import Prelude (($),Int,Bool,Eq(..)) -- avoid importing (<*>)
 
 #include "HsVersions.h"
 
index 7d36c12..e59a3ad 100644 (file)
@@ -26,6 +26,8 @@ module PprC (
 #include "HsVersions.h"
 
 -- Cmm stuff
+import GhcPrelude
+
 import BlockId
 import CLabel
 import ForeignCall
index dbd4619..6769fc0 100644 (file)
@@ -39,6 +39,8 @@ module PprCmm
   )
 where
 
+import GhcPrelude hiding (succ)
+
 import BlockId ()
 import CLabel
 import Cmm
@@ -55,8 +57,6 @@ import PprCore ()
 import BasicTypes
 import Hoopl.Block
 import Hoopl.Graph
-import Data.List
-import Prelude hiding (succ)
 
 -------------------------------------------------
 -- Outputable instances
index ce8fb0d..968e872 100644 (file)
@@ -40,6 +40,8 @@ module PprCmmDecl
     )
 where
 
+import GhcPrelude
+
 import PprCmmExpr
 import Cmm
 
index 77c9240..9e91a74 100644 (file)
@@ -38,6 +38,8 @@ module PprCmmExpr
     )
 where
 
+import GhcPrelude
+
 import CmmExpr
 
 import Outputable
index d40af4f..34048fe 100644 (file)
@@ -50,6 +50,8 @@ module SMRep (
 #include "../HsVersions.h"
 #include "../includes/MachDeps.h"
 
+import GhcPrelude
+
 import BasicTypes( ConTagZ )
 import DynFlags
 import Outputable
index 7184153..a9f13c6 100644 (file)
@@ -12,6 +12,8 @@ module CgUtils ( fixStgRegisters ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import CodeGen.Platform
 import Cmm
 import Hoopl.Block
index 80452d0..3014a05 100644 (file)
@@ -3,6 +3,8 @@ module CodeGen.Platform
        (callerSaves, activeStgRegs, haveRegBase, globalRegMaybe, freeReg)
        where
 
+import GhcPrelude
+
 import CmmExpr
 import Platform
 import Reg
index 5d11484..a2cb476 100644 (file)
@@ -2,6 +2,8 @@
 
 module CodeGen.Platform.ARM where
 
+import GhcPrelude
+
 #define MACHREGS_NO_REGS 0
 #define MACHREGS_arm 1
 #include "../../../../includes/CodeGen.Platform.hs"
index c3ebeda..6ace181 100644 (file)
@@ -2,6 +2,8 @@
 
 module CodeGen.Platform.ARM64 where
 
+import GhcPrelude
+
 #define MACHREGS_NO_REGS 0
 #define MACHREGS_aarch64 1
 #include "../../../../includes/CodeGen.Platform.hs"
index 0c85ffb..4c074ee 100644 (file)
@@ -2,6 +2,8 @@
 
 module CodeGen.Platform.NoRegs where
 
+import GhcPrelude
+
 #define MACHREGS_NO_REGS 1
 #include "../../../../includes/CodeGen.Platform.hs"
 
index 76a2b02..f7eae6b 100644 (file)
@@ -2,6 +2,8 @@
 
 module CodeGen.Platform.PPC where
 
+import GhcPrelude
+
 #define MACHREGS_NO_REGS 0
 #define MACHREGS_powerpc 1
 #include "../../../../includes/CodeGen.Platform.hs"
index a98e558..91923fd 100644 (file)
@@ -2,6 +2,8 @@
 
 module CodeGen.Platform.PPC_Darwin where
 
+import GhcPrelude
+
 #define MACHREGS_NO_REGS 0
 #define MACHREGS_powerpc 1
 #define MACHREGS_darwin 1
index 991f515..5d8dbb1 100644 (file)
@@ -2,6 +2,8 @@
 
 module CodeGen.Platform.SPARC where
 
+import GhcPrelude
+
 #define MACHREGS_NO_REGS 0
 #define MACHREGS_sparc 1
 #include "../../../../includes/CodeGen.Platform.hs"
index e74807f..84d52c1 100644 (file)
@@ -2,6 +2,8 @@
 
 module CodeGen.Platform.X86 where
 
+import GhcPrelude
+
 #define MACHREGS_NO_REGS 0
 #define MACHREGS_i386 1
 #include "../../../../includes/CodeGen.Platform.hs"
index 102132d..1b2b554 100644 (file)
@@ -2,6 +2,8 @@
 
 module CodeGen.Platform.X86_64 where
 
+import GhcPrelude
+
 #define MACHREGS_NO_REGS 0
 #define MACHREGS_x86_64 1
 #include "../../../../includes/CodeGen.Platform.hs"
index d92b410..825c309 100644 (file)
@@ -12,6 +12,8 @@ module StgCmm ( codeGen ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude as Prelude
+
 import StgCmmProf (initCostCentres, ldvEnter)
 import StgCmmMonad
 import StgCmmEnv
index 969e14f..2ea0407 100644 (file)
@@ -15,6 +15,8 @@ module StgCmmArgRep (
 
         ) where
 
+import GhcPrelude
+
 import StgCmmClosure    ( idPrimRep )
 
 import SMRep            ( WordOff )
index 31775d6..8b2e998 100644 (file)
@@ -17,6 +17,8 @@ module StgCmmBind (
 
 #include "HsVersions.h"
 
+import GhcPrelude hiding ((<*>))
+
 import StgCmmExpr
 import StgCmmMonad
 import StgCmmEnv
@@ -53,8 +55,6 @@ import DynFlags
 
 import Control.Monad
 
-import Prelude hiding ((<*>))
-
 ------------------------------------------------------------------------
 --              Top-level bindings
 ------------------------------------------------------------------------
index 8eaee79..1da1f70 100644 (file)
@@ -66,6 +66,8 @@ module StgCmmClosure (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import StgSyn
 import SMRep
 import Cmm
index 6438b8c..1540d00 100644 (file)
@@ -17,6 +17,8 @@ module StgCmmCon (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import StgSyn
 import CoreSyn  ( AltCon(..) )
 
index 3061fb3..f277281 100644 (file)
@@ -24,6 +24,8 @@ module StgCmmEnv (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import TyCon
 import StgCmmMonad
 import StgCmmUtils
index 6e6ad7e..95dcc9f 100644 (file)
@@ -13,6 +13,8 @@ module StgCmmExpr ( cgExpr ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude hiding ((<*>))
+
 import {-# SOURCE #-} StgCmmBind ( cgBind )
 
 import StgCmmMonad
@@ -51,8 +53,6 @@ import Control.Monad (unless,void)
 import Control.Arrow (first)
 import Data.Function ( on )
 
-import Prelude hiding ((<*>))
-
 ------------------------------------------------------------------------
 --              cgExpr: the main function
 ------------------------------------------------------------------------
index f12ada2..551535d 100644 (file)
@@ -36,6 +36,8 @@ module StgCmmExtCode (
 
 where
 
+import GhcPrelude
+
 import qualified StgCmmMonad as F
 import StgCmmMonad (FCode, newUnique)
 
index 2e3ed39..fc3d42a 100644 (file)
@@ -22,6 +22,8 @@ module StgCmmForeign (
 
 #include "HsVersions.h"
 
+import GhcPrelude hiding( succ, (<*>) )
+
 import StgSyn
 import StgCmmProf (storeCurCCS, ccsType, curCCS)
 import StgCmmEnv
@@ -48,8 +50,6 @@ import BasicTypes
 
 import Control.Monad
 
-import Prelude hiding( succ, (<*>) )
-
 -----------------------------------------------------------------------------
 -- Code generation for Foreign Calls
 -----------------------------------------------------------------------------
index 000045f..15dcaa2 100644 (file)
@@ -24,6 +24,8 @@ module StgCmmHeap (
 
 #include "HsVersions.h"
 
+import GhcPrelude hiding ((<*>))
+
 import StgSyn
 import CLabel
 import StgCmmLayout
@@ -49,8 +51,6 @@ import DynFlags
 import FastString( mkFastString, fsLit )
 import Panic( sorry )
 
-import Prelude hiding ((<*>))
-
 import Control.Monad (when)
 import Data.Maybe (isJust)
 
index c8e65ad..8e9676b 100644 (file)
@@ -8,6 +8,8 @@
 
 module StgCmmHpc ( initHpc, mkTickBox ) where
 
+import GhcPrelude
+
 import StgCmmMonad
 
 import MkGraph
index b123420..aeb0124 100644 (file)
@@ -25,7 +25,7 @@ module StgCmmLayout (
 
 #include "HsVersions.h"
 
-import Prelude hiding ((<*>))
+import GhcPrelude hiding ((<*>))
 
 import StgCmmClosure
 import StgCmmEnv
index 5e62183..8145be1 100644 (file)
@@ -61,11 +61,12 @@ module StgCmmMonad (
 
 #include "HsVersions.h"
 
+import GhcPrelude hiding( sequence, succ )
+
 import Cmm
 import StgCmmClosure
 import DynFlags
 import Hoopl.Collections
-import Maybes
 import MkGraph
 import BlockId
 import CLabel
@@ -82,7 +83,6 @@ import Outputable
 
 import Control.Monad
 import Data.List
-import Prelude hiding( sequence, succ )
 
 infixr 9 `thenC`        -- Right-associative!
 infixr 9 `thenFC`
index 1ecd72f..c17855e 100644 (file)
@@ -17,6 +17,8 @@ module StgCmmPrim (
 
 #include "HsVersions.h"
 
+import GhcPrelude hiding ((<*>))
+
 import StgCmmLayout
 import StgCmmForeign
 import StgCmmEnv
@@ -44,8 +46,6 @@ import FastString
 import Outputable
 import Util
 
-import Prelude hiding ((<*>))
-
 import Data.Bits ((.&.), bit)
 import Control.Monad (liftM, when)
 
index 434d7b5..a91c4c0 100644 (file)
@@ -27,6 +27,8 @@ module StgCmmProf (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import StgCmmClosure
 import StgCmmUtils
 import StgCmmMonad
index 8d86e37..a7d158c 100644 (file)
@@ -106,6 +106,8 @@ module StgCmmTicky (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import StgCmmArgRep    ( slowCallPattern , toArgRep , argRepString )
 import StgCmmClosure
 import StgCmmUtils
index 2375208..07432c4 100644 (file)
@@ -43,6 +43,8 @@ module StgCmmUtils (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import StgCmmMonad
 import StgCmmClosure
 import Cmm
index a2ad5f7..945cad6 100644 (file)
@@ -18,6 +18,8 @@ module CoreArity (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import CoreSyn
 import CoreFVs
 import CoreUtils
index f5343ca..4855c17 100644 (file)
@@ -60,6 +60,8 @@ module CoreFVs (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import CoreSyn
 import Id
 import IdInfo
index 6195e67..6b6d8d9 100644 (file)
@@ -21,6 +21,8 @@ module CoreLint (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import CoreSyn
 import CoreFVs
 import CoreUtils
index 4a19605..47a4e35 100644 (file)
@@ -20,6 +20,8 @@ module CoreOpt (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import CoreArity( joinRhsArity, etaExpandToJoinPoint )
 
 import CoreSyn
index 4f7a0da..79f378c 100644 (file)
@@ -14,6 +14,8 @@ module CorePrep (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import OccurAnal
 
 import HscTypes
index d426bd3..7de8923 100644 (file)
@@ -10,6 +10,8 @@ module CoreSeq (
         megaSeqIdInfo, seqRuleInfo, seqBinds,
     ) where
 
+import GhcPrelude
+
 import CoreSyn
 import IdInfo
 import Demand( seqDemand, seqStrictSig )
index cb73d14..826ffe1 100644 (file)
@@ -11,6 +11,8 @@ module CoreStats (
         CoreStats(..), coreBindsStats, exprStats,
     ) where
 
+import GhcPrelude
+
 import BasicTypes
 import CoreSyn
 import Outputable
index 919d9e8..ae4458b 100644 (file)
@@ -36,6 +36,8 @@ module CoreSubst (
 #include "HsVersions.h"
 
 
+import GhcPrelude
+
 import CoreSyn
 import CoreFVs
 import CoreSeq
index 99478d2..6bbcda9 100644 (file)
@@ -99,6 +99,8 @@ module CoreSyn (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import CostCentre
 import VarEnv( InScopeSet )
 import Var
index 89ce692..38e6052 100644 (file)
@@ -14,6 +14,8 @@ module CoreTidy (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import CoreSyn
 import CoreSeq ( seqUnfolding )
 import CoreArity
index a104cd6..fd5a233 100644 (file)
@@ -42,6 +42,8 @@ module CoreUnfold (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import DynFlags
 import CoreSyn
 import PprCore          ()      -- Instances
index 1b92a7f..0e27ae9 100644 (file)
@@ -58,6 +58,8 @@ module CoreUtils (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import CoreSyn
 import PrelNames ( makeStaticName )
 import PprCore
index 5fe0392..2ea0c89 100644 (file)
@@ -51,6 +51,8 @@ module MkCore (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Id
 import Var      ( EvVar, setTyVarUnique )
 
index 73a15c3..96f7aa5 100644 (file)
@@ -15,6 +15,8 @@ module PprCore (
         pprRules, pprOptCo
     ) where
 
+import GhcPrelude
+
 import CoreSyn
 import CoreStats (exprStats)
 import Literal( pprLiteral )
index fcff256..9e0cab9 100644 (file)
@@ -31,6 +31,8 @@ module TrieMap(
    (>.>), (|>), (|>>),
  ) where
 
+import GhcPrelude
+
 import CoreSyn
 import Coercion
 import Literal
index 72c94f8..53b766f 100644 (file)
@@ -20,6 +20,8 @@ module Check (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import TmOracle
 import Unify( tcMatchTy )
 import BasicTypes
index a9d953d..c58c1a4 100644 (file)
@@ -7,6 +7,8 @@
 
 module Coverage (addTicksToBinds, hpcInitCode) where
 
+import GhcPrelude as Prelude
+
 import qualified GHCi
 import GHCi.RemoteTypes
 import Data.Array
index fbb6386..6351fa8 100644 (file)
@@ -16,6 +16,8 @@ module Desugar (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import DsUsage
 import DynFlags
 import HscTypes
index ec0f419..24d7d8a 100644 (file)
@@ -13,6 +13,8 @@ module DsArrows ( dsProcExpr ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Match
 import DsUtils
 import DsMonad
index d704f7b..c01cb40 100644 (file)
@@ -19,6 +19,8 @@ module DsBinds ( dsTopLHsBinds, dsLHsBinds, decomposeRuleLhs, dsSpec,
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import {-# SOURCE #-}   DsExpr( dsLExpr )
 import {-# SOURCE #-}   Match( matchWrapper )
 
index f24dd9f..64ab9df 100644 (file)
@@ -18,6 +18,8 @@ module DsCCall
 #include "HsVersions.h"
 
 
+import GhcPrelude
+
 import CoreSyn
 
 import DsMonad
index b8ed3c5..1ed45fc 100644 (file)
@@ -14,6 +14,8 @@ module DsExpr ( dsExpr, dsLExpr, dsLExprNoLP, dsLocalBinds
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Match
 import MatchLit
 import DsBinds
index 9b088b2..01173c9 100644 (file)
@@ -13,6 +13,8 @@ Desugaring foreign declarations (see also DsCCall).
 module DsForeign ( dsForeigns ) where
 
 #include "HsVersions.h"
+import GhcPrelude
+
 import TcRnMonad        -- temp
 
 import CoreSyn
index c3dcdf6..d521f53 100644 (file)
@@ -12,6 +12,8 @@ module DsGRHSs ( dsGuarded, dsGRHSs, dsGRHS, isTrueLHsExpr ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import {-# SOURCE #-} DsExpr  ( dsLExpr, dsLocalBinds )
 import {-# SOURCE #-} Match   ( matchSinglePat )
 
index dc24183..fea637f 100644 (file)
@@ -13,6 +13,8 @@ module DsListComp ( dsListComp, dsPArrComp, dsMonadComp ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import {-# SOURCE #-} DsExpr ( dsExpr, dsLExpr, dsLExprNoLP, dsLocalBinds, dsSyntaxExpr )
 
 import HsSyn
index bcdee68..2a181e8 100644 (file)
@@ -20,6 +20,8 @@ module DsMeta( dsBracket ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import {-# SOURCE #-}   DsExpr ( dsExpr )
 
 import MatchLit
index c3a2973..1eabf02 100644 (file)
@@ -52,6 +52,8 @@ module DsMonad (
         dsNoLevPoly, dsNoLevPolyExpr, dsWhenNoErrs
     ) where
 
+import GhcPrelude
+
 import TcRnMonad
 import FamInstEnv
 import CoreSyn
index 6219804..2eebca8 100644 (file)
@@ -7,6 +7,8 @@ module DsUsage (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import DynFlags
 import HscTypes
 import TcRnTypes
index 088db2c..3748193 100644 (file)
@@ -40,6 +40,8 @@ module DsUtils (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import {-# SOURCE #-} Match  ( matchSimply )
 import {-# SOURCE #-} DsExpr ( dsLExpr )
 
index 95cf40d..99529e7 100644 (file)
@@ -13,6 +13,8 @@ module Match ( match, matchEquations, matchWrapper, matchSimply, matchSinglePat
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import {-#SOURCE#-} DsExpr (dsLExpr, dsSyntaxExpr)
 
 import DynFlags
index 4096b9c..bd23e1a 100644 (file)
@@ -1,4 +1,6 @@
 module Match where
+
+import GhcPrelude
 import Var      ( Id )
 import TcType   ( Type )
 import DsMonad  ( DsM, EquationInfo, MatchResult )
index 7923ae4..5bf8c06 100644 (file)
@@ -13,6 +13,8 @@ module MatchCon ( matchConFamily, matchPatSyn ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import {-# SOURCE #-} Match     ( match )
 
 import HsSyn
index c3ba420..355927d 100644 (file)
@@ -17,6 +17,8 @@ module MatchLit ( dsLit, dsOverLit, dsOverLit', hsLitKey
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import {-# SOURCE #-} Match  ( match )
 import {-# SOURCE #-} DsExpr ( dsExpr, dsSyntaxExpr )
 
index e9af145..aa1bc81 100644 (file)
@@ -15,6 +15,8 @@ module PmExpr (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import HsSyn
 import Id
 import Name
index 115c0a8..3644c78 100644 (file)
@@ -22,6 +22,8 @@ module TmOracle (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import PmExpr
 
 import Id
index a961160..817b410 100644 (file)
@@ -161,6 +161,13 @@ Library
         utils
         vectorise
 
+    -- we use an explicit Prelude
+    Default-Extensions:
+        NoImplicitPrelude
+
+    Other-Modules:
+        GhcPrelude
+
     Exposed-Modules:
         Ar
         FileCleanup
index ab52a1e..9bc6b3f 100644 (file)
@@ -51,6 +51,8 @@ compiler/stage%/build/Config.hs : mk/config.mk mk/project.mk | $$(dir $$@)/.
        @echo '{-# LANGUAGE CPP #-}'                                        >> $@
        @echo 'module Config where'                                         >> $@
        @echo                                                               >> $@
+       @echo 'import GhcPrelude'                                           >> $@
+       @echo                                                               >> $@
        @echo '#include "ghc_boot_platform.h"'                              >> $@
        @echo                                                               >> $@
        @echo 'data IntegerLibrary = IntegerGMP'                            >> $@
index a739522..edb18df 100644 (file)
@@ -15,6 +15,8 @@ module ByteCodeAsm (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import ByteCodeInstr
 import ByteCodeItbls
 import ByteCodeTypes
index 939d1dd..c7b96a8 100644 (file)
@@ -10,6 +10,8 @@ module ByteCodeGen ( UnlinkedBCO, byteCodeGen, coreExprToBCOs ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import ByteCodeInstr
 import ByteCodeAsm
 import ByteCodeTypes
index fabde4e..7ef8220 100644 (file)
@@ -12,6 +12,8 @@ module ByteCodeInstr (
 #include "HsVersions.h"
 #include "../includes/MachDeps.h"
 
+import GhcPrelude
+
 import ByteCodeTypes
 import GHCi.RemoteTypes
 import GHCi.FFI (C_ffi_cif)
index 6dc89e1..7381c8f 100644 (file)
@@ -9,6 +9,8 @@ module ByteCodeItbls ( mkITbls ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import ByteCodeTypes
 import GHCi
 import DynFlags
index e865590..bea4311 100644 (file)
@@ -19,6 +19,8 @@ module ByteCodeLink (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import GHCi.RemoteTypes
 import GHCi.ResolvedBCO
 import GHCi.InfoTable
index 4b78600..ecb9d22 100644 (file)
@@ -13,6 +13,8 @@ module ByteCodeTypes
   , CCostCentre
   ) where
 
+import GhcPrelude
+
 import FastString
 import Id
 import Name
index b40dd5c..0db74cb 100644 (file)
@@ -14,6 +14,8 @@
 
 module Debugger (pprintClosureCommand, showTerm, pprTypeAndContents) where
 
+import GhcPrelude
+
 import Linker
 import RtClosureInspect
 
index 9e3d56e..f67e448 100644 (file)
@@ -4,6 +4,8 @@ module DebuggerUtils (
        dataConInfoPtrToName,
   ) where
 
+import GhcPrelude
+
 import GHCi.InfoTable
 import CmmInfo ( stdInfoTableSizeB )
 import DynFlags
index 403cffd..c9d8fe3 100644 (file)
@@ -46,6 +46,8 @@ module GHCi
   , fromEvalResult
   ) where
 
+import GhcPrelude
+
 import GHCi.Message
 #if defined(GHCI)
 import GHCi.Run
index d174cc0..b2645f2 100644 (file)
@@ -20,6 +20,8 @@ module Linker ( getHValue, showLinkerState,
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import GHCi
 import GHCi.RemoteTypes
 import LoadIface
index b269f33..7c532e5 100644 (file)
@@ -26,6 +26,8 @@ module RtClosureInspect(
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import DebuggerUtils
 import GHCi.RemoteTypes ( HValue )
 import qualified GHCi.InfoTable as InfoTable
index 727a04a..f9e5ca1 100644 (file)
@@ -13,6 +13,8 @@ module Convert( convertToHsExpr, convertToPat, convertToHsDecls,
                 convertToHsType,
                 thRdrNameGuesses ) where
 
+import GhcPrelude
+
 import HsSyn as Hs
 import qualified Class
 import RdrName
index 089e244..6648cda 100644 (file)
@@ -17,6 +17,8 @@ Datatype for: @BindGroup@, @Bind@, @Sig@, @Bind@.
 
 module HsBinds where
 
+import GhcPrelude
+
 import {-# SOURCE #-} HsExpr ( pprExpr, LHsExpr,
                                MatchGroup, pprFunBind,
                                GRHSs, pprPatBind )
index cb67be8..ecb11a0 100644 (file)
@@ -87,6 +87,8 @@ module HsDecls (
     ) where
 
 -- friends:
+import GhcPrelude
+
 import {-# SOURCE #-}   HsExpr( LHsExpr, HsExpr, HsSplice, pprExpr,
                                 pprSpliceDecl )
         -- Because Expr imports Decls via HsBracket
index d9c5dba..7c6bdd9 100644 (file)
@@ -8,6 +8,8 @@ module HsDoc (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Outputable
 import SrcLoc
 import FastString
index 8ab9cd4..1a1c259 100644 (file)
@@ -15,6 +15,8 @@ module HsDumpAst (
         BlankSrcSpan(..),
     ) where
 
+import GhcPrelude
+
 import Data.Data hiding (Fixity)
 import Bag
 import BasicTypes
index 2186a72..5ee359e 100644 (file)
@@ -18,6 +18,8 @@ module HsExpr where
 #include "HsVersions.h"
 
 -- friends:
+import GhcPrelude
+
 import HsDecls
 import HsPat
 import HsLit
index 880f709..80dfa67 100644 (file)
@@ -13,6 +13,8 @@ module HsExtension where
 -- This module captures the type families to precisely identify the extension
 -- points for HsSyn
 
+import GhcPrelude
+
 import GHC.Exts (Constraint)
 import Data.Data hiding ( Fixity )
 import PlaceHolder
index 79ff287..2930b51 100644 (file)
@@ -14,6 +14,8 @@ HsImpExp: Abstract syntax: imports, exports, interfaces
 
 module HsImpExp where
 
+import GhcPrelude
+
 import Module           ( ModuleName )
 import HsDoc            ( HsDocString )
 import OccName          ( HasOccName(..), isTcOcc, isSymOcc )
index 8995ed9..7f0864e 100644 (file)
@@ -19,6 +19,8 @@ module HsLit where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import {-# SOURCE #-} HsExpr( HsExpr, pprExpr )
 import BasicTypes ( IntegralLit(..),FractionalLit(..),negateIntegralLit,
                     negateFractionalLit,SourceText(..),pprWithSourceText )
index 4450868..e05d8bb 100644 (file)
@@ -38,6 +38,8 @@ module HsPat (
         pprParendLPat, pprConArgs
     ) where
 
+import GhcPrelude
+
 import {-# SOURCE #-} HsExpr            (SyntaxExpr, LHsExpr, HsSplice, pprLExpr, pprSplice)
 
 -- friends:
index 76afa8b..62bfa2e 100644 (file)
@@ -34,6 +34,8 @@ module HsSyn (
 ) where
 
 -- friends:
+import GhcPrelude
+
 import HsDecls
 import HsBinds
 import HsExpr
index 47d3835..b9cd946 100644 (file)
@@ -68,6 +68,8 @@ module HsTypes (
         pprHsContext, pprHsContextNoArrow, pprHsContextMaybe
     ) where
 
+import GhcPrelude
+
 import {-# SOURCE #-} HsExpr ( HsSplice, pprSplice )
 
 import PlaceHolder ( PlaceHolder(..) )
index a72e3c8..8ba143e 100644 (file)
@@ -92,6 +92,8 @@ module HsUtils(
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import HsDecls
 import HsBinds
 import HsExpr
index 5c716d2..0b4711a 100644 (file)
@@ -6,6 +6,8 @@
 
 module PlaceHolder where
 
+import GhcPrelude ()
+
 import Type       ( Type )
 import Outputable
 import Name
index bbf45d7..913ece0 100644 (file)
@@ -10,6 +10,8 @@ module BinFingerprint
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Fingerprint
 import Binary
 import Name
index f658d7f..969dc85 100644 (file)
@@ -20,6 +20,8 @@ module BinIface (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import TcRnMonad
 import PrelInfo   ( isKnownKeyName, lookupKnownKeyName )
 import IfaceEnv
index a5b7249..4eb8271 100644 (file)
@@ -15,6 +15,8 @@ module BuildTyCl (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import IfaceEnv
 import FamInstEnv( FamInstEnvs, mkNewTypeCoAxiom )
 import TysWiredIn( isCTupleTyConName )
index fd0459d..eb99c74 100644 (file)
@@ -6,6 +6,8 @@ module FlagChecker (
         fingerprintDynFlags
     ) where
 
+import GhcPrelude
+
 import Binary
 import BinIface ()
 import DynFlags
index f66ebdc..285bb28 100644 (file)
@@ -22,6 +22,8 @@ module IfaceEnv (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import TcRnMonad
 import HscTypes
 import Type
index 1373fb0..191ebbf 100644 (file)
@@ -41,6 +41,8 @@ module IfaceSyn (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import IfaceType
 import BinFingerprint
 import CoreSyn( IsOrphan, isOrphan )
index 3475366..096430e 100644 (file)
@@ -49,6 +49,8 @@ module IfaceType (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import {-# SOURCE #-} TysWiredIn ( liftedRepDataConTyCon )
 
 import DynFlags
index 01fdaac..6069828 100644 (file)
@@ -32,6 +32,8 @@ module LoadIface (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import {-# SOURCE #-}   TcIface( tcIfaceDecl, tcIfaceRules, tcIfaceInst,
                                  tcIfaceFamInst, tcIfaceVectInfo,
                                  tcIfaceAnnotations, tcIfaceCompleteSigs )
index 94ace18..184ee48 100644 (file)
@@ -58,6 +58,8 @@ Basic idea:
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import IfaceSyn
 import BinFingerprint
 import LoadIface
index d17e235..8633658 100644 (file)
@@ -22,6 +22,8 @@ module TcIface (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import TcTypeNats(typeNatCoAxiomRules)
 import IfaceSyn
 import LoadIface
index 4a99114..dbc5ff1 100644 (file)
@@ -1,5 +1,6 @@
 module TcIface where
 
+import GhcPrelude
 import IfaceSyn    ( IfaceDecl, IfaceClsInst, IfaceFamInst, IfaceRule,
                      IfaceAnnotation, IfaceCompleteMatch )
 import TyCoRep     ( TyThing )
index f5cbe9e..9eceb6d 100644 (file)
@@ -44,6 +44,8 @@ module ToIface
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import IfaceSyn
 import DataCon
 import Id
index 7dd3c48..a748ac5 100644 (file)
@@ -4,6 +4,8 @@
 
 module Llvm.AbsSyn where
 
+import GhcPrelude
+
 import Llvm.MetaData
 import Llvm.Types
 
index 5fe9e37..97e8086 100644 (file)
@@ -2,6 +2,8 @@
 
 module Llvm.MetaData where
 
+import GhcPrelude
+
 import Llvm.Types
 import Outputable
 
index f2eeffe..b350ab4 100644 (file)
@@ -25,6 +25,8 @@ module Llvm.PpLlvm (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Llvm.AbsSyn
 import Llvm.MetaData
 import Llvm.Types
index bf23cd8..8711149 100644 (file)
@@ -8,6 +8,8 @@ module Llvm.Types where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Data.Char
 import Data.Int
 import Numeric
index c11252a..3fcf83a 100644 (file)
@@ -7,6 +7,8 @@ module LlvmCodeGen ( llvmCodeGen, llvmFixupAsm ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Llvm
 import LlvmCodeGen.Base
 import LlvmCodeGen.CodeGen
index 424891f..6e20da4 100644 (file)
@@ -37,6 +37,8 @@ module LlvmCodeGen.Base (
 #include "HsVersions.h"
 #include "ghcautoconf.h"
 
+import GhcPrelude
+
 import Llvm
 import LlvmCodeGen.Regs
 
index 099e819..584d90c 100644 (file)
@@ -7,6 +7,8 @@ module LlvmCodeGen.CodeGen ( genLlvmProc ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Llvm
 import LlvmCodeGen.Base
 import LlvmCodeGen.Regs
index 39abbd1..89b8fe7 100644 (file)
@@ -9,6 +9,8 @@ module LlvmCodeGen.Data (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Llvm
 import LlvmCodeGen.Base
 
index ef32d41..2a8340b 100644 (file)
@@ -9,6 +9,8 @@ module LlvmCodeGen.Ppr (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Llvm
 import LlvmCodeGen.Base
 import LlvmCodeGen.Data
index e09ab80..8cdf3c6 100644 (file)
@@ -11,6 +11,8 @@ module LlvmCodeGen.Regs (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Llvm
 
 import CmmExpr
index eed13ba..fe03cf2 100644 (file)
@@ -11,6 +11,8 @@
 
 module LlvmMangler ( llvmFixupAsm ) where
 
+import GhcPrelude
+
 import DynFlags ( DynFlags, targetPlatform )
 import Platform ( platformArch, Arch(..) )
 import ErrUtils ( withTiming )
index 052b061..f6d5a1c 100644 (file)
@@ -17,6 +17,8 @@ module Annotations (
         deserializeAnns
     ) where
 
+import GhcPrelude
+
 import Binary
 import Module           ( Module )
 import Name
index d3b50f3..51655c0 100644 (file)
@@ -32,6 +32,8 @@ module Ar
   )
    where
 
+import GhcPrelude
+
 import Data.Semigroup (Semigroup)
 import Data.List (mapAccumL, isPrefixOf)
 import Data.Monoid ((<>))
index e6ecd17..49fbd8f 100644 (file)
@@ -25,6 +25,8 @@ module CmdLineParser
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Util
 import Outputable
 import Panic
index 34cada3..fc854e4 100644 (file)
@@ -10,6 +10,8 @@ module CodeOutput( codeOutput, outputForeignStubs ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import AsmCodeGen ( nativeCodeGen )
 import LlvmCodeGen ( llvmCodeGen )
 
index 3dafbac..06d9312 100644 (file)
@@ -6,6 +6,8 @@
 
 module Constants (module Constants) where
 
+import GhcPrelude
+
 import Config
 
 hiVersion :: Integer
index b346f66..7411045 100644 (file)
@@ -14,6 +14,8 @@ module DriverMkDepend (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import qualified GHC
 import GhcMonad
 import DynFlags
index a59c452..177c15e 100644 (file)
@@ -40,6 +40,8 @@ module DriverPhases (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import {-# SOURCE #-} DynFlags
 import Outputable
 import Platform
index a90de81..4f2cc4c 100644 (file)
@@ -35,6 +35,8 @@ module DriverPipeline (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import AsmUtils
 import PipelineMonad
 import Packages
index ec014e8..0bc54be 100644 (file)
@@ -165,6 +165,8 @@ module DynFlags (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Platform
 import PlatformConstants
 import Module
index 5fd80fc..a8efb60 100644 (file)
@@ -1,6 +1,6 @@
-
 module DynFlags where
 
+import GhcPrelude
 import Platform
 
 data DynFlags
index ffdce28..7e45146 100644 (file)
@@ -24,6 +24,8 @@ module DynamicLoading (
 #endif
     ) where
 
+import GhcPrelude
+
 #if defined(GHCI)
 import Linker           ( linkModule, getHValue )
 import GHCi             ( wormhole )
index 599d4d9..648f20a 100644 (file)
@@ -14,6 +14,8 @@ module Elf (
     makeElfNote
   ) where
 
+import GhcPrelude
+
 import AsmUtils
 import Exception
 import DynFlags
index 5883fe1..5010a29 100644 (file)
@@ -57,6 +57,8 @@ module ErrUtils (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Bag
 import Exception
 import Outputable
index bbbf74e..6f180af 100644 (file)
@@ -1,5 +1,6 @@
 module ErrUtils where
 
+import GhcPrelude
 import Outputable (SDoc, PrintUnqualified )
 import SrcLoc (SrcSpan)
 import Json
index 22a492a..5150b81 100644 (file)
@@ -7,6 +7,8 @@ module FileCleanup
   , withSystemTempDirectory, withTempDirectory
   ) where
 
+import GhcPrelude
+
 import DynFlags
 import ErrUtils
 import Outputable
index d1bf1c8..2bfea5d 100644 (file)
@@ -33,6 +33,8 @@ module Finder (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Module
 import HscTypes
 import Packages
index 9ed8aaa..63c1551 100644 (file)
@@ -283,6 +283,8 @@ module GHC (
 
 #include "HsVersions.h"
 
+import GhcPrelude hiding (init)
+
 import ByteCodeTypes
 import InteractiveEval
 import InteractiveEvalTypes
@@ -361,8 +363,6 @@ import System.Exit      ( exitWith, ExitCode(..) )
 import Exception
 import Data.IORef
 import System.FilePath
-import System.IO
-import Prelude hiding (init)
 
 
 -- %************************************************************************
index 724ced2..73a7157 100644 (file)
@@ -33,6 +33,8 @@ module GhcMake(
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import qualified Linker         ( unload )
 
 import DriverPhases
index 2673dd8..f72cacc 100644 (file)
@@ -23,6 +23,8 @@ module GhcMonad (
         WarnErrLogger, defaultWarnErrLogger
   ) where
 
+import GhcPrelude
+
 import MonadUtils
 import HscTypes
 import DynFlags
index be38e53..3158335 100644 (file)
@@ -18,6 +18,8 @@ module HeaderInfo ( getImports
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import HscTypes
 import Parser           ( parseHeader )
 import Lexer
index 2e228d5..f9d420a 100644 (file)
@@ -23,6 +23,8 @@ module Hooks ( Hooks
              , createIservProcessHook
              ) where
 
+import GhcPrelude
+
 import DynFlags
 import PipelineMonad
 import HscTypes
index 280de32..f0246ef 100644 (file)
@@ -1,5 +1,7 @@
 module Hooks where
 
+import GhcPrelude ()
+
 data Hooks
 
 emptyHooks :: Hooks
index 6613c98..f7a7933 100644 (file)
@@ -82,6 +82,8 @@ module HscMain
     , hscAddSptEntries
     ) where
 
+import GhcPrelude
+
 import Data.Data hiding (Fixity, TyCon)
 import Id
 import GHCi             ( addSptEntry )
index 598cb5b..48b8ecc 100644 (file)
@@ -8,6 +8,8 @@
 
 module HscStats ( ppSourceStats ) where
 
+import GhcPrelude
+
 import Bag
 import HsSyn
 import Outputable
index 2d8e19c..b7baa57 100644 (file)
@@ -146,6 +146,8 @@ module HscTypes (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import ByteCodeTypes
 import InteractiveEvalTypes ( Resume )
 import GHCi.Message         ( Pipe )
index 88d5dbe..c6b5e22 100644 (file)
@@ -40,6 +40,8 @@ module InteractiveEval (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import InteractiveEvalTypes
 
 import GHCi
index e45ef6d..3bc043f 100644 (file)
@@ -12,6 +12,8 @@ module InteractiveEvalTypes (
         BreakInfo(..)
         ) where
 
+import GhcPrelude
+
 import GHCi.RemoteTypes
 import GHCi.Message (EvalExpr, ResumeContext)
 import Id
index 23f37da..b003f5f 100644 (file)
@@ -30,6 +30,8 @@ module PackageConfig (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import GHC.PackageDb
 import Data.Version
 
index ca77c30..46ca406 100644 (file)
@@ -62,6 +62,8 @@ where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import GHC.PackageDb
 import PackageConfig
 import DynFlags
index 0ed59db..80b9ebf 100644 (file)
@@ -1,4 +1,5 @@
 module Packages where
+import GhcPrelude
 import {-# SOURCE #-} DynFlags(DynFlags)
 import {-# SOURCE #-} Module(ComponentId, UnitId, InstalledUnitId)
 data PackageState
index c834527..bbb1a17 100644 (file)
@@ -9,6 +9,8 @@ module PipelineMonad (
   , getPipeEnv, getPipeState, setDynFlags, setModLocation, setForeignOs
   ) where
 
+import GhcPrelude
+
 import MonadUtils
 import Outputable
 import DynFlags
index c9a4072..96b0f70 100644 (file)
@@ -10,6 +10,8 @@
 
 module PlatformConstants (PlatformConstants(..)) where
 
+import GhcPrelude
+
 -- Produced by deriveConstants
 #include "GHCConstantsHaskellType.hs"
 
index 273bf7a..19ea2ed 100644 (file)
@@ -4,6 +4,8 @@ module Plugins (
     defaultPlugin
     ) where
 
+import GhcPrelude
+
 import CoreMonad ( CoreToDo, CoreM )
 import TcRnTypes ( TcPlugin )
 import GhcMonad
index 86098a5..35741b8 100644 (file)
@@ -19,6 +19,8 @@ module PprTyThing (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Type    ( TyThing(..) )
 import IfaceSyn ( ShowSub(..), ShowHowMuch(..), AltPpr(..)
   , showToHeader, pprIfaceDecl )
index ff0d47e..23d02f8 100644 (file)
@@ -122,6 +122,8 @@ Here is a running example:
   in upsweep after we have compiled the module (see GhcMake.upsweep').
 -}
 
+import GhcPrelude
+
 import CLabel
 import CoreSyn
 import CoreUtils (collectMakeStaticArgs)
index cb2840b..96a6f17 100644 (file)
@@ -51,6 +51,8 @@ module SysTools (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Module
 import Packages
 import Config
index b3bf6e6..cd33bfb 100644 (file)
@@ -2,6 +2,8 @@
 {-# LANGUAGE ScopedTypeVariables #-}
 module SysTools.Terminal (stderrSupportsAnsiColors) where
 #if defined MIN_VERSION_terminfo
+import GhcPrelude
+
 import Control.Exception (catch)
 import Data.Maybe (fromMaybe)
 import System.Console.Terminfo (SetupTermError, Terminal, getCapability,
index 4b9fbae..a0d2fb8 100644 (file)
@@ -12,6 +12,8 @@ module TidyPgm (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import TcRnTypes
 import DynFlags
 import CoreSyn
index 314d726..373852a 100644 (file)
@@ -25,6 +25,8 @@ module AsmCodeGen (
 #include "nativeGen/NCG.h"
 
 
+import GhcPrelude
+
 import qualified X86.CodeGen
 import qualified X86.Regs
 import qualified X86.Instr
index c52fe10..ad61a00 100644 (file)
@@ -11,6 +11,8 @@ module CPrim
     , word2FloatLabel
     ) where
 
+import GhcPrelude
+
 import CmmType
 import CmmMachOp
 import Outputable
index afeac03..b858b77 100644 (file)
@@ -2,6 +2,8 @@ module Dwarf (
   dwarfGen
   ) where
 
+import GhcPrelude
+
 import CLabel
 import CmmExpr         ( GlobalReg(..) )
 import Config          ( cProjectName, cProjectVersion )
index a8034ef..db5395a 100644 (file)
@@ -3,6 +3,8 @@
 
 module Dwarf.Constants where
 
+import GhcPrelude
+
 import AsmUtils
 import FastString
 import Platform
index 95f0715..23a2c92 100644 (file)
@@ -22,6 +22,8 @@ module Dwarf.Types
   )
   where
 
+import GhcPrelude
+
 import Debug
 import CLabel
 import CmmExpr         ( GlobalReg(..) )
index 1e32185..82ecbec 100644 (file)
@@ -20,6 +20,8 @@ module Format (
 
 where
 
+import GhcPrelude
+
 import Cmm
 import Outputable
 
index 515d4f3..63b5b0d 100644 (file)
@@ -14,6 +14,8 @@ module Instruction (
 
 where
 
+import GhcPrelude
+
 import Reg
 
 import BlockId
index 6af0df5..f4d02da 100644 (file)
@@ -37,6 +37,8 @@ where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Reg
 import Format
 import TargetReg
index de1fbaa..165c3a7 100644 (file)
@@ -47,6 +47,8 @@ module PIC (
 
 where
 
+import GhcPrelude
+
 import qualified PPC.Instr      as PPC
 import qualified PPC.Regs       as PPC
 
index 7b898ee..299238b 100644 (file)
@@ -25,6 +25,8 @@ where
 #include "../includes/MachDeps.h"
 
 -- NCG stuff:
+import GhcPrelude
+
 import CodeGen.Platform
 import PPC.Instr
 import PPC.Cond
index 0e4b1fd..bd8bdee 100644 (file)
@@ -8,6 +8,8 @@ module PPC.Cond (
 
 where
 
+import GhcPrelude
+
 import Panic
 
 data Cond
index eb179c5..d39f0bc 100644 (file)
@@ -23,6 +23,8 @@ module PPC.Instr (
 
 where
 
+import GhcPrelude
+
 import PPC.Regs
 import PPC.Cond
 import Instruction
index fe8d9e6..7f8f407 100644 (file)
@@ -9,6 +9,8 @@
 {-# OPTIONS_GHC -fno-warn-orphans #-}
 module PPC.Ppr (pprNatCmmDecl) where
 
+import GhcPrelude
+
 import PPC.Regs
 import PPC.Instr
 import PPC.Cond
index c4724d4..bf894fd 100644 (file)
@@ -20,6 +20,8 @@ where
 #include "nativeGen/NCG.h"
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import PPC.Instr
 
 import BlockId
index 5c7c5ae..7ebe36f 100644 (file)
@@ -50,6 +50,8 @@ where
 #include "nativeGen/NCG.h"
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Reg
 import RegClass
 import Format
index aca4274..d96b187 100644 (file)
@@ -16,6 +16,8 @@ module PprBase (
 
 where
 
+import GhcPrelude
+
 import AsmUtils
 import CLabel
 import Cmm
index 598074d..d9d56d4 100644 (file)
@@ -26,6 +26,8 @@ module Reg (
 
 where
 
+import GhcPrelude
+
 import Outputable
 import Unique
 import RegClass
index 6771e4e..634e61c 100644 (file)
@@ -21,6 +21,8 @@ module RegAlloc.Graph.ArchBase (
         bound,
         squeese
 ) where
+import GhcPrelude
+
 import UniqSet
 import UniqFM
 import Unique
index 9873118..0472e4c 100644 (file)
@@ -15,6 +15,8 @@ module RegAlloc.Graph.ArchX86 (
         squeese,
 ) where
 
+import GhcPrelude
+
 import RegAlloc.Graph.ArchBase  (Reg(..), RegSub(..), RegClass(..))
 import UniqSet
 
index 832df23..0f5cf2d 100644 (file)
@@ -3,6 +3,8 @@ module RegAlloc.Graph.Coalesce (
         regCoalesce,
         slurpJoinMovs
 ) where
+import GhcPrelude
+
 import RegAlloc.Liveness
 import Instruction
 import Reg
index 0853845..a4d1841 100644 (file)
@@ -4,6 +4,8 @@
 module RegAlloc.Graph.Main (
         regAlloc
 ) where
+import GhcPrelude
+
 import qualified GraphColor as Color
 import RegAlloc.Liveness
 import RegAlloc.Graph.Spill
index b86b143..02da824 100644 (file)
@@ -7,6 +7,8 @@ module RegAlloc.Graph.Spill (
         SpillStats(..),
         accSpillSL
 ) where
+import GhcPrelude
+
 import RegAlloc.Liveness
 import Instruction
 import Reg
index faef403..50001d7 100644 (file)
@@ -28,6 +28,8 @@
 module RegAlloc.Graph.SpillClean (
         cleanSpills
 ) where
+import GhcPrelude
+
 import RegAlloc.Liveness
 import Instruction
 import Reg
index 9811f1a..f603b60 100644 (file)
@@ -13,6 +13,8 @@ module RegAlloc.Graph.SpillCost (
 
         lifeMapFromSpillCostInfo
 ) where
+import GhcPrelude
+
 import RegAlloc.Liveness
 import Instruction
 import RegClass
index 7195602..e3ff226 100644 (file)
@@ -16,6 +16,8 @@ module RegAlloc.Graph.Stats (
 
 #include "nativeGen/NCG.h"
 
+import GhcPrelude
+
 import qualified GraphColor as Color
 import RegAlloc.Liveness
 import RegAlloc.Graph.Spill
index 204de84..7774985 100644 (file)
@@ -8,6 +8,8 @@ where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import RegClass
 import Reg
 
index d4f124e..1172870 100644 (file)
@@ -17,6 +17,8 @@ module RegAlloc.Linear.Base (
 
 where
 
+import GhcPrelude
+
 import RegAlloc.Linear.StackMap
 import RegAlloc.Liveness
 import Reg
index 9933f5b..b4e7943 100644 (file)
@@ -9,6 +9,8 @@ module RegAlloc.Linear.FreeRegs (
 
 where
 
+import GhcPrelude
+
 import Reg
 import RegClass
 
index c262b2b..89f496c 100644 (file)
@@ -9,6 +9,8 @@
 --
 module RegAlloc.Linear.JoinToTargets (joinToTargets) where
 
+import GhcPrelude
+
 import RegAlloc.Linear.State
 import RegAlloc.Linear.Base
 import RegAlloc.Linear.FreeRegs
index c13d02e..171ce88 100644 (file)
@@ -102,6 +102,8 @@ module RegAlloc.Linear.Main (
 #include "HsVersions.h"
 
 
+import GhcPrelude
+
 import RegAlloc.Linear.State
 import RegAlloc.Linear.Base
 import RegAlloc.Linear.StackMap
index 5d36924..5815482 100644 (file)
@@ -2,6 +2,8 @@
 module RegAlloc.Linear.PPC.FreeRegs
 where
 
+import GhcPrelude
+
 import PPC.Regs
 import RegClass
 import Reg
index db4d6ba..653b270 100644 (file)
@@ -3,6 +3,8 @@
 module RegAlloc.Linear.SPARC.FreeRegs
 where
 
+import GhcPrelude
+
 import SPARC.Regs
 import RegClass
 import Reg
index 748fb98..95819c6 100644 (file)
@@ -20,6 +20,8 @@ module RegAlloc.Linear.StackMap (
 
 where
 
+import GhcPrelude
+
 import DynFlags
 import UniqFM
 import Unique
index 8b17d3a..6554188 100644 (file)
@@ -31,6 +31,8 @@ module RegAlloc.Linear.State (
 )
 where
 
+import GhcPrelude
+
 import RegAlloc.Linear.Stats
 import RegAlloc.Linear.StackMap
 import RegAlloc.Linear.Base
index 71dedae..66fd874 100644 (file)
@@ -6,6 +6,8 @@ module RegAlloc.Linear.Stats (
 
 where
 
+import GhcPrelude
+
 import RegAlloc.Linear.Base
 import RegAlloc.Liveness
 import Instruction
index ae4aa53..65a566d 100644 (file)
@@ -3,6 +3,8 @@
 module RegAlloc.Linear.X86.FreeRegs
 where
 
+import GhcPrelude
+
 import X86.Regs
 import RegClass
 import Reg
index 5a7f71e..713b053 100644 (file)
@@ -3,6 +3,8 @@
 module RegAlloc.Linear.X86_64.FreeRegs
 where
 
+import GhcPrelude
+
 import X86.Regs
 import RegClass
 import Reg
index e661397..db09b0e 100644 (file)
@@ -35,6 +35,8 @@ module RegAlloc.Liveness (
         regLiveness,
         natCmmTopToLive
   ) where
+import GhcPrelude
+
 import Reg
 import Instruction
 
index 0c79317..cd008bb 100644 (file)
@@ -4,6 +4,8 @@ module RegClass
 
 where
 
+import GhcPrelude
+
 import  Outputable
 import  Unique
 
index bf4d480..ee40843 100644 (file)
@@ -6,6 +6,8 @@ module SPARC.AddrMode (
 
 where
 
+import GhcPrelude
+
 import SPARC.Imm
 import SPARC.Base
 import Reg
index a57d5e1..04e8fed 100644 (file)
@@ -18,6 +18,8 @@ module SPARC.Base (
 
 where
 
+import GhcPrelude
+
 import DynFlags
 import Panic
 
index 902a5ae..1a7fbeb 100644 (file)
@@ -22,6 +22,8 @@ where
 #include "../includes/MachDeps.h"
 
 -- NCG stuff:
+import GhcPrelude
+
 import SPARC.Base
 import SPARC.CodeGen.Sanity
 import SPARC.CodeGen.Amode
index a59287f..33e3f53 100644 (file)
@@ -4,6 +4,8 @@ module SPARC.CodeGen.Amode (
 
 where
 
+import GhcPrelude
+
 import {-# SOURCE #-} SPARC.CodeGen.Gen32
 import SPARC.CodeGen.Base
 import SPARC.AddrMode
index 27b533f..039bb64 100644 (file)
@@ -13,6 +13,8 @@ module SPARC.CodeGen.Base (
 
 where
 
+import GhcPrelude
+
 import SPARC.Instr
 import SPARC.Cond
 import SPARC.AddrMode
index e5fb82d..e6b2e17 100644 (file)
@@ -6,6 +6,8 @@ module SPARC.CodeGen.CondCode (
 
 where
 
+import GhcPrelude
+
 import {-# SOURCE #-} SPARC.CodeGen.Gen32
 import SPARC.CodeGen.Base
 import SPARC.Instr
index 70cb011..cf861df 100644 (file)
@@ -5,6 +5,8 @@ module SPARC.CodeGen.Expand (
 
 where
 
+import GhcPrelude
+
 import SPARC.Instr
 import SPARC.Imm
 import SPARC.AddrMode
index a0e86f1..a7a1f60 100644 (file)
@@ -6,6 +6,8 @@ module SPARC.CodeGen.Gen32 (
 
 where
 
+import GhcPrelude
+
 import SPARC.CodeGen.CondCode
 import SPARC.CodeGen.Amode
 import SPARC.CodeGen.Gen64
index f186d43..8549fa0 100644 (file)
@@ -7,6 +7,8 @@ module SPARC.CodeGen.Gen64 (
 
 where
 
+import GhcPrelude
+
 import {-# SOURCE #-} SPARC.CodeGen.Gen32
 import SPARC.CodeGen.Base
 import SPARC.CodeGen.Amode
index 8164132..fcf5b65 100644 (file)
@@ -6,6 +6,8 @@ module SPARC.CodeGen.Sanity (
 
 where
 
+import GhcPrelude
+
 import SPARC.Instr
 import SPARC.Ppr        ()
 import Instruction
index da41457..3fbfb86 100644 (file)
@@ -7,6 +7,8 @@ module SPARC.Cond (
 
 where
 
+import GhcPrelude
+
 -- | Branch condition codes.
 data Cond
         = ALWAYS
index cb53ba4..15acf41 100644 (file)
@@ -7,6 +7,8 @@ module SPARC.Imm (
 
 where
 
+import GhcPrelude
+
 import Cmm
 import CLabel
 
index 4c19ac6..54fb513 100644 (file)
@@ -25,6 +25,8 @@ module SPARC.Instr (
 
 where
 
+import GhcPrelude
+
 import SPARC.Stack
 import SPARC.Imm
 import SPARC.AddrMode
index 1e4d5c5..eb401ff 100644 (file)
@@ -25,6 +25,8 @@ where
 #include "HsVersions.h"
 #include "nativeGen/NCG.h"
 
+import GhcPrelude
+
 import SPARC.Regs
 import SPARC.Instr
 import SPARC.Cond
index 188f66e..544e448 100644 (file)
@@ -32,6 +32,8 @@ module SPARC.Regs (
 where
 
 
+import GhcPrelude
+
 import CodeGen.Platform.SPARC
 import Reg
 import RegClass
index 0bbcc48..0df2800 100644 (file)
@@ -8,6 +8,8 @@ module SPARC.ShortcutJump (
 
 where
 
+import GhcPrelude
+
 import SPARC.Instr
 import SPARC.Imm
 
index 629b187..3f5b2a7 100644 (file)
@@ -7,6 +7,8 @@ module SPARC.Stack (
 
 where
 
+import GhcPrelude
+
 import SPARC.AddrMode
 import SPARC.Regs
 import SPARC.Base
index a298ccc..6800b90 100644 (file)
@@ -21,6 +21,8 @@ where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Reg
 import RegClass
 import Format
index 4963106..e62906d 100644 (file)
@@ -30,6 +30,8 @@ where
 #include "../includes/MachDeps.h"
 
 -- NCG stuff:
+import GhcPrelude
+
 import X86.Instr
 import X86.Cond
 import X86.Regs
index 586dabd..35cbf94 100644 (file)
@@ -8,6 +8,8 @@ module X86.Cond (
 
 where
 
+import GhcPrelude
+
 data Cond
         = ALWAYS        -- What's really used? ToDo
         | EQQ
index 71f50e9..1bb682a 100644 (file)
@@ -17,6 +17,8 @@ where
 #include "HsVersions.h"
 #include "nativeGen/NCG.h"
 
+import GhcPrelude
+
 import X86.Cond
 import X86.Regs
 import Instruction
index 8f9fe9b..84ce751 100644 (file)
@@ -23,6 +23,8 @@ where
 #include "HsVersions.h"
 #include "nativeGen/NCG.h"
 
+import GhcPrelude
+
 import X86.Regs
 import X86.Instr
 import X86.Cond
index 4dfe035..226441b 100644 (file)
@@ -9,6 +9,8 @@ where
 #include "nativeGen/NCG.h"
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Format
 import Reg
 
index c81850c..169d402 100644 (file)
@@ -48,6 +48,8 @@ where
 #include "nativeGen/NCG.h"
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import CodeGen.Platform
 import Reg
 import RegClass
index 34787b3..282d390 100644 (file)
@@ -13,6 +13,8 @@ module ApiAnnotation (
   LRdrName -- Exists for haddocks only
   ) where
 
+import GhcPrelude
+
 import RdrName
 import Outputable
 import SrcLoc
index 6423218..9c3988e 100644 (file)
@@ -16,6 +16,8 @@ module Ctype
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Data.Int         ( Int32 )
 import Data.Bits        ( Bits((.&.)) )
 import Data.Char        ( ord, chr )
index 387cbf8..7969f6e 100644 (file)
@@ -1,6 +1,8 @@
 
 module HaddockUtils where
 
+import GhcPrelude
+
 import HsSyn
 import SrcLoc
 
index 5d3d65d..8c17315 100644 (file)
@@ -75,6 +75,8 @@ module Lexer (
    moveAnnotations
   ) where
 
+import GhcPrelude
+
 -- base
 import Control.Monad
 import Control.Monad.Fail as MonadFail
index a4507fc..d13b9c0 100644 (file)
@@ -83,7 +83,7 @@ import TysWiredIn       ( unitTyCon, unitDataCon, tupleTyCon, tupleDataCon, nilD
 
 -- compiler/utils
 import Util             ( looksLikePackageName )
-import Prelude
+import GhcPrelude
 
 import qualified GHC.LanguageExtensions as LangExt
 }
index 41d8a4a..4eabb66 100644 (file)
@@ -67,6 +67,8 @@ module   RdrHsSyn (
 
     ) where
 
+import GhcPrelude
+
 import HsSyn            -- Lots of it
 import Class            ( FunDep )
 import TyCon            ( TyCon, isTupleTyCon, tyConSingleDataCon_maybe )
index bd80a36..c143b1e 100644 (file)
@@ -18,6 +18,8 @@ module ForeignCall (
         Header(..), CType(..),
     ) where
 
+import GhcPrelude
+
 import FastString
 import Binary
 import Outputable
index 60fa0e2..00085ca 100644 (file)
@@ -26,6 +26,8 @@ module KnownUniques
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import TysWiredIn
 import TyCon
 import DataCon
index eeb4785..b217c84 100644 (file)
@@ -1,5 +1,6 @@
 module KnownUniques where
 
+import GhcPrelude
 import Unique
 import Name
 import BasicTypes
index 47f41fb..8d1f140 100644 (file)
@@ -46,6 +46,8 @@ module PrelInfo (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import KnownUniques
 import Unique           ( isValidKnownKeyUnique )
 
index b7cfb4f..0159037 100644 (file)
@@ -128,6 +128,8 @@ module PrelNames (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Module
 import OccName
 import RdrName
index d2b8d87..fc211f4 100644 (file)
@@ -25,6 +25,8 @@ where
 #include "HsVersions.h"
 #include "../includes/MachDeps.h"
 
+import GhcPrelude
+
 import {-# SOURCE #-} MkId ( mkPrimOpId, magicDictId )
 
 import CoreSyn
index 79bec86..4eb94e9 100644 (file)
@@ -27,6 +27,8 @@ module PrimOp (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import TysPrim
 import TysWiredIn
 
index 6b92ef3..f10ef44 100644 (file)
@@ -1,3 +1,5 @@
 module PrimOp where
 
+import GhcPrelude ()
+
 data PrimOp
index 4128ab3..068f01f 100644 (file)
@@ -6,6 +6,8 @@
 
 module THNames where
 
+import GhcPrelude ()
+
 import PrelNames( mk_known_key_name )
 import Module( Module, mkModuleNameFS, mkModule, thUnitId )
 import Name( Name )
index 0732b56..b4a5b6b 100644 (file)
@@ -80,6 +80,8 @@ module TysPrim(
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import {-# SOURCE #-} TysWiredIn
   ( runtimeRepTy, unboxedTupleKind, liftedTypeKind
   , vecRepDataConTyCon, tupleRepDataConTyCon
index 37e76f9..f4e055f 100644 (file)
@@ -128,6 +128,8 @@ module TysWiredIn (
 #include "HsVersions.h"
 #include "MachDeps.h"
 
+import GhcPrelude
+
 import {-# SOURCE #-} MkId( mkDataConWorkId, mkDictSelId )
 
 -- friends:
index e5fcf31..d1452ad 100644 (file)
@@ -20,6 +20,8 @@ module CostCentre (
         cmpCostCentre   -- used for removing dups in a list
     ) where
 
+import GhcPrelude
+
 import Binary
 import Var
 import Name
index 0de8069..557bdf0 100644 (file)
@@ -8,6 +8,8 @@
 
 module ProfInit (profilingInitCode) where
 
+import GhcPrelude
+
 import CLabel
 import CostCentre
 import DynFlags
index 9704e0b..4c582f4 100644 (file)
@@ -21,6 +21,8 @@ module SCCfinal ( stgMassageForProfiling ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import StgSyn
 
 import CostCentre       -- lots of things
index b956a5a..f43715e 100644 (file)
@@ -26,6 +26,8 @@ module RnBinds (
    HsSigCtxt(..)
    ) where
 
+import GhcPrelude
+
 import {-# SOURCE #-} RnExpr( rnLExpr, rnStmts )
 
 import HsSyn
index d5013b2..7b5d18e 100644 (file)
@@ -45,6 +45,8 @@ module RnEnv (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import LoadIface        ( loadInterfaceForName, loadSrcInterface_maybe )
 import IfaceEnv
 import HsSyn
index 99e3f70..c0d9898 100644 (file)
@@ -21,6 +21,8 @@ module RnExpr (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import RnBinds   ( rnLocalBindsAndThen, rnLocalValBindsLHS, rnLocalValBindsRHS,
                    rnMatchGroup, rnGRHS, makeMiniFixityEnv)
 import HsSyn
index 0bd0857..b1305f5 100644 (file)
@@ -9,6 +9,8 @@ module RnFixity ( MiniFixityEnv,
   lookupFixityRn, lookupFixityRn_help,
   lookupFieldFixityRn, lookupTyFixityRn ) where
 
+import GhcPrelude
+
 import LoadIface
 import HsSyn
 import RdrName
index 9e53f49..ac0731d 100644 (file)
@@ -1,6 +1,8 @@
 
 module RnHsDoc ( rnHsDoc, rnLHsDoc, rnMbLHsDoc ) where
 
+import GhcPrelude
+
 import TcRnTypes
 import HsSyn
 import SrcLoc
index 84e62f0..b1dc887 100644 (file)
@@ -25,6 +25,8 @@ module RnNames (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import DynFlags
 import HsSyn
 import TcEnv
index 9b439a7..ce8f379 100644 (file)
@@ -35,6 +35,8 @@ module RnPat (-- main entry points
 
 -- ENH: thin imports to only what is necessary for patterns
 
+import GhcPrelude
+
 import {-# SOURCE #-} RnExpr ( rnLExpr )
 import {-# SOURCE #-} RnSplice ( rnSplicePat )
 
index 0e11ece..b47686e 100644 (file)
@@ -14,6 +14,8 @@ module RnSource (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import {-# SOURCE #-} RnExpr( rnLExpr )
 import {-# SOURCE #-} RnSplice ( rnSpliceDecl, rnTopSpliceDecls )
 
index a03e4c8..36b1eda 100644 (file)
@@ -11,6 +11,8 @@ module RnSplice (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Name
 import NameSet
 import HsSyn
index 875ba05..d8f0f1f 100644 (file)
@@ -1,5 +1,6 @@
 module RnSplice where
 
+import GhcPrelude
 import HsSyn
 import TcRnMonad
 import NameSet
index a1174f6..dc519b5 100644 (file)
@@ -34,6 +34,8 @@ module RnTypes (
         elemRdr
   ) where
 
+import GhcPrelude
+
 import {-# SOURCE #-} RnSplice( rnSpliceType )
 
 import DynFlags
index cf5dab5..a77025f 100644 (file)
@@ -14,6 +14,8 @@ module RnUnbound ( mkUnboundName
                  , unboundNameX
                  , perhapsForallMsg ) where
 
+import GhcPrelude
+
 import RdrName
 import HscTypes
 import TcRnMonad
index 50598f8..bbac43d 100644 (file)
@@ -26,6 +26,8 @@ module RnUtils (
 where
 
 
+import GhcPrelude
+
 import HsSyn
 import RdrName
 import HscTypes
index 53d7836..16dd64c 100644 (file)
@@ -10,6 +10,8 @@ module CSE (cseProgram, cseOneExpr) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import CoreSubst
 import Var              ( Var )
 import VarEnv           ( elemInScopeSet, mkInScopeSet )
index e41e5bd..0e6cf70 100644 (file)
@@ -7,6 +7,8 @@ module CallArity
     , callArityRHS -- for testing
     ) where
 
+import GhcPrelude
+
 import VarSet
 import VarEnv
 import DynFlags ( DynFlags )
index 9198e0c..35790ab 100644 (file)
@@ -53,6 +53,8 @@ module CoreMonad (
     thNameToGhcName
   ) where
 
+import GhcPrelude hiding ( read )
+
 import Name( Name )
 import TcRnMonad        ( initTcForLookup )
 import CoreSyn
@@ -70,7 +72,6 @@ import Outputable
 import FastString
 import qualified ErrUtils as Err
 import ErrUtils( Severity(..) )
-import Maybes
 import UniqSupply
 import UniqFM       ( UniqFM, mapUFM, filterUFM )
 import MonadUtils
@@ -87,8 +88,6 @@ import Data.Word
 import Control.Monad
 import Control.Applicative ( Alternative(..) )
 
-import Prelude hiding   ( read )
-
 import {-# SOURCE #-} TcSplice ( lookupThName_maybe )
 import qualified Language.Haskell.TH as TH
 
index 3e44e81..af3ad7f 100644 (file)
@@ -19,6 +19,8 @@ module FloatIn ( floatInwards ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import CoreSyn
 import MkCore
 import HscTypes         ( ModGuts(..) )
index 72fc0d1..a8223b4 100644 (file)
@@ -11,6 +11,8 @@
 
 module FloatOut ( floatOutwards ) where
 
+import GhcPrelude
+
 import CoreSyn
 import CoreUtils
 import MkCore
index 1776db5..8cee064 100644 (file)
@@ -9,6 +9,8 @@ module LiberateCase ( liberateCase ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import DynFlags
 import CoreSyn
 import CoreUnfold       ( couldBeSmallEnoughToInline )
index 0c237ca..c2b4bd4 100644 (file)
@@ -19,6 +19,8 @@ module OccurAnal (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import CoreSyn
 import CoreFVs
 import CoreUtils        ( exprIsTrivial, isDefaultAlt, isExpandableApp,
index 923d3a4..e9a62d5 100644 (file)
@@ -51,6 +51,8 @@ essential to make this work well!
 {-# LANGUAGE CPP #-}
 module SAT ( doStaticArgs ) where
 
+import GhcPrelude
+
 import Var
 import CoreSyn
 import CoreUtils
index 5e1d702..5a09db3 100644 (file)
@@ -62,6 +62,8 @@ module SetLevels (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import CoreSyn
 import CoreMonad        ( FloatOutSwitches(..) )
 import CoreUtils        ( exprType, exprIsHNF
index 6f481c5..afb0804 100644 (file)
@@ -10,6 +10,8 @@ module SimplCore ( core2core, simplifyExpr ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import DynFlags
 import CoreSyn
 import HscTypes
index 21ba4bc..0badb2a 100644 (file)
@@ -45,6 +45,8 @@ module SimplEnv (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import SimplMonad
 import CoreMonad                ( SimplMode(..) )
 import CoreSyn
index 015ee5c..915c89e 100644 (file)
@@ -19,6 +19,8 @@ module SimplMonad (
         plusSimplCount, isZeroSimplCount
     ) where
 
+import GhcPrelude
+
 import Var              ( Var, isTyVar, mkLocalVar )
 import Name             ( mkSystemVarName )
 import Id               ( Id, mkSysLocalOrCoVar )
index 8365952..bf09f72 100644 (file)
@@ -35,6 +35,8 @@ module SimplUtils (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import SimplEnv
 import CoreMonad        ( SimplMode(..), Tick(..) )
 import DynFlags
index b17f2af..c73f0f6 100644 (file)
@@ -10,6 +10,8 @@ module Simplify ( simplTopBinds, simplExpr, simplRules ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import DynFlags
 import SimplMonad
 import Type hiding      ( substTy, substTyVar, extendTvSubst, extendCvSubst )
index 2acc815..694aa4e 100644 (file)
@@ -23,6 +23,8 @@ module RepType
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import BasicTypes (Arity, RepArity)
 import DataCon
 import Outputable
index 6c8b005..ad714ea 100644 (file)
@@ -10,6 +10,8 @@ module SimplStg ( stg2stg ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import StgSyn
 
 import CostCentre       ( CollectedCCs )
index b221902..a35309c 100644 (file)
@@ -70,6 +70,8 @@ and nothing stops us from transforming that to
 -}
 module StgCse (stgCse) where
 
+import GhcPrelude
+
 import DataCon
 import Id
 import StgSyn
index 3f75ae2..712ec2d 100644 (file)
@@ -27,6 +27,8 @@ module StgStats ( showStgStats ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import StgSyn
 
 import Id (Id)
index 2e8fbda..6fb8d0e 100644 (file)
@@ -196,6 +196,8 @@ module UnariseStg (unarise) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import BasicTypes
 import CoreSyn
 import DataCon
index a0f42cd..ec19740 100644 (file)
@@ -28,6 +28,8 @@ module Rules (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import CoreSyn          -- All of it
 import Module           ( Module, ModuleSet, elemModuleSet )
 import CoreSubst
index 2b9c20a..609e70c 100644 (file)
@@ -19,6 +19,8 @@ module SpecConstr(
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import CoreSyn
 import CoreSubst
 import CoreUtils
index 83f1ed7..c4fe042 100644 (file)
@@ -9,6 +9,8 @@ module Specialise ( specProgram, specUnfolding ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Id
 import TcType hiding( substTy )
 import Type   hiding( substTy, extendTvSubstList )
index 900d23f..900c52e 100644 (file)
@@ -15,6 +15,8 @@ module CoreToStg ( coreToStg, coreExprToStg ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import CoreSyn
 import CoreUtils        ( exprType, findDefault, isJoinBind )
 import CoreArity        ( manifestArity )
index d7ecbe6..70231f2 100644 (file)
@@ -8,6 +8,8 @@
 
 module StgLint ( lintStgTopBindings ) where
 
+import GhcPrelude
+
 import StgSyn
 
 import Bag              ( Bag, emptyBag, isEmptyBag, snocBag, bagToList )
index afbcc38..b31a8fc 100644 (file)
@@ -45,6 +45,8 @@ module StgSyn (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import CoreSyn     ( AltCon, Tickish )
 import CostCentre  ( CostCentreStack )
 import Data.ByteString ( ByteString )
index 4991241..44adc81 100644 (file)
@@ -13,6 +13,8 @@ module DmdAnal ( dmdAnalProgram ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import DynFlags
 import WwLib            ( findTypeShape, deepSplitProductType_maybe )
 import Demand   -- All of it
index 630ec11..252f18b 100644 (file)
@@ -7,6 +7,8 @@
 {-# LANGUAGE CPP #-}
 module WorkWrap ( wwTopBinds ) where
 
+import GhcPrelude
+
 import CoreSyn
 import CoreUnfold       ( certainlyWillInline, mkWwInlineRule, mkWorkerUnfolding )
 import CoreUtils        ( exprType, exprIsHNF )
index f83aafe..474743a 100644 (file)
@@ -13,6 +13,8 @@ module WwLib ( mkWwBodies, mkWWstr, mkWorkerArgs
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import CoreSyn
 import CoreUtils        ( exprType, mkCast )
 import Id
index a869ff4..9c91daa 100644 (file)
@@ -14,6 +14,8 @@ module FamInst (
         makeInjectivityErrors, injTyVarsOfType, injTyVarsOfTypes
     ) where
 
+import GhcPrelude
+
 import HscTypes
 import FamInstEnv
 import InstEnv( roughMatchTcs )
index 789254d..e4936a9 100644 (file)
@@ -19,6 +19,8 @@ module FunDeps (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Name
 import Var
 import Class
index 69f0005..6d656fe 100644 (file)
@@ -32,6 +32,8 @@ module Inst (
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import {-# SOURCE #-}   TcExpr( tcPolyExpr, tcSyntaxOp )
 import {-# SOURCE #-}   TcUnify( unifyType, unifyKind )
 
index 2c587e2..edf696e 100644 (file)
@@ -10,6 +10,8 @@
 
 module TcAnnotations ( tcAnnotations, annCtxt ) where
 
+import GhcPrelude
+
 import {-# SOURCE #-} TcSplice ( runAnnotation )
 import Module
 import DynFlags
index d56a8d8..d456438 100644 (file)
@@ -10,6 +10,8 @@ Typecheck arrow notation
 
 module TcArrows ( tcProc ) where
 
+import GhcPrelude
+
 import {-# SOURCE #-}   TcExpr( tcMonoExpr, tcInferRho, tcSyntaxOp, tcCheckId, tcPolyExpr )
 
 import HsSyn
index dd8062f..31055fd 100644 (file)
@@ -17,6 +17,8 @@ module TcBackpack (
     instantiateSignature,
 ) where
 
+import GhcPrelude
+
 import BasicTypes (defaultFixity)
 import Packages
 import TcRnExports
index 24173eb..128fc37 100644 (file)
@@ -15,6 +15,8 @@ module TcBinds ( tcLocalBinds, tcTopBinds, tcRecSelBinds,
                  chooseInferredQuantifiers,
                  badBootDeclErr ) where
 
+import GhcPrelude
+
 import {-# SOURCE #-} TcMatches ( tcGRHSsPat, tcMatchesFun )
 import {-# SOURCE #-} TcExpr  ( tcMonoExpr )
 import {-# SOURCE #-} TcPatSyn ( tcInferPatSynDecl, tcCheckPatSynDecl
index 7b25925..034deb5 100644 (file)
@@ -9,6 +9,8 @@ module TcCanonical(
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import TcRnTypes
 import TcUnify( swapOverTyVars, metaTyVarUpdateOK )
 import TcType
index 0a64ffe..2503197 100644 (file)
@@ -20,6 +20,8 @@ module TcClassDcl ( tcClassSigs, tcClassDecl2,
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import HsSyn
 import TcEnv
 import TcSigs
index 8d005a0..8ab13fa 100644 (file)
@@ -8,6 +8,8 @@
 
 module TcDefaults ( tcDefaults ) where
 
+import GhcPrelude
+
 import HsSyn
 import Class
 import TcRnMonad
index 829b4c9..155aee8 100644 (file)
@@ -13,6 +13,8 @@ module TcDeriv ( tcDeriving, DerivInfo(..), mkDerivInfos ) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import HsSyn
 import DynFlags
 
index 81bbfd9..f598e70 100644 (file)
@@ -13,6 +13,8 @@ module TcDerivInfer (inferConstraints, simplifyInstanceContexts) where
 
 #include "HsVersions.h"
 
+import GhcPrelude
+
 import Bag
 import BasicTypes