aboutsummaryrefslogtreecommitdiffstats
path: root/frontends
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2020-05-14 09:45:54 -0700
committerGitHub <noreply@github.com>2020-05-14 09:45:54 -0700
commit5bcde7ccc331e575682823222c97cc414bb3d808 (patch)
tree07405fdd0d0652ad75bb881ef67fa66a5e3315a3 /frontends
parentf02e20907e5d0f343c83ed1a762a39299105167e (diff)
parent56a5b1d2daf1b244990d81f32183034071ebd185 (diff)
downloadyosys-5bcde7ccc331e575682823222c97cc414bb3d808.tar.gz
yosys-5bcde7ccc331e575682823222c97cc414bb3d808.tar.bz2
yosys-5bcde7ccc331e575682823222c97cc414bb3d808.zip
Merge pull request #2045 from YosysHQ/eddie/fix2042
verilog: error if no direction given for task arguments, default to input in SV mode
Diffstat (limited to 'frontends')
-rw-r--r--frontends/verilog/verilog_parser.y14
1 files changed, 13 insertions, 1 deletions
diff --git a/frontends/verilog/verilog_parser.y b/frontends/verilog/verilog_parser.y
index db9a130cf..f250d7685 100644
--- a/frontends/verilog/verilog_parser.y
+++ b/frontends/verilog/verilog_parser.y
@@ -853,7 +853,19 @@ task_func_port:
}
if (astbuf2 && astbuf2->children.size() != 2)
frontend_verilog_yyerror("task/function argument range must be of the form: [<expr>:<expr>], [<expr>+:<expr>], or [<expr>-:<expr>]");
- } wire_name | wire_name;
+ } wire_name |
+ {
+ if (!astbuf1) {
+ if (!sv_mode)
+ frontend_verilog_yyerror("task/function argument direction missing");
+ albuf = new dict<IdString, AstNode*>;
+ astbuf1 = new AstNode(AST_WIRE);
+ current_wire_rand = false;
+ current_wire_const = false;
+ astbuf1->is_input = true;
+ astbuf2 = NULL;
+ }
+ } wire_name;
task_func_body:
task_func_body behavioral_stmt |