clash-lib 1.6.1 → 1.6.2
raw patch · 5 files changed
+28/−22 lines, 5 filesdep ~clash-preludePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: clash-prelude
API changes (from Hackage documentation)
- Clash.Rewrite.Types: bindings :: forall extra_a3UVI. Lens' (RewriteState extra_a3UVI) BindingMap
+ Clash.Rewrite.Types: bindings :: forall extra_a3V8n. Lens' (RewriteState extra_a3V8n) BindingMap
- Clash.Rewrite.Types: curFun :: forall extra_a3UVI. Lens' (RewriteState extra_a3UVI) (Id, SrcSpan)
+ Clash.Rewrite.Types: curFun :: forall extra_a3V8n. Lens' (RewriteState extra_a3V8n) (Id, SrcSpan)
- Clash.Rewrite.Types: extra :: forall extra_a3UVI extra_a3V3u. Lens (RewriteState extra_a3UVI) (RewriteState extra_a3V3u) extra_a3UVI extra_a3V3u
+ Clash.Rewrite.Types: extra :: forall extra_a3V8n extra_a3Vg9. Lens (RewriteState extra_a3V8n) (RewriteState extra_a3Vg9) extra_a3V8n extra_a3Vg9
- Clash.Rewrite.Types: globalHeap :: forall extra_a3UVI. Lens' (RewriteState extra_a3UVI) PrimHeap
+ Clash.Rewrite.Types: globalHeap :: forall extra_a3V8n. Lens' (RewriteState extra_a3V8n) PrimHeap
- Clash.Rewrite.Types: nameCounter :: forall extra_a3UVI. Lens' (RewriteState extra_a3UVI) Int
+ Clash.Rewrite.Types: nameCounter :: forall extra_a3V8n. Lens' (RewriteState extra_a3V8n) Int
- Clash.Rewrite.Types: transformCounter :: forall extra_a3UVI. Lens' (RewriteState extra_a3UVI) Word
+ Clash.Rewrite.Types: transformCounter :: forall extra_a3V8n. Lens' (RewriteState extra_a3V8n) Word
- Clash.Rewrite.Types: transformCounters :: forall extra_a3UVI. Lens' (RewriteState extra_a3UVI) (HashMap Text Word)
+ Clash.Rewrite.Types: transformCounters :: forall extra_a3V8n. Lens' (RewriteState extra_a3V8n) (HashMap Text Word)
- Clash.Rewrite.Types: uniqSupply :: forall extra_a3UVI. Lens' (RewriteState extra_a3UVI) Supply
+ Clash.Rewrite.Types: uniqSupply :: forall extra_a3V8n. Lens' (RewriteState extra_a3V8n) Supply
- Clash.Rewrite.Types: workFreeBinders :: forall extra_a3UVI. Lens' (RewriteState extra_a3UVI) (VarEnv Bool)
+ Clash.Rewrite.Types: workFreeBinders :: forall extra_a3V8n. Lens' (RewriteState extra_a3V8n) (VarEnv Bool)
Files
- CHANGELOG.md +13/−0
- clash-lib.cabal +2/−2
- prims/common/GHC_Types.primitives.yaml +0/−7
- src/Clash/Core/Pretty.hs +10/−10
- src/Clash/Driver.hs +3/−3
CHANGELOG.md view
@@ -1,4 +1,17 @@ # Changelog for the Clash project++## 1.6.2 *Fed 25th 2022*+Fixed:+ * Clash now compiles for users of Clang - i.e., all macOS users.+ * The `trueDualPortBlockRam` model did not accurately simulate concurrent active ports, thus causing a Haskell/HDL simulation mismatch for `asyncFIFOSynchronizer`.+ * `trueDualPortBlockRam` Haskell/HDL simulation mismatch for port enable.+ * Sometimes `trueDualPortBlockRam` swapped the names of the ports in exception messages. [#2102](https://github.com/clash-lang/clash-compiler/pull/2102)+ * The evaluator rule for unpack{Float,Double}# are now corrected to return boxed float and double instead of unboxed literals. [#2097](https://github.com/clash-lang/clash-compiler/issues/2097)++Changed:+ * The `trueDualPortBlockRam` model now only models read/write conflicts for concurrent active ports+ * The `trueDualPortBlockRam` model now models write/write conflicts for concurrent active ports+ ## 1.6.1 *Feb 11th 2022* Changed: * We accidentally released `v1.6.0` with the Cabal flag `multiple-hidden` enabled. This is an experimental feature, supposed to be disabled by default for releases. `v1.6.1` disables it again.
clash-lib.cabal view
@@ -1,6 +1,6 @@ Cabal-version: 2.2 Name: clash-lib-Version: 1.6.1+Version: 1.6.2 Synopsis: Clash: a functional hardware description language - As a library Description: Clash is a functional hardware description language that borrows both its@@ -136,7 +136,7 @@ base16-bytestring >= 0.1.1 && < 1.1, binary >= 0.8.5 && < 0.11, bytestring >= 0.10.0.2 && < 0.12,- clash-prelude == 1.6.1,+ clash-prelude == 1.6.2, concurrent-supply >= 0.1.7 && < 0.2, containers >= 0.5.0.0 && < 0.7, cryptohash-sha256 >= 0.11 && < 0.12,
prims/common/GHC_Types.primitives.yaml view
@@ -2,10 +2,3 @@ name: GHC.Types.MkCoercible primType: Constructor workInfo: Never-- BlackBox:- name: GHC.Types.C#- kind: Expression- type: 'I# :: Char# ->- Char'- template: ~ARG[0]- workInfo: Never
src/Clash/Core/Pretty.hs view
@@ -1,7 +1,7 @@ {-| Copyright : (C) 2012-2016, University of Twente, 2016 , Myrtle Software Ltd,- 2021 , QBayLogic B.V.+ 2021-2022, QBayLogic B.V. License : BSD2 (see the file LICENSE) Maintainer : QBayLogic B.V. <devops@qbaylogic.com> @@ -356,16 +356,16 @@ | i < 0 -> parens (pretty i) | otherwise -> pretty i IntLiteral i- | i < 0 -> parens (pretty i)- | otherwise -> pretty i+ | i < 0 -> parens (pretty i <> "#")+ | otherwise -> pretty i <> "#" Int64Literal i- | i < 0 -> parens (pretty i)- | otherwise -> pretty i- WordLiteral w -> pretty w- Word64Literal w -> pretty w- FloatLiteral w -> pretty $ wordToFloat w- DoubleLiteral w -> pretty $ wordToDouble w- CharLiteral c -> pretty c+ | i < 0 -> parens (pretty i <> "#")+ | otherwise -> pretty i <> "#"+ WordLiteral w -> pretty w <> "##"+ Word64Literal w -> pretty w <> "##"+ FloatLiteral w -> pretty (wordToFloat w) <> "#"+ DoubleLiteral w -> pretty (wordToDouble w) <> "##"+ CharLiteral c -> pretty c <> "#" StringLiteral s -> vcat $ map pretty $ showMultiLineString s NaturalLiteral n -> pretty n ByteArrayLiteral s -> pretty $ show s
src/Clash/Driver.hs view
@@ -810,11 +810,11 @@ -- the outlines lines in the file. It doesn't matter for code inside main, -- but is fatal for the #include directives. pretty $ Data.Text.pack [i|- #include <cstdlib>+ \#include <cstdlib> - #include <verilated.h>+ \#include <verilated.h> - #include "V#{topNm}.h"+ \#include "V#{topNm}.h" int main(int argc, char **argv) { Verilated::commandArgs(argc, argv);