Commit d5b9c1da by Zachary Snow

visit function args in empty args conversion

parent 18f33352
......@@ -18,6 +18,7 @@
* Fixed failure to resolve typenames suffixed with dimensions in contexts
permitting both types and expressions, e.g., `$bits(T[W-1:0])`
* Fixed errant constant folding of shadowed non-trivial localparams
* Fixed conversion of function calls with no arguments passed to other functions
* Fixed certain non-ANSI style port declarations being incorrectly reported as
incompatible
......
......@@ -64,7 +64,8 @@ traverseStmt = traverseStmtExprsM traverseExpr
traverseExpr :: Expr -> SC Expr
traverseExpr (Call func (Args args [])) = do
details <- lookupElemM $ Dot func dummyIdent
let args' = if details /= Nothing
args' <- mapM traverseExpr $
if details /= Nothing
then RawNum 0 : args
else args
return $ Call func (Args args' [])
......
......@@ -3,4 +3,9 @@ module top;
return 32'h00000013;
endfunction
initial $display(nop());
function automatic integer flip;
input integer inp;
return ~inp;
endfunction
initial $display(flip(nop()));
endmodule
......@@ -4,4 +4,9 @@ module top;
nop = 32'h00000013;
endfunction
initial $display(nop(0));
function automatic integer flip;
input integer inp;
flip = ~inp;
endfunction
initial $display(flip(nop(0)));
endmodule
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment