clash-ghc 1.0.0 → 1.0.1
raw patch · 9 files changed
+121/−10 lines, 9 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +14/−0
- clash-ghc.cabal +1/−1
- src-bin-821/Clash/GHCi/UI.hs +21/−2
- src-bin-821/Clash/Main.hs +1/−1
- src-bin-841/Clash/GHCi/UI.hs +28/−2
- src-bin-841/Clash/Main.hs +1/−1
- src-bin-861/Clash/GHCi/UI.hs +27/−1
- src-bin-881/Clash/GHCi/UI.hs +27/−1
- src-ghc/Interactive.hs +1/−1
CHANGELOG.md view
@@ -1,5 +1,19 @@ # Changelog for the [`clash-ghc`](http://hackage.haskell.org/package/clash-ghc) package +## 1.0.1+* Fixes issues:+ * [#810](https://github.com/clash-lang/clash-compiler/issues/810): Verilog backend now correctly specifies type of `BitVector 1`+ * [#811](https://github.com/clash-lang/clash-compiler/issues/811): Improve module load behavior in clashi+ * [#439](https://github.com/clash-lang/clash-compiler/issues/439): Template Haskell splices and TopEntity annotations can now be used in clashi+ * [#818](https://github.com/clash-lang/clash-compiler/issues/818): Fixed various mistakes in tutorial+ * [#662](https://github.com/clash-lang/clash-compiler/issues/662): Clash will now constant specialize partially constant constructs+ * [#700](https://github.com/clash-lang/clash-compiler/issues/700): Check work content of expression in cast before warning users. Should eliminate a lot of (superfluous) warnings about "specializing on non work-free cast"s.+ * [#837](https://github.com/clash-lang/clash-compiler/issues/837): Blackboxes will now report clearer error messages if they're given unexpected arguments.++* Small fixes without issue reports:+ * Fix bug in `rnfX` defined for `Down` ([814fd52](https://github.com/clash-lang/clash-compiler/commit/814fd520191123be38af8ef28fc49130424f3b93))+ * Report blackbox name when encountering an error in 'setSym' ([#858](https://github.com/clash-lang/clash-compiler/pull/858))+ ## 1.0.0 *September 3rd 2019* * 10x - 50x faster compile times * New features:
clash-ghc.cabal view
@@ -1,5 +1,5 @@ Name: clash-ghc-Version: 1.0.0+Version: 1.0.1 Synopsis: CAES Language for Synchronous Hardware Description: Clash is a functional hardware description language that borrows both its
src-bin-821/Clash/GHCi/UI.hs view
@@ -171,7 +171,7 @@ } ghciWelcomeMsg :: String-ghciWelcomeMsg = "CLaSHi, version " ++ Data.Version.showVersion Paths_clash_ghc.version +++ghciWelcomeMsg = "Clashi, version " ++ Data.Version.showVersion Paths_clash_ghc.version ++ " (using clash-lib, version " ++ Data.Version.showVersion clashLibVersion ++ "):\nhttp://www.clash-lang.org/ :? for help" @@ -1871,7 +1871,7 @@ -> IORef ClashOpts -> [FilePath] -> InputT GHCi ()-makeHDL' backend opts lst = makeHDL backend opts =<< case lst of+makeHDL' backend opts lst = go =<< case lst of srcs@(_:_) -> return srcs [] -> do modGraph <- GHC.getModuleGraph@@ -1879,6 +1879,25 @@ return $ case (reverse sortedGraph) of ((AcyclicSCC top) : _) -> maybeToList $ (GHC.ml_hs_file . GHC.ms_location) top _ -> []+ where+ go srcs = do+ dflags <- GHC.getSessionDynFlags+ goX dflags srcs `gfinally` recover dflags++ goX dflags srcs = do+ (dflagsX,_,_) <- parseDynamicFlagsCmdLine dflags+ [ noLoc "-fobject-code" -- For #439+ , noLoc "-fforce-recomp" -- Actually compile to object-code+ , noLoc "-keep-tmp-files" -- To prevent linker errors from+ -- multiple calls to :hdl command+ ]+ _ <- GHC.setSessionDynFlags dflagsX+ reloadModule ""+ makeHDL backend opts srcs++ recover dflags = do+ _ <- GHC.setSessionDynFlags dflags+ reloadModule "" makeHDL :: GHC.GhcMonad m => Clash.Backend.Backend backend
src-bin-821/Clash/Main.hs view
@@ -817,7 +817,7 @@ showSupportedExtensions = mapM_ putStrLn supportedLanguagesAndExtensions showVersion :: IO ()-showVersion = putStrLn $ concat [ "CLaSH, version "+showVersion = putStrLn $ concat [ "Clash, version " , Data.Version.showVersion Paths_clash_ghc.version , " (using clash-lib, version: " , Data.Version.showVersion clashLibVersion
src-bin-841/Clash/GHCi/UI.hs view
@@ -173,7 +173,7 @@ } ghciWelcomeMsg :: String-ghciWelcomeMsg = "CLaSHi, version " ++ Data.Version.showVersion Paths_clash_ghc.version +++ghciWelcomeMsg = "Clashi, version " ++ Data.Version.showVersion Paths_clash_ghc.version ++ " (using clash-lib, version " ++ Data.Version.showVersion clashLibVersion ++ "):\nhttp://www.clash-lang.org/ :? for help" @@ -1917,7 +1917,7 @@ -> IORef ClashOpts -> [FilePath] -> InputT GHCi ()-makeHDL' backend opts lst = makeHDL backend opts =<< case lst of+makeHDL' backend opts lst = go =<< case lst of srcs@(_:_) -> return srcs [] -> do modGraph <- GHC.getModuleGraph@@ -1925,6 +1925,32 @@ return $ case (reverse sortedGraph) of ((AcyclicSCC top) : _) -> maybeToList $ (GHC.ml_hs_file . GHC.ms_location) top _ -> []+ where+ go srcs = do+ dflags <- GHC.getSessionDynFlags+ goX dflags srcs `gfinally` recover dflags++ goX dflags srcs = do+ -- Issue #439 step 1+ (dflagsX,_,_) <- parseDynamicFlagsCmdLine dflags+ [ noLoc "-fobject-code" -- For #439+ , noLoc "-fforce-recomp" -- Actually compile to object-code+ , noLoc "-keep-tmp-files" -- To prevent linker errors from+ -- multiple calls to :hdl command+ ]+ _ <- GHC.setSessionDynFlags dflagsX+ reloadModule ""+ -- Issue #439 step 2+ -- Unload any object files+ -- This fixes: https://github.com/clash-lang/clash-compiler/issues/439#issuecomment-522015868+ env <- GHC.getSession+ liftIO (unload env [])+ -- Finally generate the HDL+ makeHDL backend opts srcs++ recover dflags = do+ _ <- GHC.setSessionDynFlags dflags+ reloadModule "" makeHDL :: GHC.GhcMonad m
src-bin-841/Clash/Main.hs view
@@ -831,7 +831,7 @@ showSupportedExtensions = mapM_ putStrLn supportedLanguagesAndExtensions showVersion :: IO ()-showVersion = putStrLn $ concat [ "CLaSH, version "+showVersion = putStrLn $ concat [ "Clash, version " , Data.Version.showVersion Paths_clash_ghc.version , " (using clash-lib, version: " , Data.Version.showVersion clashLibVersion
src-bin-861/Clash/GHCi/UI.hs view
@@ -1967,7 +1967,7 @@ -> IORef ClashOpts -> [FilePath] -> InputT GHCi ()-makeHDL' backend opts lst = makeHDL backend opts =<< case lst of+makeHDL' backend opts lst = go =<< case lst of srcs@(_:_) -> return srcs [] -> do modGraph <- GHC.getModuleGraph@@ -1975,6 +1975,32 @@ return $ case (reverse sortedGraph) of ((AcyclicSCC top) : _) -> maybeToList $ (GHC.ml_hs_file . GHC.ms_location) top _ -> []+ where+ go srcs = do+ dflags <- GHC.getSessionDynFlags+ goX dflags srcs `gfinally` recover dflags++ goX dflags srcs = do+ -- Issue #439 step 1+ (dflagsX,_,_) <- parseDynamicFlagsCmdLine dflags+ [ noLoc "-fobject-code" -- For #439+ , noLoc "-fforce-recomp" -- Actually compile to object-code+ , noLoc "-keep-tmp-files" -- To prevent linker errors from+ -- multiple calls to :hdl command+ ]+ _ <- GHC.setSessionDynFlags dflagsX+ reloadModule ""+ -- Issue #439 step 2+ -- Unload any object files+ -- This fixes: https://github.com/clash-lang/clash-compiler/issues/439#issuecomment-522015868+ env <- GHC.getSession+ liftIO (unload env [])+ -- Finally generate the HDL+ makeHDL backend opts srcs++ recover dflags = do+ _ <- GHC.setSessionDynFlags dflags+ reloadModule "" makeHDL :: GHC.GhcMonad m => Clash.Backend.Backend backend
src-bin-881/Clash/GHCi/UI.hs view
@@ -2059,7 +2059,7 @@ -> IORef ClashOpts -> [FilePath] -> InputT GHCi ()-makeHDL' backend opts lst = makeHDL backend opts =<< case lst of+makeHDL' backend opts lst = go =<< case lst of srcs@(_:_) -> return srcs [] -> do modGraph <- GHC.getModuleGraph@@ -2067,6 +2067,32 @@ return $ case (reverse sortedGraph) of ((AcyclicSCC top) : _) -> maybeToList $ (GHC.ml_hs_file . GHC.ms_location) top _ -> []+ where+ go srcs = do+ dflags <- GHC.getSessionDynFlags+ goX dflags srcs `gfinally` recover dflags++ goX dflags srcs = do+ -- Issue #439 step 1+ (dflagsX,_,_) <- parseDynamicFlagsCmdLine dflags+ [ noLoc "-fobject-code" -- For #439+ , noLoc "-fforce-recomp" -- Actually compile to object-code+ , noLoc "-keep-tmp-files" -- To prevent linker errors from+ -- multiple calls to :hdl command+ ]+ _ <- GHC.setSessionDynFlags dflagsX+ reloadModule ""+ -- Issue #439 step 2+ -- Unload any object files+ -- This fixes: https://github.com/clash-lang/clash-compiler/issues/439#issuecomment-522015868+ env <- GHC.getSession+ liftIO (unload env [])+ -- Finally generate the HDL+ makeHDL backend opts srcs++ recover dflags = do+ _ <- GHC.setSessionDynFlags dflags+ reloadModule "" makeHDL :: GHC.GhcMonad m => Clash.Backend.Backend backend
src-ghc/Interactive.hs view
@@ -13,4 +13,4 @@ import Clash.Main ( defaultMain ) main :: IO ()-main = getArgs >>= defaultMain . (["--interactive","-fobject-code"]++)+main = getArgs >>= defaultMain . ("--interactive":)