packages feed

clash-ghc 0.6.8 → 0.6.9

raw patch · 12 files changed

+66/−38 lines, 12 filesdep ~clash-libdep ~clash-systemverilogdep ~clash-verilog

Dependency ranges changed: clash-lib, clash-systemverilog, clash-verilog, clash-vhdl

Files

CHANGELOG.md view
@@ -1,6 +1,15 @@ # Changelog for the [`clash-ghc`](http://hackage.haskell.org/package/clash-ghc) package -## 0.6.8 *January 13th 2015*+## 0.6.9 *January 29th 2016*+* New features:+  * Support for `Debug.Trace.trace`, thanks to @ggreif++* Fixes bugs:+  * `case undefined of ...` should reduce to `undefined` [#116](https://github.com/clash-lang/clash-compiler/issues/109)+  * VHDL/SystemVerilog: BlockRAM elements must be bit vectors [#113](https://github.com/clash-lang/clash-compiler/issues/113)+  * Type families obscure eligibility for synthesis [#114](https://github.com/clash-lang/clash-compiler/issues/114)++## 0.6.8 *January 13th 2016* * New features:   * Support for Haskell's: `Char`, `Int8`, `Int16`, `Int32`, `Int64`, `Word`, `Word8`, `Word16`, `Word32`, `Word64`.   * Int/Word/Integer bitwidth for generated HDL is configurable using the `-clash-intwidth=N` flag, where `N` can be either 32 or 64.
clash-ghc.cabal view
@@ -1,5 +1,5 @@ Name:                 clash-ghc-Version:              0.6.8+Version:              0.6.9 Synopsis:             CAES Language for Synchronous Hardware Description:   CλaSH (pronounced ‘clash’) is a functional hardware description language that@@ -37,7 +37,7 @@ License-file:         LICENSE Author:               Christiaan Baaij Maintainer:           Christiaan Baaij <christiaan.baaij@gmail.com>-Copyright:            Copyright © 2012-2015 University of Twente+Copyright:            Copyright © 2012-2016 University of Twente Category:             Hardware Build-type:           Simple @@ -94,10 +94,10 @@                       unbound-generics          >= 0.1 && < 0.4,                       unordered-containers      >= 0.2.1.0, -                      clash-lib                 >= 0.6.8 && < 0.7,-                      clash-systemverilog       >= 0.6.4,-                      clash-vhdl                >= 0.6.5,-                      clash-verilog             >= 0.6.4,+                      clash-lib                 >= 0.6.9 && < 0.7,+                      clash-systemverilog       >= 0.6.5,+                      clash-vhdl                >= 0.6.6,+                      clash-verilog             >= 0.6.5,                       clash-prelude             >= 0.10.5 && < 0.11,                       ghc-typelits-extra        >= 0.1,                       ghc-typelits-natnormalise >= 0.3
src-bin/GhciMonad.hs view
@@ -56,10 +56,6 @@ import Control.Monad.Trans.Class import Control.Monad.IO.Class -#if __GLASGOW_HASKELL__ < 709-import Control.Applicative (Applicative(..))-#endif- ----------------------------------------------------------------------------- -- GHCi monad 
src-bin/InteractiveUI.hs view
@@ -81,11 +81,7 @@ import Exception hiding (catch)  import Foreign.C-#if __GLASGOW_HASKELL__ >= 709 import Foreign-#else-import Foreign.Safe-#endif  import System.Directory import System.Environment
src-bin/hschooks.c view
@@ -30,14 +30,10 @@ void defaultsHook (void) {-#if __GLASGOW_HASKELL__ >= 707     // This helps particularly with large compiles, but didn't work     // very well with earlier GHCs because it caused large amounts of     // fragmentation.  See rts/sm/BlockAlloc.c:allocLargeChunk().     RtsFlags.GcFlags.heapSizeSuggestionAuto = rtsTrue;-#else-    RtsFlags.GcFlags.heapSizeSuggestion = 6*1024*1024 / BLOCK_SIZE;-#endif      RtsFlags.GcFlags.maxStkSize         = 512*1024*1024 / sizeof(W_); 
src-ghc/CLaSH/GHC/CLaSHFlags.hs view
@@ -1,4 +1,11 @@+{-|+  Copyright   :  (C) 2015-2016, University of Twente+  License     :  BSD2 (see the file LICENSE)+  Maintainer  :  Christiaan Baaij <christiaan.baaij@gmail.com>+-}+ {-# LANGUAGE TupleSections #-}+ module CLaSH.GHC.CLaSHFlags   ( parseCLaSHFlags   )
src-ghc/CLaSH/GHC/Evaluator.hs view
@@ -1,5 +1,12 @@+{-|+  Copyright   :  (C) 2013-2016, University of Twente+  License     :  BSD2 (see the file LICENSE)+  Maintainer  :  Christiaan Baaij <christiaan.baaij@gmail.com>+-}+ {-# LANGUAGE ViewPatterns #-} {-# LANGUAGE OverloadedStrings #-}+ module CLaSH.GHC.Evaluator where  import qualified Data.Bifunctor      as Bifunctor
src-ghc/CLaSH/GHC/GHC2Core.hs view
@@ -1,3 +1,9 @@+{-|+  Copyright   :  (C) 2013-2016, University of Twente+  License     :  BSD2 (see the file LICENSE)+  Maintainer  :  Christiaan Baaij <christiaan.baaij@gmail.com>+-}+ {-# LANGUAGE CPP              #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE TemplateHaskell  #-}@@ -84,9 +90,6 @@ import qualified CLaSH.Core.Term             as C import qualified CLaSH.Core.TyCon            as C import qualified CLaSH.Core.Type             as C-#if __GLASGOW_HASKELL__ < 710-import qualified CLaSH.Core.Util             as C-#endif import qualified CLaSH.Core.Var              as C import           CLaSH.Primitives.Types import           CLaSH.Util@@ -211,7 +214,7 @@   AbstractTyCon _ -> return Nothing   DataFamilyTyCon -> return Nothing -coreToTerm :: PrimMap+coreToTerm :: PrimMap a            -> [Var]            -> CoreExpr            -> State GHC2CoreState C.Term@@ -251,20 +254,7 @@         return $ C.Letrec $ bind (rec [(b',embed e')]) ct       else caseTerm e' -#if __GLASGOW_HASKELL__ < 710-    term (Cast e co)       = do-      e' <- term e-      case C.collectArgs e' of-        (C.Prim nm pTy, [Right _, Left errMsg])-          | nm == (pack "Control.Exception.Base.irrefutPatError") -> case co of-            (UnivCo _ _ resTy) -> do resTy' <- coreToType resTy-                                     return (C.mkApps (C.Prim nm pTy) [Right resTy', Left errMsg])-            _ -> error $ $(curLoc) ++ "irrefutPatError casted with an unknown coercion: " ++ showPpr co-        _ -> return e'-#else     term (Cast e _)        = term e-#endif-     term (Tick _ e)        = term e     term (Type t)          = C.Prim (pack "_TY_") <$> coreToType t     term (Coercion co)     = C.Prim (pack "_CO_") <$> coreToType (coercionType co)
src-ghc/CLaSH/GHC/GenerateBindings.hs view
@@ -1,3 +1,9 @@+{-|+  Copyright   :  (C) 2013-2016, University of Twente+  License     :  BSD2 (see the file LICENSE)+  Maintainer  :  Christiaan Baaij <christiaan.baaij@gmail.com>+-}+ module CLaSH.GHC.GenerateBindings   (generateBindings) where@@ -40,7 +46,7 @@ import           CLaSH.Util              ((***),first)  generateBindings ::-  PrimMap+     PrimMap a   -> String   -> Maybe  (GHC.DynFlags)   -> IO (BindingMap,HashMap TyConName TyCon,IntMap TyConName@@ -102,7 +108,7 @@     tm'                  = substTms (zip used usedVars) tm     ty'                  = runFreshM (termType tcm tm') -mkBindings :: PrimMap+mkBindings :: PrimMap a            -> [(GHC.CoreBndr, GHC.CoreExpr)] -- Binders            -> [(GHC.CoreBndr,Int)]           -- Class operations            -> [GHC.CoreBndr]                 -- Unlocatable Expressions
src-ghc/CLaSH/GHC/LoadInterfaceFiles.hs view
@@ -1,7 +1,14 @@+{-|+  Copyright   :  (C) 2013-2016, University of Twente+  License     :  BSD2 (see the file LICENSE)+  Maintainer  :  Christiaan Baaij <christiaan.baaij@gmail.com>+-}+ {-# LANGUAGE RecordWildCards     #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TemplateHaskell     #-} {-# LANGUAGE TupleSections       #-}+ module CLaSH.GHC.LoadInterfaceFiles   (loadExternalExprs) where
src-ghc/CLaSH/GHC/LoadModules.hs view
@@ -1,7 +1,14 @@+{-|+  Copyright   :  (C) 2013-2016, University of Twente+  License     :  BSD2 (see the file LICENSE)+  Maintainer  :  Christiaan Baaij <christiaan.baaij@gmail.com>+-}+ {-# LANGUAGE CPP                 #-} {-# LANGUAGE RecordWildCards     #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TemplateHaskell     #-}+ module CLaSH.GHC.LoadModules   ( loadModules   , ghcLibDir
src-ghc/CLaSH/GHC/NetlistTypes.hs view
@@ -1,5 +1,12 @@+{-|+  Copyright   :  (C) 2013-2016, University of Twente+  License     :  BSD2 (see the file LICENSE)+  Maintainer  :  Christiaan Baaij <christiaan.baaij@gmail.com>+-}+ {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE ViewPatterns    #-}+ module CLaSH.GHC.NetlistTypes   (ghcTypeToHWType) where