ghc-api-compat 8.10.7 → 9.0.1
raw patch · 3 files changed
+440/−5 lines, 3 filesdep +containersdep ~ghc
Dependencies added: containers
Dependency ranges changed: ghc
Files
- ghc-api-compat.cabal +396/−5
- src/DynFlags.hs +30/−0
- src/Outputable.hs +14/−0
ghc-api-compat.cabal view
@@ -1,5 +1,5 @@ name: ghc-api-compat-version: 8.10.7+version: 9.0.1 synopsis: GHC-API compatibility helpers description: GHC codebase is a moving target. This package provides@@ -18,14 +18,17 @@ library build-depends:- ghc == 8.10.5 || == 8.10.6 || == 8.10.7- , base < 5.0+ ghc == 9.0.*, base < 5.0 default-language: Haskell2010 + hs-source-dirs: src+ exposed-modules: Outputable DynFlags+ build-depends:+ containers >= 0.6.0 && <= 0.6.5+ reexported-modules: GHC.Platform.AArch64 as CodeGen.Platform.ARM64- , GHC.Hs.Types as HsTypes- , GHC.Hs.PlaceHolder as PlaceHolder+ , GHC.Hs.Binds as HsBinds , GHC.Hs.Decls as HsDecls , GHC.Hs.Doc as HsDoc@@ -74,3 +77,391 @@ , GHC.HsToCore.PmCheck.Oracle as PmOracle , GHC.HsToCore.PmCheck.Ppr as PmPpr , GHC.HsToCore.PmCheck.Types as PmTypes++ , GHC.Rename.Doc as RnHsDoc+ , GHC.Utils.Encoding as Encoding+ , GHC.Core.Map as CoreMap+ , GHC.Core.Ppr.TyThing as PprTyThing+ , GHC.Driver.Types as HscTypes+ , GHC.Driver.Finder as Finder+ , GHC.CoreToByteCode as ByteCodeGen+ , GHC.Runtime.Linker.Types as LinkerTypes+ , GHC.Runtime.Linker as Linker+ , GHC.SysTools.FileCleanup as FileCleanup+ , GHC.SysTools.ExtraObj as SysTools.ExtraObj+ , GHC.Cmm.Monad as CmmMonad+ , GHC.Builtin.RebindableNames++ , GHC.Rename.Bind as RnBinds+ , GHC.Rename.Env as RnEnv+ , GHC.Rename.Expr as RnExpr+ , GHC.Rename.Fixity as RnFixity+ , GHC.Rename.Names as RnNames+ , GHC.Rename.Pat as RnPat+ , GHC.Rename.Module as RnSource+ , GHC.Rename.Splice as RnSplice+ , GHC.Rename.HsType as RnTypes+ , GHC.Rename.Unbound as RnUnbound+ , GHC.Rename.Utils as RnUtils++ , GHC.Builtin.Names as PrelNames+ , GHC.Builtin.Names.TH as THNames+ , GHC.Builtin.PrimOps as PrimOp+ , GHC.Builtin.Types as TysWiredIn+ , GHC.Builtin.Types.Literals as TcTypeNats+ , GHC.Builtin.Types.Prim as TysPrims+ , GHC.Builtin.Uniques as KnownUniques+ , GHC.Builtin.Utils as PrelInfo++ , GHC.Types.Annotations as Annotations+ , GHC.Types.Avail as Avail+ , GHC.Types.Basic as Basic+ , GHC.Types.Basic as BasicTypes+ , GHC.Types.CostCentre as CostCentre+ , GHC.Types.CostCentre.State as CostCentreState+ , GHC.Types.Cpr as Cpr+ , GHC.Types.Demand as Demand+ , GHC.Types.FieldLabel as FieldLabel+ , GHC.Types.ForeignCall as ForeignCall+ , GHC.Types.Id as Id+ , GHC.Types.Id.Info as Info+ , GHC.Types.Id.Make as Make+ , GHC.Types.Literal as Literal+ , GHC.Types.Name as Name+ , GHC.Types.Name.Cache as NameCache+ , GHC.Types.Name.Env as NameEnv+ , GHC.Types.Name.Occurrence as OccName+ , GHC.Types.Name.Reader as RdrName+ , GHC.Types.Name.Set as NameSet+ , GHC.Types.Name.Shape as NameShape+ , GHC.Types.RepType as RepType+ , GHC.Types.SrcLoc as SrcLoc+ , GHC.Types.Unique as Unique+ , GHC.Types.Unique.DFM as UniqDFM+ , GHC.Types.Unique.DSet as UniqDSet+ , GHC.Types.Unique.FM as UniqFM+ , GHC.Types.Unique.Set as UniqSet+ , GHC.Types.Unique.Supply as UniqSupply+ , GHC.Types.Var as Var+ , GHC.Types.Var.Env as VarEnv+ , GHC.Types.Var.Set as VarSet++ , GHC.Cmm.BlockId as BlockId+ , GHC.Cmm.CLabel as CLabel+ , GHC.Cmm.CallConv as CmmCallConv+ , GHC.Cmm.CommonBlockElim as CmmCommonBlockElim+ , GHC.Cmm.ContFlowOpt as CmmContFlowOpt+ , GHC.Cmm.Expr as CmmExpr+ , GHC.Cmm as Cmm+ , GHC.Cmm.Switch as CmmSwitch+ , GHC.Cmm.Switch.Implement as CmmImplementSwitchPlans+ , GHC.Cmm.Info as CmmInfo+ , GHC.Cmm.Info.Build as CmmBuildInfoTables+ , GHC.Cmm.LayoutStack as CmmLayoutStack+ , GHC.Cmm.Lint as CmmLint+ , GHC.Cmm.Liveness as CmmLive+ , GHC.Cmm.MachOp as CmmMachOp+ , GHC.Cmm.Node as CmmNode+ , GHC.Cmm.Opt as CmmOpt+ , GHC.Cmm.Pipeline as CmmPipeline+ , GHC.Cmm.ProcPoint as CmmProcPoint+ , GHC.Cmm.Sink as CmmSink+ , GHC.Cmm.Type as CmmType+ , GHC.Cmm.Utils as CmmUtils+ , GHC.Cmm.DebugBlock as Debug+ , GHC.Cmm.Dataflow.Block as Hoopl.Block+ , GHC.Cmm.Dataflow.Collections as Hoopl.Collections+ , GHC.Cmm.Dataflow as Hoopl.Dataflow+ , GHC.Cmm.Dataflow.Graph as Hoopl.Graph+ , GHC.Cmm.Dataflow.Label as Hoopl.Label+ , GHC.Cmm.Graph as MkGraph+ , GHC.Cmm.Ppr.Decl as PprCmmDecl+ , GHC.Cmm.Ppr.Expr as PprCmmExpr+ , GHC.Cmm.Ppr as PprCmm+ , GHC.Cmm.Lexer as CmmLex+ , GHC.Cmm.Parser as CmmParse++ , GHC.CmmToC as PprC++ , GHC.Data.Bag as Bag+ , GHC.Data.Bitmap as BitMap+ , GHC.Data.BooleanFormula as BooleanFormula+ , GHC.Data.EnumSet as EnumSet+ , GHC.Data.FastMutInt as FastMutInt+ , GHC.Data.FastString as FastString+ , GHC.Data.FastString.Env as FastStringEnv+ , GHC.Data.FiniteMap as FiniteMap+ , GHC.Data.Graph.Base as GraphBase+ , GHC.Data.Graph.Color as GraphColor+ , GHC.Data.Graph.Directed as DiGraph+ , GHC.Data.Graph.Ops as GraphOps+ , GHC.Data.Graph.Ppr as GraphPpr+ , GHC.Data.Graph.UnVar as UnVarGraph+ , GHC.Data.IOEnv as IOEnv+ , GHC.Data.List.SetOps as ListSetOpts+ , GHC.Data.Maybe as Maybes+ , GHC.Data.OrdList as OrdList+ , GHC.Data.Pair as Pair+ , GHC.Data.Stream as Stream+ , GHC.Data.StringBuffer as StringBuffer+ , GHC.Data.TrieMap as TrieMap++ , GHC.Unit.State as Packages+ , GHC.Unit.Info as PackageConfig+ , GHC.Unit.Module as Module++ , GHC.Hs.Type as HsTypes++ , GHC.HsToCore as Desugar+ , GHC.HsToCore.Coverage as Coverage+ , GHC.HsToCore.Arrows as DsArrows+ , GHC.HsToCore.Binds as DsBinds+ , GHC.HsToCore.Foreign.Call as DsCCall+ , GHC.HsToCore.Foreign.Decl as DsForeign+ , GHC.HsToCore.Expr as DsExpr+ , GHC.HsToCore.GuardedRHSs as DsGRHSs+ , GHC.HsToCore.ListComp as DsListComp+ , GHC.HsToCore.Quote as DsMeta+ , GHC.HsToCore.Monad as DsMonad+ , GHC.HsToCore.Usage as DsUsage+ , GHC.HsToCore.Utils as DsUtils+ , GHC.HsToCore.Docs as ExtractDocs+ , GHC.HsToCore.Match as Match+ , GHC.HsToCore.Match.Constructor as MatchCon+ , GHC.HsToCore.Match.Literal as MatchLit++ , GHC.Stg.Pipeline as SimplStg+ , GHC.Stg.CSE as StgCse+ , GHC.Stg.Stats as StgStats+ , GHC.Stg.Unarise as UnariseStg+ , GHC.Stg.FVs as StgFVs+ , GHC.Stg.Lint as StgLint+ , GHC.Stg.Subst as StgSubst+ , GHC.Stg.Syntax as StgSyn++ -- Expose as two modules as they apparently got merged+ , GHC.Settings as Settings+ , GHC.Settings as ToolSettings+ , GHC.Settings.Config as Config+ , GHC.Settings.Constants as Constants+ , GHC.Settings.IO as SysTools.Settings++ , GHC.Stg.Lift as StgLiftLams+ , GHC.Stg.Lift.Analysis as StgLiftLams.Analysis+ , GHC.Stg.Lift.Monad as StgLiftLams.LiftM++ , GHC.SysTools as SysTools+ , GHC.SysTools.Ar as Ar+ , GHC.SysTools.BaseDir as SysTools.BaseDir+ , GHC.SysTools.Elf as Elf+ , GHC.SysTools.Info as SysTools.Info+ , GHC.SysTools.Process as SysTools.Process+ , GHC.SysTools.Tasks as SysTools.Tasks+ , GHC.SysTools.Terminal as SysTools.Terminal++ , GHC.CoreToStg as CoreToStg+ , GHC.CoreToStg.Prep as CorePrep++ , GHC.Iface.Binary as BinIface+ , GHC.Iface.Env as IfaceEnv+ , GHC.Iface.Syntax as IfaceSyn+ , GHC.Iface.Type as IfaceType+ , GHC.Iface.Load as LoadIface+ , GHC.Iface.Make as MkIface+ , GHC.Iface.Recomp+ , GHC.Iface.Rename as RnModIface+ , GHC.Iface.Tidy as TidyPgm++ , GHC.Iface.Ext.Ast as HieAst+ , GHC.Iface.Ext.Binary as HieBin+ , GHC.Iface.Ext.Debug as HieDebug+ , GHC.Iface.Ext.Types as HieTypes+ , GHC.Iface.Ext.Utils as HieUtils++ , GHC.IfaceToCore as TcIface+ , GHC.CoreToIface as ToIface++ , GHC.Data.Bitmap as Bitmap++ , GHC.Runtime.Debugger as Debugger+ , GHC.Runtime.Interpreter as GHCi+ , GHC.Runtime.Loader as DynamicLoading+ , GHC.Runtime.Eval as InteractiveEval+ , GHC.Runtime.Eval.Types as InteractiveEvalTypes+ , GHC.Runtime.Heap.Layout as SMRep+ , GHC.Runtime.Heap.Inspect as RtClosureInspect++ , GHC.ByteCode.Asm as ByteCodeAsm+ , GHC.ByteCode.Instr as ByteCodeInstr+ , GHC.ByteCode.InfoTable as ByteCodeItbls+ , GHC.ByteCode.Linker as ByteCodeLink+ , GHC.ByteCode.Types as ByteCodeTypes++ , GHC.Llvm.MetaData as Llvm.MetaData+ , GHC.Llvm.Ppr as Llvm.PpLlvm+ , GHC.Llvm.Types as Llvm.Types+ , GHC.Llvm.Syntax as Llvm.AbsSyn+ , GHC.Llvm as Llvm+ , GHC.CmmToLlvm as LlvmCodeGen+ , GHC.CmmToLlvm.Mangler as LlvmMangler+ , GHC.CmmToLlvm.Base as LlvmCodeGen.Base+ , GHC.CmmToLlvm.CodeGen as LlvmCodeGen.CodeGen+ , GHC.CmmToLlvm.Data as LlvmCodeGen.Data+ , GHC.CmmToLlvm.Ppr as LlvmCodeGen.Ppr+ , GHC.CmmToLlvm.Regs as LlvmCodeGen.Regs+ , GHC.Driver.Backpack.Syntax as BkpSyn+ , GHC.Driver.Backpack as DriverBkp+ , GHC.Driver.CmdLine as CmdLineParser+ , GHC.Driver.CodeOutput as CodeOutput+ , GHC.Driver.MakeFile as DriverMkDepend+ , GHC.Driver.Main as HscMain+ , GHC.Driver.Make as GhcMake+ , GHC.Driver.Hooks as Hooks+ -- , GHC.Driver.Session as DynFlags+ , GHC.Driver.Phases as DriverPhases+ , GHC.Driver.Pipeline as DriverPipeline+ , GHC.Driver.Pipeline.Monad as PipelineMonad+ , GHC.Driver.Plugins as Plugins+ , GHC.Driver.Monad as GhcMonad+ , GHC.Prelude as GhcPrelude+ , GHC.Plugins as GhcPlugins+ , GHC as GHC+ , GHC.CmmToAsm as AsmCodeGen+ , GHC.CmmToAsm.BlockLayout as BlockLayout+ , GHC.CmmToAsm.CFG as CFG+ , GHC.CmmToAsm.CFG.Dominators as Dominators+ , GHC.CmmToAsm.CPrim as CPrim+ , GHC.CmmToAsm.Dwarf.Constants as Dwarf.Constants+ , GHC.CmmToAsm.Dwarf as Dwarf+ , GHC.CmmToAsm.Dwarf.Types as Dwarf.Types+ , GHC.CmmToAsm.Format as Format+ , GHC.CmmToAsm.Instr as Instruction+ , GHC.CmmToAsm.Monad as NCGMonad+ , GHC.CmmToAsm.PIC as PIC+ , GHC.CmmToAsm.Ppr as PprBase+ , GHC.CmmToAsm.Reg.Graph.Base as RegAlloc.Graph.ArchBase+ , GHC.CmmToAsm.Reg.Graph.X86 as RegAlloc.Graph.ArchX86+ , GHC.CmmToAsm.Reg.Graph.Coalesce as RegAlloc.Graph.Coalesce+ , GHC.CmmToAsm.Reg.Graph as RegAlloc.Graph.Main+ , GHC.CmmToAsm.Reg.Graph.SpillClean as RegAlloc.Graph.SpillClean+ , GHC.CmmToAsm.Reg.Graph.SpillCost as RegAlloc.Graph.SpillCost+ , GHC.CmmToAsm.Reg.Graph.Spill as RegAlloc.Graph.Spill+ , GHC.CmmToAsm.Reg.Graph.Stats as RegAlloc.Graph.Stats+ , GHC.CmmToAsm.Reg.Graph.TrivColorable as RegAlloc.Graph.TrivColorable+ , GHC.CmmToAsm.Reg.Linear.Base as RegAlloc.Linear.Base+ , GHC.CmmToAsm.Reg.Linear.JoinToTargets as RegAlloc.Linear.JoinToTargets+ , GHC.CmmToAsm.Reg.Linear as RegAlloc.Linear.Main+ , GHC.CmmToAsm.Reg.Linear.StackMap as RegAlloc.Linear.StackMap+ , GHC.CmmToAsm.Reg.Linear.State as RegAlloc.Linear.State+ , GHC.CmmToAsm.Reg.Linear.Stats as RegAlloc.Linear.Stats+ , GHC.CmmToAsm.Reg.Linear.FreeRegs as RegAlloc.Linear.FreeRegs+ , GHC.CmmToAsm.Reg.Linear.PPC as RegAlloc.Linear.PPC.FreeRegs+ , GHC.CmmToAsm.Reg.Linear.SPARC as RegAlloc.Linear.SPARC.FreeRegs+ , GHC.CmmToAsm.Reg.Linear.X86_64 as RegAlloc.Linear.X86_64.FreeRegs+ , GHC.CmmToAsm.Reg.Linear.X86 as RegAlloc.Linear.X86.FreeRegs+ , GHC.Platform.Reg as Reg+ , GHC.Platform.Reg.Class as RegClass+ , GHC.CmmToAsm.Reg.Liveness as RegAlloc.Liveness+ , GHC.CmmToAsm.Reg.Target as TargetReg+ , GHC.CmmToAsm.PPC.CodeGen as PPC.CodeGen+ , GHC.CmmToAsm.PPC.Cond as PPC.Cond+ , GHC.CmmToAsm.PPC.Instr as PPC.Instr+ , GHC.CmmToAsm.PPC.Ppr as PPC.Ppr+ , GHC.CmmToAsm.PPC.RegInfo as PPC.RegInfo+ , GHC.CmmToAsm.PPC.Regs as PPC.Regs+ , GHC.CmmToAsm.SPARC.AddrMode as SPARC.AddrMode+ , GHC.CmmToAsm.SPARC.Base as SPARC.Base+ , GHC.CmmToAsm.SPARC.CodeGen.Amode as SPARC.CodeGen.Amode+ , GHC.CmmToAsm.SPARC.CodeGen.Base as SPARC.CodeGen.Base+ , GHC.CmmToAsm.SPARC.CodeGen.CondCode as SPARC.CodeGen.CondCode+ , GHC.CmmToAsm.SPARC.CodeGen.Expand as SPARC.CodeGen.Expand+ , GHC.CmmToAsm.SPARC.CodeGen.Gen32 as SPARC.CodeGen.Gen32+ , GHC.CmmToAsm.SPARC.CodeGen.Gen64 as SPARC.CodeGen.Gen64+ , GHC.CmmToAsm.SPARC.CodeGen as SPARC.CodeGen+ , GHC.CmmToAsm.SPARC.CodeGen.Sanity as SPARC.CodeGen.Sanity+ , GHC.CmmToAsm.SPARC.Cond as SPARC.Cond+ , GHC.CmmToAsm.SPARC.Imm as SPARC.Imm+ , GHC.CmmToAsm.SPARC.Instr as SPARC.Instr+ , GHC.CmmToAsm.SPARC.Ppr as SPARC.Ppr+ , GHC.CmmToAsm.SPARC.Regs as SPARC.Regs+ , GHC.CmmToAsm.SPARC.ShortcutJump as SPARC.ShortcutJump+ , GHC.CmmToAsm.SPARC.Stack as SPARC.Stack+ , GHC.CmmToAsm.X86.CodeGen as X86.CodeGen+ , GHC.CmmToAsm.X86.Cond as X86.Cond+ , GHC.CmmToAsm.X86.Instr as X86.Instr+ , GHC.CmmToAsm.X86.Ppr as X86.Ppr+ , GHC.CmmToAsm.X86.RegInfo as X86.RegInfo+ , GHC.CmmToAsm.X86.Regs as X86.Regs++ , GHC.Core as CoreSyn+ , GHC.Core.Class as Class+ , GHC.Core.Coercion as Coercion+ , GHC.Core.Coercion.Axiom as CoAxion+ , GHC.Core.Coercion.Opt as OptCoercion+ , GHC.Core.ConLike as ConLike+ , GHC.Core.DataCon as DataCon+ , GHC.Core.FVs as CoreFVs+ , GHC.Core.FamInstEnv as FamInstEnv+ , GHC.Core.InstEnv as InstEnv+ , GHC.Core.Lint as CoreLint+ , GHC.Core.Make as MkCore+ , GHC.Core.Multiplicity++ , GHC.Core.Opt.Arity as CoreArity+ , GHC.Core.Opt.Monad as CoreMonad++ , GHC.Core.PatSyn as PatSyn+ , GHC.Core.Ppr as PprCore+ , GHC.Core.Predicate as Predicate+ , GHC.Core.Rules as Rules+ , GHC.Core.Seq as CoreSeq+ , GHC.Core.SimpleOpt as CoreOpt+ , GHC.Core.Stats as CoreStats+ , GHC.Core.Subst as CoreSubst+ , GHC.Core.Tidy as CoreTidy++ , GHC.Core.TyCo.FVs as TyCoFVs+ , GHC.Core.TyCo.Ppr as TyCoPpr+ , GHC.Core.TyCo.Rep as TyCoRep+ , GHC.Core.TyCo.Subst as TyCoSubst+ , GHC.Core.TyCo.Tidy as TyCoTidy++ , GHC.Core.TyCon as TyCon+ , GHC.Core.Type as Type+ , GHC.Core.Unfold as CoreUnfold+ , GHC.Core.Unify as Unify+ , GHC.Core.UsageEnv+ , GHC.Core.Utils as CoreUtils++ , GHC.Utils.Asm as AsmUtils+ , GHC.Utils.Binary as Binary+ , GHC.Utils.BufHandle as BufWrite+ , GHC.Utils.CliOption as CliOption+ , GHC.Utils.Error as ErrUtils+ , GHC.Utils.Exception as Exception+ , GHC.Utils.FV as FV+ , GHC.Utils.Fingerprint as Fingerprint+ , GHC.Utils.IO.Unsafe as FastFunctions+ , GHC.Utils.Json as Json+ , GHC.Utils.Lexeme as Lexeme+ , GHC.Utils.Misc as Util+ , GHC.Utils.Monad as MonadUtils+ , GHC.Utils.Monad.State as State+ -- Customly exposed+ -- , GHC.Utils.Outputable as Outputable+ , GHC.Utils.Panic as Panic+ , GHC.Utils.Panic.Plain as PlainPanic+ , GHC.Utils.Ppr as Pretty+ , GHC.Utils.Ppr.Colour as PprColour++ , GHC.Parser as Parser+ , GHC.Parser.CharClass as CType+ , GHC.Parser.Header as HeaderInfo+ , GHC.Parser.Lexer as Lexer+ , GHC.Parser.PostProcess as RdrHsSyn++ , GHC.Tc.Types as TcRnTypes+ , GHC.Tc.Utils.Zonk as TcHsSyn+ , GHC.Tc.Utils.Env as TcEnv+ , GHC.Tc.Utils.Monad as TcRnMonad+ , GHC.Driver.Backend
+ src/DynFlags.hs view
@@ -0,0 +1,30 @@+{-# LANGUAGE CPP #-}+module DynFlags+ ( module GHC.Driver.Session,+ Way(..),+ wayRTSOnly,+ wayGeneralFlags,+ wayUnsetGeneralFlags,+ buildTag,+ dynamicGhc,+ hostFullWays,+ interpWays,+ )+where++import Data.Set (Set)+import GHC.Driver.Session+#if MIN_VERSION_GLASGOW_HASKELL(9,2,0,0)+import GHC.Platform.Ways+#else+import GHC.Driver.Ways+#endif++buildTag :: DynFlags -> String+buildTag = waysBuildTag . ways++dynamicGhc :: Bool+dynamicGhc = hostIsDynamic++interpWays :: Set Way+interpWays = hostFullWays
+ src/Outputable.hs view
@@ -0,0 +1,14 @@+{-# LANGUAGE CPP #-}++module Outputable+ ( module GHC.Utils.Outputable+#if !MIN_VERSION_GLASGOW_HASKELL(9,0,0,0)+ -- now exported again from Outputable+ , initSDocContext+#endif+ ) where++import GHC.Utils.Outputable+#if !MIN_VERSION_GLASGOW_HASKELL(9,0,0,0)+import GHC.Driver.Session (initSDocContext)+#endif