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 #40

Merged
merged 2 commits into from
Mar 23, 2023
Merged

Support building with GHC 9.4 #40

merged 2 commits into from
Mar 23, 2023

Conversation

RyanGlScott
Copy link
Contributor

This contains a handful of small tweaks needed to make the libraries in the dismantle repo build with GHC 9.4:

  • I have bumped the upper version bounds on text to allow building with text-2.0.*, which is bundled with GHC 9.4.
  • GHC 9.4 is pickier about undecidable instance checking. See this section of the GHC 9.4 Migration Guide. As a result, I had to explicitly enable UndecidableInstances in Data.BitMask to make it compile.
  • I have bumped the parameterized-utils submodule to bring in the changes from Allow building with GHC 9.4 parameterized-utils#146, which is needed to make it build with GHC 9.4.

This contains a handful of small tweaks needed to make the libraries in the
`dismantle` repo build with GHC 9.4:

* I have bumped the upper version bounds on `text` to allow building with
  `text-2.0.*`, which is bundled with GHC 9.4.
* GHC 9.4 is pickier about undecidable instance checking. See
  [this section](https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.4?version_id=24540b698481cf2b0bd11029b58eaddc0fbfbb31#stricter-undecidableinstances-checking)
  of the GHC 9.4 Migration Guide. As a result, I had to explicitly enable
  `UndecidableInstances` in `Data.BitMask` to make it compile.
* I have bumped the `parameterized-utils` submodule to bring in the changes from
  GaloisInc/parameterized-utils#146, which is needed to make it build with GHC
  9.4.
@RyanGlScott RyanGlScott requested a review from kquick March 23, 2023 15:06
@RyanGlScott RyanGlScott merged commit 82849d4 into master Mar 23, 2023
@RyanGlScott RyanGlScott deleted the ghc-9.4 branch March 23, 2023 18:26
RyanGlScott added a commit to GaloisInc/asl-translator that referenced this pull request Mar 28, 2023
This makes a variety of small tweaks needed to make `asl-translator` build with
GHC 9.4:

* GHC 9.4 is pickier about undecidable superclass checking. As such, I needed
  to explicitly enable `UndecidableSuperClasses` in `Language.ASL.Globals`.
* The upper version bounds on `text` were raised to allow building with
  `text-2.0.*`, which is shipped with GHC 9.4.*.
* The following submodules were bumped to bring in changes needed to make them
  build with GHC 9.4:
  * `crucible`: TODO RGS Fill me in
  * `dismantle`: GaloisInc/dismantle#40
RyanGlScott added a commit to GaloisInc/asl-translator that referenced this pull request Apr 3, 2023
This makes a variety of small tweaks needed to make `asl-translator` build with
GHC 9.4:

* GHC 9.4 is pickier about undecidable superclass checking. As such, I needed
  to explicitly enable `UndecidableSuperClasses` in `Language.ASL.Globals`.
* The upper version bounds on `text` were raised to allow building with
  `text-2.0.*`, which is shipped with GHC 9.4.*.
* The following submodules were bumped to bring in changes needed to make them
  build with GHC 9.4:
  * `crucible`: GaloisInc/crucible#1073
  * `dismantle`: GaloisInc/dismantle#40
RyanGlScott added a commit to GaloisInc/asl-translator that referenced this pull request Apr 4, 2023
This makes a variety of small tweaks needed to make `asl-translator` build with
GHC 9.4:

* GHC 9.4 is pickier about undecidable superclass checking. As such, I needed
  to explicitly enable `UndecidableSuperClasses` in `Language.ASL.Globals`.
* The upper version bounds on `text` were raised to allow building with
  `text-2.0.*`, which is shipped with GHC 9.4.*.
* The following submodules were bumped to bring in changes needed to make them
  build with GHC 9.4:
  * `crucible`: GaloisInc/crucible#1073
  * `dismantle`: GaloisInc/dismantle#40
RyanGlScott added a commit to GaloisInc/semmc that referenced this pull request Apr 17, 2023
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
  * `dismantle`: GaloisInc/dismantle#40
RyanGlScott added a commit to GaloisInc/semmc that referenced this pull request Apr 17, 2023
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
RyanGlScott added a commit to GaloisInc/semmc that referenced this pull request Apr 18, 2023
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
RyanGlScott added a commit to GaloisInc/semmc that referenced this pull request Apr 18, 2023
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
RyanGlScott added a commit to GaloisInc/macaw that referenced this pull request Apr 18, 2023
This contains a variety of tweaks needed to make the libraries in the
`macaw` repo build with GHC 9.4:

* `ST` no longer has a `MonadFail` instance. See
  [this section](https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.4?version_id=b60e52482a666d25638d59cd7e86851ddf971dc1#st-is-no-longer-an-instance-of-monadfail)
  of the GHC 9.4 Migration Guide. To adapt to this change, I had to change some
  uses of `fail` to `error`, and I also had to avoid some partial pattern
  matches in `do`-notation to avoid incurring `MonadFail (ST s)` constraints.
* GHC 9.4 is pickier about undecidable superclass checking. As such, I needed to
  explicitly enable `UndecidableSuperClasses` in a handful of places.
* The following submodule changes were brought in to support building with
  GHC 9.4:
  * `asl-translator`: GaloisInc/asl-translator#51
  * `bv-sized`: GaloisInc/bv-sized#27
  * `bv-sized-float`: GaloisInc/bv-sized-float#4
  * `crucible`: GaloisInc/crucible#1073

    (This also requires bumping the `llvm-pretty`, `llvm-pretty-bc-parser`,
    and `what4` submodules as a side effect)
  * `dismantle`: GaloisInc/dismantle#40
  * `grift`: GaloisInc/grift#8
  * `macaw-loader`: TODO RGS
  * `semmc`: GaloisInc/semmc#79
RyanGlScott added a commit to GaloisInc/macaw-loader that referenced this pull request Apr 18, 2023
This contains a variety of tweaks needed to make the libraries in the
`macaw-loader` repo build with GHC 9.4:

* GHC 9.4 is pickier about undecidable superclass checking. As such, I needed to
  explicitly enable `UndecidableSuperClasses` in one place.
* The following submodule changes were brought in to support building with
  GHC 9.4:
  * `asl-translator`: GaloisInc/asl-translator#51
  * `bv-sized`: GaloisInc/bv-sized#27
  * `bv-sized-float`: GaloisInc/bv-sized-float#4
  * `crucible`: GaloisInc/crucible#1073

    (This also requires bumping the `llvm-pretty`, `llvm-pretty-bc-parser`,
    and `what4` submodules as a side effect)
  * `dismantle`: GaloisInc/dismantle#40
  * `grift`: GaloisInc/grift#8
  * `macaw`: TODO RGS
  * `parameterized-utils`: GaloisInc/parameterized-utils#146
  * `semmc`: GaloisInc/semmc#79
RyanGlScott added a commit to GaloisInc/macaw that referenced this pull request Apr 18, 2023
This contains a variety of tweaks needed to make the libraries in the
`macaw` repo build with GHC 9.4:

* `ST` no longer has a `MonadFail` instance. See
  [this section](https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.4?version_id=b60e52482a666d25638d59cd7e86851ddf971dc1#st-is-no-longer-an-instance-of-monadfail)
  of the GHC 9.4 Migration Guide. To adapt to this change, I had to change some
  uses of `fail` to `error`, and I also had to avoid some partial pattern
  matches in `do`-notation to avoid incurring `MonadFail (ST s)` constraints.
* GHC 9.4 is pickier about undecidable superclass checking. As such, I needed to
  explicitly enable `UndecidableSuperClasses` in a handful of places.
* The following submodule changes were brought in to support building with
  GHC 9.4:
  * `asl-translator`: GaloisInc/asl-translator#51
  * `bv-sized`: GaloisInc/bv-sized#27
  * `bv-sized-float`: GaloisInc/bv-sized-float#4
  * `crucible`: GaloisInc/crucible#1073

    (This also requires bumping the `llvm-pretty`, `llvm-pretty-bc-parser`,
    and `what4` submodules as a side effect)
  * `dismantle`: GaloisInc/dismantle#40
  * `grift`: GaloisInc/grift#8
  * `macaw-loader`: GaloisInc/macaw-loader#17
  * `semmc`: GaloisInc/semmc#79
RyanGlScott added a commit to GaloisInc/macaw that referenced this pull request Apr 18, 2023
This contains a variety of tweaks needed to make the libraries in the
`macaw` repo build with GHC 9.4:

* `ST` no longer has a `MonadFail` instance. See
  [this section](https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.4?version_id=b60e52482a666d25638d59cd7e86851ddf971dc1#st-is-no-longer-an-instance-of-monadfail)
  of the GHC 9.4 Migration Guide. To adapt to this change, I had to change some
  uses of `fail` to `panic`, and I also had to avoid some partial pattern
  matches in `do`-notation to avoid incurring `MonadFail (ST s)` constraints.
* GHC 9.4 is pickier about undecidable superclass checking. As such, I needed to
  explicitly enable `UndecidableSuperClasses` in a handful of places.
* The following submodule changes were brought in to support building with
  GHC 9.4:
  * `asl-translator`: GaloisInc/asl-translator#51
  * `bv-sized`: GaloisInc/bv-sized#27
  * `bv-sized-float`: GaloisInc/bv-sized-float#4
  * `crucible`: GaloisInc/crucible#1073

    (This also requires bumping the `llvm-pretty`, `llvm-pretty-bc-parser`,
    and `what4` submodules as a side effect)
  * `dismantle`: GaloisInc/dismantle#40
  * `grift`: GaloisInc/grift#8
  * `macaw-loader`: GaloisInc/macaw-loader#17
  * `semmc`: GaloisInc/semmc#79
RyanGlScott added a commit to GaloisInc/macaw-loader that referenced this pull request Apr 18, 2023
This contains a variety of tweaks needed to make the libraries in the
`macaw-loader` repo build with GHC 9.4:

* GHC 9.4 is pickier about undecidable superclass checking. As such, I needed to
  explicitly enable `UndecidableSuperClasses` in one place.
* The following submodule changes were brought in to support building with
  GHC 9.4:
  * `asl-translator`: GaloisInc/asl-translator#51
  * `bv-sized`: GaloisInc/bv-sized#27
  * `bv-sized-float`: GaloisInc/bv-sized-float#4
  * `crucible`: GaloisInc/crucible#1073

    (This also requires bumping the `llvm-pretty`, `llvm-pretty-bc-parser`,
    and `what4` submodules as a side effect)
  * `dismantle`: GaloisInc/dismantle#40
  * `grift`: GaloisInc/grift#8
  * `macaw`: GaloisInc/macaw#330
  * `parameterized-utils`: GaloisInc/parameterized-utils#146
  * `semmc`: GaloisInc/semmc#79
RyanGlScott added a commit to GaloisInc/macaw that referenced this pull request Apr 18, 2023
This contains a variety of tweaks needed to make the libraries in the
`macaw` repo build with GHC 9.4:

* `ST` no longer has a `MonadFail` instance. See
  [this section](https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.4?version_id=b60e52482a666d25638d59cd7e86851ddf971dc1#st-is-no-longer-an-instance-of-monadfail)
  of the GHC 9.4 Migration Guide. To adapt to this change, I had to change some
  uses of `fail` to `panic`, and I also had to avoid some partial pattern
  matches in `do`-notation to avoid incurring `MonadFail (ST s)` constraints.
* GHC 9.4 is pickier about undecidable superclass checking. As such, I needed to
  explicitly enable `UndecidableSuperClasses` in a handful of places.
* The following submodule changes were brought in to support building with
  GHC 9.4:
  * `asl-translator`: GaloisInc/asl-translator#51
  * `bv-sized`: GaloisInc/bv-sized#27
  * `bv-sized-float`: GaloisInc/bv-sized-float#4
  * `crucible`: GaloisInc/crucible#1073

    (This also requires bumping the `llvm-pretty`, `llvm-pretty-bc-parser`,
    and `what4` submodules as a side effect)
  * `dismantle`: GaloisInc/dismantle#40
  * `grift`: GaloisInc/grift#8
  * `macaw-loader`: GaloisInc/macaw-loader#17
  * `semmc`: GaloisInc/semmc#79
RyanGlScott added a commit to GaloisInc/macaw-loader that referenced this pull request Apr 18, 2023
This contains a variety of tweaks needed to make the libraries in the
`macaw-loader` repo build with GHC 9.4:

* GHC 9.4 is pickier about undecidable superclass checking. As such, I needed to
  explicitly enable `UndecidableSuperClasses` in one place.
* The following submodule changes were brought in to support building with
  GHC 9.4:
  * `asl-translator`: GaloisInc/asl-translator#51
  * `bv-sized`: GaloisInc/bv-sized#27
  * `bv-sized-float`: GaloisInc/bv-sized-float#4
  * `crucible`: GaloisInc/crucible#1073

    (This also requires bumping the `llvm-pretty`, `llvm-pretty-bc-parser`,
    and `what4` submodules as a side effect)
  * `dismantle`: GaloisInc/dismantle#40
  * `grift`: GaloisInc/grift#8
  * `macaw`: GaloisInc/macaw#330
  * `parameterized-utils`: GaloisInc/parameterized-utils#146
  * `semmc`: GaloisInc/semmc#79
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants