data/full_repos/permissive/143278/ivltests/recursive_task.v
 line:3: before: "factorial"
1: b'%Error: data/full_repos/permissive/143278/ivltests/recursive_task.v:10: Unsupported: fork statements\nfork\n^~~~\n%Warning-STMTDLY: data/full_repos/permissive/143278/ivltests/recursive_task.v:16: Unsupported: Ignoring delay on this delayed statement.\n    #1 f = n * t;\n    ^\n                  ... Use "/* verilator lint_off STMTDLY */" and lint_on around source to disable this message.\n%Error: data/full_repos/permissive/143278/ivltests/recursive_task.v:19: syntax error, unexpected \'@\'\n    @f $display("intermediate value = %0d", f);\n    ^\n%Error: data/full_repos/permissive/143278/ivltests/recursive_task.v:30: Unsupported: fork statements\n  fork\n  ^~~~\n%Error: Exiting due to 3 error(s), 1 warning(s)\n        ... See the manual and https://verilator.org for more assistance.\n'
module recursive_task();

task automatic factorial;

input  integer n;
output integer f;

integer t;

fork
  begin
    if (n > 1)
      factorial(n - 1, t);
    else
      t = 1;
    #1 f = n * t;
  end
  begin
    @f $display("intermediate value = %0d", f);
  end
join

endtask

integer r1;
integer r2;
integer r3;

initial begin
  fork
    factorial(3, r1);
    factorial(4, r2);
    factorial(5, r3);
  join
  $display("factorial 3 = %0d", r1);
  $display("factorial 4 = %0d", r2);
  $display("factorial 5 = %0d", r3);
end

endmodule
module recursive_task();


task automatic factorial;

input  integer n;
output integer f;

integer t;

fork
  begin
    if (n > 1)
      factorial(n - 1, t);
    else
      t = 1;
    #1 f = n * t;
  end
  begin
    @f $display("intermediate value = %0d", f);
  end
join

endtask

integer r1;
integer r2;
integer r3;

initial begin
  fork
    factorial(3, r1);
    factorial(4, r2);
    factorial(5, r3);
  join
  $display("factorial 3 = %0d", r1);
  $display("factorial 4 = %0d", r2);
  $display("factorial 5 = %0d", r3);
end

endmodule