Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support building with GHC 9.6 #1102

Merged
merged 4 commits into from
Aug 3, 2023
Merged

Support building with GHC 9.6 #1102

merged 4 commits into from
Aug 3, 2023

Commits on Aug 3, 2023

  1. Whitespace only

    RyanGlScott committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    b5b9545 View commit details
    Browse the repository at this point in the history
  2. Support building with GHC 9.6

    This patch contains a variety of fixes needed to build the libraries in the
    `crucible` repo with GHC 9.6:
    
    * GHC 9.6 bundles `mtl-2.3.*`, which no longer re-exports `Control.Monad`,
      `Control.Monad.IO.Class`, and similar modules from `mtl`-related modules. To
      accommodate this, various imports have been made more explicit.
    * Per [this part](https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.6?version_id=e9996b225b1f2a5005178283f833fe6ce341beb3#type-changing-record-updates-involving-type-families)
      of the GHC 9.6 migration guide, a type-changing record update involving
      `emptyInitialFileSystemContents` had to be disambiguated using an explicit
      type application.
    * Various upper version bounds on `base` and `aeson` were raised to allow
      building with GHC 9.6.
    * The following submodules were bumped to bring in GHC 9.6–related changes:
      * `golang`: GaloisInc/golang#9
      * `llvm-pretty`: GaloisInc/llvm-pretty#112
      * `llvm-pretty-bc-parser`: GaloisInc/llvm-pretty-bc-parser#225
      * `what4`: GaloisInc/what4#235
    RyanGlScott committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    86f0001 View commit details
    Browse the repository at this point in the history
  3. crucible-mir: Don't use deprecated TypeInType extension

    As of GHC 8.6, `TypeInType` is simply an alias for `DataKinds` + `PolyKinds`.
    And as of GHC 9.6, `TypeInType` is deprecated. Since we are already using
    `DataKinds` + `PolyKinds` in all of the places where we enable `TypeInType` in
    `crucible-mir`, let's just remove our use of `TypeInType` to avoid deprecation
    warnings.
    RyanGlScott committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    b62ca76 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    64e0a39 View commit details
    Browse the repository at this point in the history