clash-compiler
clash-compiler copied to clipboard
Enable building Clash against GHC 9.10 (copy #2758)
Add support for GHC 9.10
Currently, when building the Clash compiler against GHC 9.10 it will only work reliably on 64-bit platforms, and not so on 32-bit platforms. That's because we still use Int for our uniques, while GHC will use Word64, and we use fromIntegral to convert the Word64 to Int. Users on 32-bit platforms should use GHC 9.8 or older to compile the Clash compiler for now.
Once this is merged, open an issue to rethink our Unique story so that it works with GHC's changeover from Int to Word64 so that they have sufficient uniques on 32-bit platforms.
Still TODO:
- [x] Write a changelog entry (see changelog/README.md)
- [x] Check copyright notices are up to date in edited files
This is an automatic copy of pull request #2758 done by [Mergify](https://mergify.com).
Cherry-pick of e702e9a7debff42705762eeb7771e764074f8aa3 has failed:
On branch mergify/copy/1.8/pr-2758
Your branch is up to date with 'origin/1.8'.
You are currently cherry-picking commit e702e9a7d.
(fix conflicts and run "git cherry-pick --continue")
(use "git cherry-pick --skip" to skip this patch)
(use "git cherry-pick --abort" to cancel the cherry-pick operation)
Changes to be committed:
modified: cabal.project
modified: clash-ffi/clash-ffi.cabal
modified: clash-prelude/clash-prelude.cabal
modified: clash-prelude/src/Clash/Class/BitPack/BitIndex.hs
modified: clash-prelude/src/Clash/Class/BitPack/Internal/TH.hs
modified: clash-prelude/src/Clash/Explicit/BlockRam/Blob.hs
modified: clash-prelude/src/Clash/Explicit/BlockRam/Internal.hs
modified: clash-prelude/src/Clash/Signal/Bundle/Internal.hs
modified: clash-prelude/src/Clash/Signal/Trace.hs
modified: clash-prelude/src/Clash/Sized/Internal/BitVector.hs
modified: clash-prelude/src/Clash/Sized/RTree.hs
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: clash-cores/clash-cores.cabal
both modified: clash-ghc/clash-ghc.cabal
both modified: clash-lib/clash-lib.cabal
both modified: clash-prelude/src/Clash/Sized/Vector.hs
Cherry-pick of 1f8e7658b0c50ac682b425b4b4d7b8ef8c80d722 has failed:
On branch mergify/copy/1.8/pr-2758
Your branch is ahead of 'origin/1.8' by 1 commit.
(use "git push" to publish your local commits)
You are currently cherry-picking commit 1f8e7658b.
(fix conflicts and run "git cherry-pick --continue")
(use "git cherry-pick --skip" to skip this patch)
(use "git cherry-pick --abort" to cancel the cherry-pick operation)
Changes to be committed:
modified: clash-lib/src/Clash/Backend/Verilog.hs
modified: clash-lib/src/Clash/Core/EqSolver.hs
modified: clash-lib/src/Clash/Core/Evaluator/Types.hs
modified: clash-lib/src/Clash/Core/Term.hs
modified: clash-lib/src/Clash/Core/TyCon.hs
modified: clash-lib/src/Clash/Core/Type.hs
modified: clash-lib/src/Clash/Core/Util.hs
modified: clash-lib/src/Clash/Driver.hs
modified: clash-lib/src/Clash/Normalize/PrimitiveReductions.hs
modified: clash-lib/src/Clash/Normalize/Transformations/Case.hs
modified: clash-lib/src/Clash/Normalize/Util.hs
modified: clash-lib/src/Clash/Unique.hs
modified: clash-lib/src/Data/Aeson/Extra.hs
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: clash-lib/src/Clash/Core/TysPrim.hs
To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally
The changes of 098380f may be a quick fix for the currently encountered error. I don't completely understand tough, why we didn't run into that one earlier already.
I can't test everything on CI without opening another PR, so just feel free to cherry pick it the changes for this one if you like them.