packages feed

clash-ghc 1.2.2 → 1.2.3

raw patch · 4 files changed

+43/−6 lines, 4 filesdep +Cabaldep ~clash-libdep ~clash-preludePVP ok

version bump matches the API change (PVP)

Dependencies added: Cabal

Dependency ranges changed: clash-lib, clash-prelude

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,8 +1,30 @@ # Changelog for the Clash project -## 1.2.2 *June 12th 2020*+## 1.2.3 *July 11th 2020*+* Changed:+  * Upgrade to nixos 20.03. Nix and snap users will now use packages present in 20.03. +* Added:+  * `instance Monoid a => Monoid (Vec n a)`+  * `instance Text.Printf(Index)`+  * `instance Text.Printf(Signed)`+  * `instance Text.Printf(Unsigned)` +* Fixed:+  * Clash renders incorrect VHDL when GHCs Worker/Wrapper transformation is enabled [#1402](https://github.com/clash-lang/clash-compiler/issues/14020)+  * Minor faults in generated HDL when using annotations from `Clash.Annotations.SynthesisAttributes`+  * Cabal installed through Snap (`clash.cabal`) can now access the internet to fetch pacakges. [#1411]https://github.com/clash-lang/clash-compiler/issues/1411+  * Generated QSys file for `altpll` incompatible with Quartus CLI (did work in Quartus GUI)+  * Clash no longer uses component names that clash with identifiers imported+    from:+    * IEEE.STD_LOGIC_1164.all+    * IEEE.NUMERIC_STD.all+    * IEEE.MATH_REAL.all+    * std.textio.all+    when generating VHDL.+    See https://github.com/clash-lang/clash-compiler/issues/1439.++## 1.2.2 *June 12th 2020* * Changed:   * The hardwired functions to unroll primitive definitions for 'zipWith', 'map', 'foldr', and 'init' have been changed to only unroll a single step, whereas they would previously unroll the whole definition in one step. This allows Clash to take advantage of the lazy nature of these functions, in turn speeding up compilation speeds significantly in some cases. Part of [PR 1354](https://github.com/clash-lang/clash-compiler/pull/1354). 
clash-ghc.cabal view
@@ -1,6 +1,6 @@ Cabal-version:        2.2 Name:                 clash-ghc-Version:              1.2.2+Version:              1.2.3 Synopsis:             CAES Language for Synchronous Hardware Description:   Clash is a functional hardware description language that borrows both its@@ -136,6 +136,7 @@                       base                      >= 4.11     && < 5,                       bifunctors                >= 4.1.1    && < 6.0,                       bytestring                >= 0.9      && < 0.11,+                      Cabal,                       containers                >= 0.5.4.0  && < 0.7,                       directory                 >= 1.2      && < 1.4,                       filepath                  >= 1.3      && < 1.5,@@ -150,8 +151,8 @@                       transformers              >= 0.5.2.0  && < 0.6,                       unordered-containers      >= 0.2.1.0  && < 0.3, -                      clash-lib                 == 1.2.2,-                      clash-prelude             == 1.2.2,+                      clash-lib                 == 1.2.3,+                      clash-prelude             == 1.2.3,                       concurrent-supply         >= 0.1.7    && < 0.2,                       ghc-typelits-extra        >= 0.3.3    && < 0.5,                       ghc-typelits-knownnat     >= 0.7.2    && < 0.8,
src-bin-common/Clash/GHCi/Common.hs view
@@ -33,6 +33,7 @@ import           Panic                  (GhcException (..), throwGhcException)  import           Control.Monad          (forM_, unless, when)+import           Distribution.System    (OS(Windows), buildOS) import           System.Directory       (doesDirectoryExist) import           System.IO              (hPutStrLn, stderr) @@ -107,7 +108,7 @@   let isStatic = case lookup "GHC Dynamic" (DynFlags.compilerInfo dflags) of         Just "YES" -> False         _          -> True-  when isStatic+  when (isStatic && buildOS /= Windows)     (hPutStrLn stderr (unlines       ["WARNING: Clash is linked statically, which can lead to long startup times."       ,"See https://gitlab.haskell.org/ghc/ghc/issues/15524"
src-ghc/Clash/GHC/LoadModules.hs view
@@ -35,7 +35,7 @@ import           Control.Arrow                   (first, second) import           Control.DeepSeq                 (deepseq) import           Control.Exception               (SomeException, throw)-import           Control.Monad                   (forM)+import           Control.Monad                   (forM, when) #if MIN_VERSION_ghc(8,6,0) import           Control.Exception               (throwIO) #endif@@ -48,6 +48,7 @@ import           Data.Maybe                      (catMaybes, listToMaybe, fromMaybe) import qualified Data.Text                       as Text import qualified Data.Time.Clock                 as Clock+import           Debug.Trace import           Language.Haskell.TH.Syntax      (lift) import           GHC.Stack                       (HasCallStack) @@ -212,6 +213,18 @@                     _          -> False       dflags3 = if ghcDynamic then DynFlags.gopt_set dflags2 DynFlags.Opt_BuildDynamicToo                               else dflags2++  when (DynFlags.gopt DynFlags.Opt_WorkerWrapper dflags3) $+    trace+      (unlines ["WARNING:"+               ,"`-fworker-wrapper` option is globally enabled, this can result in incorrect code."+               ,"Are you compiling with `-O` or `-O2`? Consider adding `-fno-worker-wrapper`."+               ,"`-fworker-wrapper` can be use in a diligent manner on a file-by-file basis"+               ,"by using a `{-# OPTIONS_GHC -fworker-wrapper` #-} pragma."+               ])+      (return ())++ #if MIN_VERSION_ghc(8,6,0)   hscenv <- GHC.getSession   dflags4 <- MonadUtils.liftIO (DynamicLoading.initializePlugins hscenv dflags3)