data/full_repos/permissive/143278/ivltests/real_array_nb.v
 line:5: before: "["
1: b'%Error: data/full_repos/permissive/143278/ivltests/real_array_nb.v:9: Unsupported: event data types\n  event evt;\n  ^~~~~\n%Warning-STMTDLY: data/full_repos/permissive/143278/ivltests/real_array_nb.v:24: Unsupported: Ignoring delay on this delayed statement.\n    #0.1;\n    ^\n                  ... Use "/* verilator lint_off STMTDLY */" and lint_on around source to disable this message.\n%Warning-STMTDLY: data/full_repos/permissive/143278/ivltests/real_array_nb.v:32: Unsupported: Ignoring delay on this delayed statement.\n    #1.1;\n    ^\n%Error: data/full_repos/permissive/143278/ivltests/real_array_nb.v:39: syntax error, unexpected repeat, expecting TYPE-IDENTIFIER\n    rarr[idx] <= repeat(count) @(evt) 0.0;\n                 ^~~~~~\n%Warning-STMTDLY: data/full_repos/permissive/143278/ivltests/real_array_nb.v:40: Unsupported: Ignoring delay on this delayed statement.\n    #0.1;\n    ^\n%Warning-STMTDLY: data/full_repos/permissive/143278/ivltests/real_array_nb.v:52: Unsupported: Ignoring delay on this delayed statement.\n    #0.1;\n    ^\n%Warning-STMTDLY: data/full_repos/permissive/143278/ivltests/real_array_nb.v:60: Unsupported: Ignoring delay on this delayed statement.\n    #1.9;\n    ^\n%Warning-STMTDLY: data/full_repos/permissive/143278/ivltests/real_array_nb.v:65: Unsupported: Ignoring delay on this delayed statement.\n    #0.2;\n    ^\n%Warning-STMTDLY: data/full_repos/permissive/143278/ivltests/real_array_nb.v:74: Unsupported: Ignoring delay on this delayed statement.\n    #2.9;\n    ^\n%Warning-STMTDLY: data/full_repos/permissive/143278/ivltests/real_array_nb.v:79: Unsupported: Ignoring delay on this delayed statement.\n    #0.2;\n    ^\n%Error: data/full_repos/permissive/143278/ivltests/real_array_nb.v:86: syntax error, unexpected repeat, expecting TYPE-IDENTIFIER\n    rarr[1] <= repeat(count) @(evt) 5.0;\n               ^~~~~~\n%Warning-STMTDLY: data/full_repos/permissive/143278/ivltests/real_array_nb.v:87: Unsupported: Ignoring delay on this delayed statement.\n    #0.1;\n    ^\n%Error: data/full_repos/permissive/143278/ivltests/real_array_nb.v:94: syntax error, unexpected \'@\', expecting TYPE-IDENTIFIER\n    rarr[1] <= @(evt) 6.0;\n               ^\n%Error: data/full_repos/permissive/143278/ivltests/real_array_nb.v:95: Unsupported: fork statements\n    fork\n    ^~~~\n%Error: data/full_repos/permissive/143278/ivltests/real_array_nb.v:96: syntax error, unexpected ->\n      #1 ->evt;\n         ^~\n%Warning-STMTDLY: data/full_repos/permissive/143278/ivltests/real_array_nb.v:96: Unsupported: Ignoring delay on this delayed statement.\n      #1 ->evt;\n      ^\n%Warning-STMTDLY: data/full_repos/permissive/143278/ivltests/real_array_nb.v:98: Unsupported: Ignoring delay on this delayed statement.\n        #0.9;\n        ^\n%Warning-STMTDLY: data/full_repos/permissive/143278/ivltests/real_array_nb.v:103: Unsupported: Ignoring delay on this delayed statement.\n        #0.2;\n        ^\n%Error: Exiting due to 6 error(s), 12 warning(s)\n        ... See the manual and https://verilator.org for more assistance.\n'
module top;
  reg pass;
  real rarr[0:3];
  realtime del;
  reg signed [1:0] idx;
  integer count;
  event evt;

  initial begin
    pass = 1'b1;


    if (rarr[1] != 0.0) begin
      $display("FAILED initial value, expected 0.0, got %f", rarr[1]);
      pass = 1'b0;
    end


    rarr[3] = 3.0;
    idx = -1;
    rarr[idx] <= 0.0;
    #0.1;
    if (rarr[3] != 3.0) begin
      $display("FAILED negative index 1, expected 3.0, got %f", rarr[3]);
      pass = 1'b0;
    end

    del = 1.0;
    rarr[idx] <= #(del) 0.0;
    #1.1;
    if (rarr[3] != 3.0) begin
      $display("FAILED negative index 2, expected 3.0, got %f", rarr[3]);
      pass = 1'b0;
    end

    count = 0;
    rarr[idx] <= repeat(count) @(evt) 0.0;
    #0.1;
    if (rarr[3] != 3.0) begin
      $display("FAILED negative index 3, expected 3.0, got %f", rarr[3]);
      pass = 1'b0;
    end


    rarr[1] <= 2.0;
    if (rarr[1] != 0.0) begin
      $display("FAILED non-blocking assign 1, expected 0.0, got %f", rarr[1]);
      pass = 1'b0;
    end
    #0.1;
    if (rarr[1] != 2.0) begin
      $display("FAILED non-blocking assign 2, expected 2.0, got %f", rarr[1]);
      pass = 1'b0;
    end


    rarr[1] <= #2 3.0;
    #1.9;
    if (rarr[1] != 2.0) begin
      $display("FAILED delayed NB assign 1, expected 2.0, got %f", rarr[1]);
      pass = 1'b0;
    end
    #0.2;
    if (rarr[1] != 3.0) begin
      $display("FAILED delayed NB assign 2, expected 3.0, got %f", rarr[1]);
      pass = 1'b0;
    end


    del = 3.0;
    rarr[1] <= #(del) 4.0;
    #2.9;
    if (rarr[1] != 3.0) begin
      $display("FAILED var. delay NB assign 1, expected 3.0, got %f", rarr[1]);
      pass = 1'b0;
    end
    #0.2;
    if (rarr[1] != 4.0) begin
      $display("FAILED var. delay NB assign 2, expected 4.0, got %f", rarr[1]);
      pass = 1'b0;
    end


    rarr[1] <= repeat(count) @(evt) 5.0;
    #0.1;
    if (rarr[1] != 5.0) begin
      $display("FAILED NB EC count=0, expected 5.0, got %f", rarr[1]);
      pass = 1'b0;
    end


    rarr[1] <= @(evt) 6.0;
    fork
      #1 ->evt;
      begin
        #0.9;
        if (rarr[1] != 5.0) begin
          $display("FAILED NB EC initial, expected 5.0, got %f", rarr[1]);
          pass = 1'b0;
        end
        #0.2;
        if (rarr[1] != 6.0) begin
          $display("FAILED NB EC final, expected 6.0, got %f", rarr[1]);
          pass = 1'b0;
        end
      end
    join

    if (pass) $display("PASSED");
 end
endmodule
module top;

  reg pass;
  real rarr[0:3];
  realtime del;
  reg signed [1:0] idx;
  integer count;
  event evt;

  initial begin
    pass = 1'b1;


    if (rarr[1] != 0.0) begin
      $display("FAILED initial value, expected 0.0, got %f", rarr[1]);
      pass = 1'b0;
    end


    rarr[3] = 3.0;
    idx = -1;
    rarr[idx] <= 0.0;
    #0.1;
    if (rarr[3] != 3.0) begin
      $display("FAILED negative index 1, expected 3.0, got %f", rarr[3]);
      pass = 1'b0;
    end

    del = 1.0;
    rarr[idx] <= #(del) 0.0;
    #1.1;
    if (rarr[3] != 3.0) begin
      $display("FAILED negative index 2, expected 3.0, got %f", rarr[3]);
      pass = 1'b0;
    end

    count = 0;
    rarr[idx] <= repeat(count) @(evt) 0.0;
    #0.1;
    if (rarr[3] != 3.0) begin
      $display("FAILED negative index 3, expected 3.0, got %f", rarr[3]);
      pass = 1'b0;
    end


    rarr[1] <= 2.0;
    if (rarr[1] != 0.0) begin
      $display("FAILED non-blocking assign 1, expected 0.0, got %f", rarr[1]);
      pass = 1'b0;
    end
    #0.1;
    if (rarr[1] != 2.0) begin
      $display("FAILED non-blocking assign 2, expected 2.0, got %f", rarr[1]);
      pass = 1'b0;
    end


    rarr[1] <= #2 3.0;
    #1.9;
    if (rarr[1] != 2.0) begin
      $display("FAILED delayed NB assign 1, expected 2.0, got %f", rarr[1]);
      pass = 1'b0;
    end
    #0.2;
    if (rarr[1] != 3.0) begin
      $display("FAILED delayed NB assign 2, expected 3.0, got %f", rarr[1]);
      pass = 1'b0;
    end


    del = 3.0;
    rarr[1] <= #(del) 4.0;
    #2.9;
    if (rarr[1] != 3.0) begin
      $display("FAILED var. delay NB assign 1, expected 3.0, got %f", rarr[1]);
      pass = 1'b0;
    end
    #0.2;
    if (rarr[1] != 4.0) begin
      $display("FAILED var. delay NB assign 2, expected 4.0, got %f", rarr[1]);
      pass = 1'b0;
    end


    rarr[1] <= repeat(count) @(evt) 5.0;
    #0.1;
    if (rarr[1] != 5.0) begin
      $display("FAILED NB EC count=0, expected 5.0, got %f", rarr[1]);
      pass = 1'b0;
    end


    rarr[1] <= @(evt) 6.0;
    fork
      #1 ->evt;
      begin
        #0.9;
        if (rarr[1] != 5.0) begin
          $display("FAILED NB EC initial, expected 5.0, got %f", rarr[1]);
          pass = 1'b0;
        end
        #0.2;
        if (rarr[1] != 6.0) begin
          $display("FAILED NB EC final, expected 6.0, got %f", rarr[1]);
          pass = 1'b0;
        end
      end
    join

    if (pass) $display("PASSED");
 end
endmodule