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.4 #1860

Merged
merged 7 commits into from
May 26, 2023
Merged

Support building with GHC 9.4 #1860

merged 7 commits into from
May 26, 2023

Commits on May 26, 2023

  1. Whitespace only

    RyanGlScott committed May 26, 2023
    Configuration menu
    Copy the full SHA
    58c2a8a View commit details
    Browse the repository at this point in the history
  2. Support building with GHC 9.4

    This contains a variety of tweaks needed to build SAW with GHC 9.4:
    
    * GHC 9.4 is more conservative about inferring superclass constraints that arise
      from functional dependencies (see [this
      section](https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.4?version_id=b60e52482a666d25638d59cd7e86851ddf971dc1#constraints-derived-from-superclasses)
      of the GHC 9.4 Migration Guide), so we must add explicit `m ~ Identity`
      constraints to certain parts of `heapster-saw` to make it compile with GHC
      9.4.
    * I raised the upper version bounds on `aeson` and `vector` to allow building
      them with GHC 9.4.
    * The following submodule changes were brought in to support building with
      GHC 9.4:
      * `argo`: #193
      * `crucible`: GaloisInc/crucible#1073
    
        (This also requires bumping the `llvm-pretty`, `llvm-pretty-bc-parser`,
        and `what4` submodules as a side effect)
      * `language-sally`: GaloisInc/language-sally#13
      * `macaw`: GaloisInc/macaw#330
      * `parameterized-utils`: GaloisInc/parameterized-utils#146
    
    Fixes #1852.
    RyanGlScott committed May 26, 2023
    Configuration menu
    Copy the full SHA
    3d83e0d View commit details
    Browse the repository at this point in the history
  3. Fix -Wtype-equality-requires-operators warnings

    GHC 9.4 adds `-Wtype-equality-requires-operators` to `-Wall`, which warns about
    certain uses of type equalities that are not forward-compatible with planned
    changes in GHC. See [this
    section](https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.4?version_id=b60e52482a666d25638d59cd7e86851ddf971dc1#-is-now-a-type-operator)
    of the GHC 9.4 Migration Guide. These warnings are easily fixed by enabling the
    `TypeOperators` extension.
    RyanGlScott committed May 26, 2023
    Configuration menu
    Copy the full SHA
    d54026d View commit details
    Browse the repository at this point in the history
  4. Remove use of NoMonoLocalBinds after GADTs pragma

    This produces a `-Wgadt-mono-local-binds` warning with GHC 9.4, which has added
    the warning to `-Wall`. To avoid the warning, I have removed a use of
    `NoMonoLocalBinds` in `SAWScript.Crucible.JVM.BuiltinsJVM`. This required
    adding an explicit type signature to `failure` as a result.
    RyanGlScott committed May 26, 2023
    Configuration menu
    Copy the full SHA
    d04c901 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3fe4fc8 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    eaaec00 View commit details
    Browse the repository at this point in the history
  7. Bump aws-lc-verification.

    andreistefanescu authored and RyanGlScott committed May 26, 2023
    Configuration menu
    Copy the full SHA
    e19c9cb View commit details
    Browse the repository at this point in the history