ghc-boot 9.8.1 → 9.10.1
raw patch · 3 files changed
+13/−171 lines, 3 filesdep +ghc-platformdep ~basedep ~containersdep ~filepathPVP ok
version bump matches the API change (PVP)
Dependencies added: ghc-platform
Dependency ranges changed: base, containers, filepath, ghc-boot-th
API changes (from Hackage documentation)
- GHC.Data.ShortText: instance Data.String.IsString GHC.Data.ShortText.ShortText
- GHC.Data.ShortText: instance GHC.Base.Monoid GHC.Data.ShortText.ShortText
- GHC.Data.ShortText: instance GHC.Base.Semigroup GHC.Data.ShortText.ShortText
- GHC.Data.ShortText: instance GHC.Show.Show GHC.Data.ShortText.ShortText
- GHC.Data.SizedSeq: instance Data.Foldable.Foldable GHC.Data.SizedSeq.SizedSeq
- GHC.Data.SizedSeq: instance Data.Traversable.Traversable GHC.Data.SizedSeq.SizedSeq
- GHC.Data.SizedSeq: instance GHC.Base.Functor GHC.Data.SizedSeq.SizedSeq
- GHC.Data.SizedSeq: instance GHC.Generics.Generic (GHC.Data.SizedSeq.SizedSeq a)
- GHC.Data.SizedSeq: instance GHC.Show.Show a => GHC.Show.Show (GHC.Data.SizedSeq.SizedSeq a)
- GHC.Platform.ArchOS: ARMv5 :: ArmISA
- GHC.Platform.ArchOS: ARMv6 :: ArmISA
- GHC.Platform.ArchOS: ARMv7 :: ArmISA
- GHC.Platform.ArchOS: ArchAArch64 :: Arch
- GHC.Platform.ArchOS: ArchARM :: ArmISA -> [ArmISAExt] -> ArmABI -> Arch
- GHC.Platform.ArchOS: ArchAlpha :: Arch
- GHC.Platform.ArchOS: ArchJavaScript :: Arch
- GHC.Platform.ArchOS: ArchLoongArch64 :: Arch
- GHC.Platform.ArchOS: ArchMipseb :: Arch
- GHC.Platform.ArchOS: ArchMipsel :: Arch
- GHC.Platform.ArchOS: ArchOS :: Arch -> OS -> ArchOS
- GHC.Platform.ArchOS: ArchPPC :: Arch
- GHC.Platform.ArchOS: ArchPPC_64 :: PPC_64ABI -> Arch
- GHC.Platform.ArchOS: ArchRISCV64 :: Arch
- GHC.Platform.ArchOS: ArchS390X :: Arch
- GHC.Platform.ArchOS: ArchUnknown :: Arch
- GHC.Platform.ArchOS: ArchWasm32 :: Arch
- GHC.Platform.ArchOS: ArchX86 :: Arch
- GHC.Platform.ArchOS: ArchX86_64 :: Arch
- GHC.Platform.ArchOS: ELF_V1 :: PPC_64ABI
- GHC.Platform.ArchOS: ELF_V2 :: PPC_64ABI
- GHC.Platform.ArchOS: HARD :: ArmABI
- GHC.Platform.ArchOS: IWMMX2 :: ArmISAExt
- GHC.Platform.ArchOS: NEON :: ArmISAExt
- GHC.Platform.ArchOS: OSAIX :: OS
- GHC.Platform.ArchOS: OSDarwin :: OS
- GHC.Platform.ArchOS: OSDragonFly :: OS
- GHC.Platform.ArchOS: OSFreeBSD :: OS
- GHC.Platform.ArchOS: OSGhcjs :: OS
- GHC.Platform.ArchOS: OSHaiku :: OS
- GHC.Platform.ArchOS: OSHurd :: OS
- GHC.Platform.ArchOS: OSKFreeBSD :: OS
- GHC.Platform.ArchOS: OSLinux :: OS
- GHC.Platform.ArchOS: OSMinGW32 :: OS
- GHC.Platform.ArchOS: OSNetBSD :: OS
- GHC.Platform.ArchOS: OSOpenBSD :: OS
- GHC.Platform.ArchOS: OSQNXNTO :: OS
- GHC.Platform.ArchOS: OSSolaris2 :: OS
- GHC.Platform.ArchOS: OSUnknown :: OS
- GHC.Platform.ArchOS: OSWasi :: OS
- GHC.Platform.ArchOS: SOFT :: ArmABI
- GHC.Platform.ArchOS: SOFTFP :: ArmABI
- GHC.Platform.ArchOS: VFPv2 :: ArmISAExt
- GHC.Platform.ArchOS: VFPv3 :: ArmISAExt
- GHC.Platform.ArchOS: VFPv3D16 :: ArmISAExt
- GHC.Platform.ArchOS: [archOS_OS] :: ArchOS -> OS
- GHC.Platform.ArchOS: [archOS_arch] :: ArchOS -> Arch
- GHC.Platform.ArchOS: data Arch
- GHC.Platform.ArchOS: data ArchOS
- GHC.Platform.ArchOS: data ArmABI
- GHC.Platform.ArchOS: data ArmISA
- GHC.Platform.ArchOS: data ArmISAExt
- GHC.Platform.ArchOS: data OS
- GHC.Platform.ArchOS: data PPC_64ABI
- GHC.Platform.ArchOS: instance GHC.Classes.Eq GHC.Platform.ArchOS.Arch
- GHC.Platform.ArchOS: instance GHC.Classes.Eq GHC.Platform.ArchOS.ArchOS
- GHC.Platform.ArchOS: instance GHC.Classes.Eq GHC.Platform.ArchOS.ArmABI
- GHC.Platform.ArchOS: instance GHC.Classes.Eq GHC.Platform.ArchOS.ArmISA
- GHC.Platform.ArchOS: instance GHC.Classes.Eq GHC.Platform.ArchOS.ArmISAExt
- GHC.Platform.ArchOS: instance GHC.Classes.Eq GHC.Platform.ArchOS.OS
- GHC.Platform.ArchOS: instance GHC.Classes.Eq GHC.Platform.ArchOS.PPC_64ABI
- GHC.Platform.ArchOS: instance GHC.Classes.Ord GHC.Platform.ArchOS.Arch
- GHC.Platform.ArchOS: instance GHC.Classes.Ord GHC.Platform.ArchOS.ArchOS
- GHC.Platform.ArchOS: instance GHC.Classes.Ord GHC.Platform.ArchOS.ArmABI
- GHC.Platform.ArchOS: instance GHC.Classes.Ord GHC.Platform.ArchOS.ArmISA
- GHC.Platform.ArchOS: instance GHC.Classes.Ord GHC.Platform.ArchOS.ArmISAExt
- GHC.Platform.ArchOS: instance GHC.Classes.Ord GHC.Platform.ArchOS.OS
- GHC.Platform.ArchOS: instance GHC.Classes.Ord GHC.Platform.ArchOS.PPC_64ABI
- GHC.Platform.ArchOS: instance GHC.Read.Read GHC.Platform.ArchOS.Arch
- GHC.Platform.ArchOS: instance GHC.Read.Read GHC.Platform.ArchOS.ArchOS
- GHC.Platform.ArchOS: instance GHC.Read.Read GHC.Platform.ArchOS.ArmABI
- GHC.Platform.ArchOS: instance GHC.Read.Read GHC.Platform.ArchOS.ArmISA
- GHC.Platform.ArchOS: instance GHC.Read.Read GHC.Platform.ArchOS.ArmISAExt
- GHC.Platform.ArchOS: instance GHC.Read.Read GHC.Platform.ArchOS.OS
- GHC.Platform.ArchOS: instance GHC.Read.Read GHC.Platform.ArchOS.PPC_64ABI
- GHC.Platform.ArchOS: instance GHC.Show.Show GHC.Platform.ArchOS.Arch
- GHC.Platform.ArchOS: instance GHC.Show.Show GHC.Platform.ArchOS.ArchOS
- GHC.Platform.ArchOS: instance GHC.Show.Show GHC.Platform.ArchOS.ArmABI
- GHC.Platform.ArchOS: instance GHC.Show.Show GHC.Platform.ArchOS.ArmISA
- GHC.Platform.ArchOS: instance GHC.Show.Show GHC.Platform.ArchOS.ArmISAExt
- GHC.Platform.ArchOS: instance GHC.Show.Show GHC.Platform.ArchOS.OS
- GHC.Platform.ArchOS: instance GHC.Show.Show GHC.Platform.ArchOS.PPC_64ABI
- GHC.Platform.ArchOS: stringEncodeArch :: Arch -> String
- GHC.Platform.ArchOS: stringEncodeOS :: OS -> String
- GHC.Unit.Database: instance (GHC.Show.Show uid, GHC.Show.Show modulename, GHC.Show.Show mod, GHC.Show.Show srcpkgid, GHC.Show.Show srcpkgname) => GHC.Show.Show (GHC.Unit.Database.GenericUnitInfo srcpkgid srcpkgname uid modulename mod)
- GHC.Unit.Database: instance Data.Foldable.Foldable (GHC.Unit.Database.DbOpenMode mode)
- GHC.Unit.Database: instance Data.Traversable.Traversable (GHC.Unit.Database.DbOpenMode mode)
- GHC.Unit.Database: instance GHC.Base.Functor (GHC.Unit.Database.DbOpenMode mode)
- GHC.Unit.Database: instance GHC.Show.Show GHC.Unit.Database.DbInstUnitId
- GHC.Unit.Database: instance GHC.Show.Show GHC.Unit.Database.DbModule
+ GHC.Data.ShortText: instance GHC.Internal.Base.Monoid GHC.Data.ShortText.ShortText
+ GHC.Data.ShortText: instance GHC.Internal.Base.Semigroup GHC.Data.ShortText.ShortText
+ GHC.Data.ShortText: instance GHC.Internal.Data.String.IsString GHC.Data.ShortText.ShortText
+ GHC.Data.ShortText: instance GHC.Internal.Show.Show GHC.Data.ShortText.ShortText
+ GHC.Data.SizedSeq: instance GHC.Internal.Base.Functor GHC.Data.SizedSeq.SizedSeq
+ GHC.Data.SizedSeq: instance GHC.Internal.Data.Foldable.Foldable GHC.Data.SizedSeq.SizedSeq
+ GHC.Data.SizedSeq: instance GHC.Internal.Data.Traversable.Traversable GHC.Data.SizedSeq.SizedSeq
+ GHC.Data.SizedSeq: instance GHC.Internal.Generics.Generic (GHC.Data.SizedSeq.SizedSeq a)
+ GHC.Data.SizedSeq: instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (GHC.Data.SizedSeq.SizedSeq a)
+ GHC.Unit.Database: instance (GHC.Internal.Show.Show uid, GHC.Internal.Show.Show modulename, GHC.Internal.Show.Show mod, GHC.Internal.Show.Show srcpkgid, GHC.Internal.Show.Show srcpkgname) => GHC.Internal.Show.Show (GHC.Unit.Database.GenericUnitInfo srcpkgid srcpkgname uid modulename mod)
+ GHC.Unit.Database: instance GHC.Internal.Base.Functor (GHC.Unit.Database.DbOpenMode mode)
+ GHC.Unit.Database: instance GHC.Internal.Data.Foldable.Foldable (GHC.Unit.Database.DbOpenMode mode)
+ GHC.Unit.Database: instance GHC.Internal.Data.Traversable.Traversable (GHC.Unit.Database.DbOpenMode mode)
+ GHC.Unit.Database: instance GHC.Internal.Show.Show GHC.Unit.Database.DbInstUnitId
+ GHC.Unit.Database: instance GHC.Internal.Show.Show GHC.Unit.Database.DbModule
Files
- GHC/Platform/ArchOS.hs +0/−161
- GHC/Utils/Encoding.hs +3/−4
- ghc-boot.cabal +10/−6
− GHC/Platform/ArchOS.hs
@@ -1,161 +0,0 @@-{-# LANGUAGE LambdaCase, ScopedTypeVariables #-}---- | Platform architecture and OS------ We need it in ghc-boot because ghc-pkg needs it.-module GHC.Platform.ArchOS- ( ArchOS(..)- , Arch(..)- , OS(..)- , ArmISA(..)- , ArmISAExt(..)- , ArmABI(..)- , PPC_64ABI(..)- , stringEncodeArch- , stringEncodeOS- )-where--import Prelude -- See Note [Why do we import Prelude here?]---- | Platform architecture and OS.-data ArchOS- = ArchOS- { archOS_arch :: Arch- , archOS_OS :: OS- }- deriving (Read, Show, Eq, Ord)---- | Architectures------ TODO: It might be nice to extend these constructors with information about--- what instruction set extensions an architecture might support.----data Arch- = ArchUnknown- | ArchX86- | ArchX86_64- | ArchPPC- | ArchPPC_64 PPC_64ABI- | ArchS390X- | ArchARM ArmISA [ArmISAExt] ArmABI- | ArchAArch64- | ArchAlpha- | ArchMipseb- | ArchMipsel- | ArchRISCV64- | ArchLoongArch64- | ArchJavaScript- | ArchWasm32- deriving (Read, Show, Eq, Ord)---- | ARM Instruction Set Architecture-data ArmISA- = ARMv5- | ARMv6- | ARMv7- deriving (Read, Show, Eq, Ord)---- | ARM extensions-data ArmISAExt- = VFPv2- | VFPv3- | VFPv3D16- | NEON- | IWMMX2- deriving (Read, Show, Eq, Ord)---- | ARM ABI-data ArmABI- = SOFT- | SOFTFP- | HARD- deriving (Read, Show, Eq, Ord)---- | PowerPC 64-bit ABI-data PPC_64ABI- = ELF_V1 -- ^ PowerPC64- | ELF_V2 -- ^ PowerPC64 LE- deriving (Read, Show, Eq, Ord)---- | Operating systems.------ Using OSUnknown to generate code should produce a sensible default, but no--- promises.-data OS- = OSUnknown- | OSLinux- | OSDarwin- | OSSolaris2- | OSMinGW32- | OSFreeBSD- | OSDragonFly- | OSOpenBSD- | OSNetBSD- | OSKFreeBSD- | OSHaiku- | OSQNXNTO- | OSAIX- | OSHurd- | OSWasi- | OSGhcjs- deriving (Read, Show, Eq, Ord)----- Note [Platform Syntax]--- ~~~~~~~~~~~~~~~~~~~~~~------ There is a very loose encoding of platforms shared by many tools we are--- encoding to here. GNU Config (http://git.savannah.gnu.org/cgit/config.git),--- and LLVM's http://llvm.org/doxygen/classllvm_1_1Triple.html are perhaps the--- most definitional parsers. The basic syntax is a list of '-'-separated--- components. The Unix 'uname' command syntax is related but briefer.------ Those two parsers are quite forgiving, and even the 'config.sub'--- normalization is forgiving too. The "best" way to encode a platform is--- therefore somewhat a matter of taste.------ The 'stringEncode*' functions here convert each part of GHC's structured--- notion of a platform into one dash-separated component.---- | See Note [Platform Syntax].-stringEncodeArch :: Arch -> String-stringEncodeArch = \case- ArchUnknown -> "unknown"- ArchX86 -> "i386"- ArchX86_64 -> "x86_64"- ArchPPC -> "powerpc"- ArchPPC_64 ELF_V1 -> "powerpc64"- ArchPPC_64 ELF_V2 -> "powerpc64le"- ArchS390X -> "s390x"- ArchARM ARMv5 _ _ -> "armv5"- ArchARM ARMv6 _ _ -> "armv6"- ArchARM ARMv7 _ _ -> "armv7"- ArchAArch64 -> "aarch64"- ArchAlpha -> "alpha"- ArchMipseb -> "mipseb"- ArchMipsel -> "mipsel"- ArchRISCV64 -> "riscv64"- ArchLoongArch64 -> "loongarch64"- ArchJavaScript -> "javascript"- ArchWasm32 -> "wasm32"---- | See Note [Platform Syntax].-stringEncodeOS :: OS -> String-stringEncodeOS = \case- OSUnknown -> "unknown"- OSLinux -> "linux"- OSDarwin -> "darwin"- OSSolaris2 -> "solaris2"- OSMinGW32 -> "mingw32"- OSFreeBSD -> "freebsd"- OSDragonFly -> "dragonfly"- OSOpenBSD -> "openbsd"- OSNetBSD -> "netbsd"- OSKFreeBSD -> "kfreebsdgnu"- OSHaiku -> "haiku"- OSQNXNTO -> "nto-qnx"- OSAIX -> "aix"- OSHurd -> "hurd"- OSWasi -> "wasi"- OSGhcjs -> "ghcjs"
GHC/Utils/Encoding.hs view
@@ -81,7 +81,6 @@ (,,,,) Z5T 5-tuple (# #) Z1H unboxed 1-tuple (note the space) (#,,,,#) Z5H unboxed 5-tuple- (NB: There is no Z1T nor Z0H.) -} type UserString = String -- As the user typed it@@ -223,15 +222,15 @@ for 3-tuples or unboxed 3-tuples respectively. No other encoding starts Z<digit> -* "(# #)" is the tycon for an unboxed 1-tuple (not 0-tuple)- There are no unboxed 0-tuples.+* "(##)" is the tycon for an unboxed 0-tuple+* "(# #)" is the tycon for an unboxed 1-tuple * "()" is the tycon for a boxed 0-tuple.- There are no boxed 1-tuples. -} maybe_tuple :: UserString -> Maybe EncodedString +maybe_tuple "(##)" = Just("Z0H") maybe_tuple "(# #)" = Just("Z1H") maybe_tuple ('(' : '#' : cs) = case count_commas (0::Int) cs of (n, '#' : ')' : _) -> Just ('Z' : shows (n+1) "H")
ghc-boot.cabal view
@@ -5,7 +5,7 @@ -- ghc-boot.cabal. name: ghc-boot-version: 9.8.1+version: 9.10.1 license: BSD-3-Clause license-file: LICENSE category: GHC@@ -51,7 +51,6 @@ GHC.Serialized GHC.ForeignSrcLang GHC.HandleEncoding- GHC.Platform.ArchOS GHC.Platform.Host GHC.Settings.Utils GHC.UniqueSubdir@@ -65,19 +64,24 @@ , GHC.ForeignSrcLang.Type , GHC.Lexeme + -- reexport platform modules from ghc-platform+ reexported-modules:+ GHC.Platform.ArchOS+ -- but done by Hadrian autogen-modules: GHC.Version GHC.Platform.Host - build-depends: base >= 4.7 && < 4.20,+ build-depends: base >= 4.7 && < 4.21, binary == 0.8.*, bytestring >= 0.10 && < 0.13,- containers >= 0.5 && < 0.7,+ containers >= 0.5 && < 0.8, directory >= 1.2 && < 1.4,- filepath >= 1.3 && < 1.5,+ filepath >= 1.3 && < 1.6, deepseq >= 1.4 && < 1.6,- ghc-boot-th == 9.8.1+ ghc-platform >= 0.1,+ ghc-boot-th == 9.10.1 if !os(windows) build-depends: unix >= 2.7 && < 2.9