packages feed

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 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);