mirror of https://github.com/zachjs/sv2v.git
function return type logic to implicit conversion
This commit is contained in:
parent
9699f5bf16
commit
4c49bd1138
|
|
@ -13,6 +13,7 @@ import qualified Convert.AlwaysKW
|
|||
import qualified Convert.AsgnOp
|
||||
import qualified Convert.CaseKW
|
||||
import qualified Convert.Enum
|
||||
import qualified Convert.FuncRet
|
||||
import qualified Convert.Logic
|
||||
import qualified Convert.PackedArray
|
||||
import qualified Convert.Return
|
||||
|
|
@ -27,6 +28,7 @@ type Phase = AST -> AST
|
|||
phases :: Target -> [Phase]
|
||||
phases YOSYS =
|
||||
[ Convert.AsgnOp.convert
|
||||
, Convert.FuncRet.convert
|
||||
, Convert.Enum.convert
|
||||
, Convert.PackedArray.convert
|
||||
, Convert.StarPort.convert
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
{- sv2v
|
||||
- Author: Zachary Snow <zach@zachjs.com>
|
||||
-
|
||||
- Conversion which makes function `logic` return types implicit
|
||||
-}
|
||||
|
||||
module Convert.FuncRet (convert) where
|
||||
|
||||
import Convert.Traverse
|
||||
import Language.SystemVerilog.AST
|
||||
|
||||
convert :: AST -> AST
|
||||
convert = traverseDescriptions $ traverseModuleItems convertFunction
|
||||
|
||||
convertFunction :: ModuleItem -> ModuleItem
|
||||
convertFunction (Function ml (Logic r) f decls stmts) =
|
||||
Function ml (Implicit r) f decls stmts
|
||||
convertFunction other = other
|
||||
|
|
@ -44,6 +44,7 @@ executable sv2v
|
|||
Convert.AsgnOp
|
||||
Convert.CaseKW
|
||||
Convert.Enum
|
||||
Convert.FuncRet
|
||||
Convert.Logic
|
||||
Convert.PackedArray
|
||||
Convert.Return
|
||||
|
|
|
|||
Loading…
Reference in New Issue