visit function args in empty args conversion

This commit is contained in:
Zachary Snow 2023-11-04 11:36:08 -04:00
parent 18f333524e
commit d5b9c1da59
4 changed files with 13 additions and 1 deletions

View File

@ -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

View File

@ -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' [])

View File

@ -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

View File

@ -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