Skip to content

Commit f918d76

Browse files
committed
Support building with GHC 9.4
This contains a variety of tweaks needed to make the libraries in the `semmc` repo build with GHC 9.4: * GHC 9.4 is pickier about undecidable superclass checking. As such, I needed to explicitly enable `UndecidableSuperClasses` in a handful of places. * The upper version bounds on `text` were raised to `< 2.1` to allow building with `text-2.0.*`, which is bundled with GHC 9.4. * The following submodule changes were brought in to support building with GHC 9.4: * `asl-translator`: GaloisInc/asl-translator#51 * `crucible`: GaloisInc/crucible#1073 (This also requires bumping the `llvm-pretty` submodule as a side effect) * `dismantle`: GaloisInc/dismantle#40
1 parent 9b2a03b commit f918d76

File tree

12 files changed

+17
-7
lines changed

12 files changed

+17
-7
lines changed

cabal.project.newbuild

+6
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,9 @@ constraints:
3131
regex == 1.0.1.3
3232
allow-newer:
3333
regex:template-haskell
34+
35+
-- TODO RGS: Remove this when on Hackage
36+
source-repository-package
37+
type: git
38+
location: https://github.com/GaloisInc/s-cargot-letbind
39+
tag: a00bba1ffa27a605f4d2f9585bf7ea77e1c63726

semmc-learning/semmc-learning.cabal

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ library
4343
mtl,
4444
containers,
4545
stm,
46-
text >= 1 && < 2,
46+
text >= 1 && < 2.1,
4747
time,
4848
filepath,
4949
bytestring >=0.10 && < 0.12,

semmc-ppc/src/SemMC/Architecture/PPC.hs

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
{-# LANGUAGE TypeFamilyDependencies #-}
99
{-# LANGUAGE TypeOperators #-}
1010
{-# LANGUAGE TypeSynonymInstances #-}
11+
{-# LANGUAGE UndecidableSuperClasses #-}
1112

1213
module SemMC.Architecture.PPC ( AnyPPC, Variant, V32, V64
1314
, VariantRepr(..), KnownVariant(..)

semmc-toy/semmc-toy.cabal

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ library
2525
, containers >= 0.5.8
2626
, filepath
2727
, located-base
28-
, text >= 1 && < 2
28+
, text >= 1 && < 2.1
2929
, crucible >= 0.4
3030
, crucible-llvm
3131
, dismantle-tablegen

semmc/semmc.cabal

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ library
7070
stm,
7171
BoundedChan,
7272
located-base,
73-
text >= 1 && < 2,
73+
text >= 1 && < 2.1,
7474
exceptions >= 0.8 && < 0.11,
7575
s-cargot >= 0.1.4.0 && < 0.2,
7676
s-cargot-letbind >= 0.2.2.0 && < 0.3,

semmc/src/SemMC/Architecture.hs

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
{-# LANGUAGE GADTs #-}
1313
{-# LANGUAGE StandaloneDeriving #-}
1414
{-# LANGUAGE UndecidableInstances #-}
15+
{-# LANGUAGE UndecidableSuperClasses #-}
1516
{-# LANGUAGE ScopedTypeVariables #-}
1617
{-# LANGUAGE TypeApplications #-}
1718
{-# LANGUAGE TypeOperators #-}

semmc/src/SemMC/Architecture/Concrete.hs

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{-# LANGUAGE ExistentialQuantification #-}
22
{-# LANGUAGE GADTs #-}
3+
{-# LANGUAGE UndecidableSuperClasses #-}
34
module SemMC.Architecture.Concrete (
45
RegisterizedInstruction(..),
56
LiteralRef(..),

semmc/src/SemMC/Architecture/Pseudo.hs

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
{-# LANGUAGE TypeInType #-}
1414
{-# LANGUAGE TypeOperators #-}
1515
{-# LANGUAGE UndecidableInstances #-}
16+
{-# LANGUAGE UndecidableSuperClasses #-}
1617
-- | Support for "pseudo" archtiectures that wrap other architectures to provide
1718
-- extra operands beyond the native architecture
1819
--

submodules/crucible

Submodule crucible updated 65 files

submodules/dismantle

submodules/llvm-pretty

0 commit comments

Comments
 (0)