data/full_repos/permissive/143278/ivltests/pr3557493.v
 line:11: before: "."
1: b"%Error: data/full_repos/permissive/143278/ivltests/pr3557493.v:15: syntax error, unexpected '[', expecting '.'\n    defparam Loop2[i].m.p = 1 + i;\n                  ^\n%Error: data/full_repos/permissive/143278/ivltests/pr3557493.v:19: syntax error, unexpected '[', expecting '='\n    defparam m2.Loop3[i].m.p = 1 + i;\n                     ^\n%Error: Exiting due to 2 error(s)\n"
module m2();

generate
  genvar i;
  for (i = 0; i < 2; i = i + 1) begin : Loop1
    m1 m();
    defparam m.p = 1 + i;
  end
  for (i = 2; i < 4; i = i + 1) begin : Loop2
    m1 m();
    defparam Loop2[i].m.p = 1 + i;
  end
  for (i = 4; i < 6; i = i + 1) begin : Loop3
    m1 m();
    defparam m2.Loop3[i].m.p = 1 + i;
  end
endgenerate

reg failed = 0;

initial begin
  $display("Loop1[0].m.p = %0d", Loop1[0].m.p);
  if (Loop1[0].m.p !== 1) failed = 1;
  $display("Loop1[1].m.p = %0d", Loop1[1].m.p);
  if (Loop1[1].m.p !== 2) failed = 1;
  $display("Loop2[2].m.p = %0d", Loop2[2].m.p);
  if (Loop2[2].m.p !== 3) failed = 1;
  $display("Loop2[3].m.p = %0d", Loop2[3].m.p);
  if (Loop2[3].m.p !== 4) failed = 1;
  $display("Loop3[4].m.p = %0d", Loop3[4].m.p);
  if (Loop3[4].m.p !== 5) failed = 1;
  $display("Loop3[5].m.p = %0d", Loop3[5].m.p);
  if (Loop3[5].m.p !== 6) failed = 1;

  if (failed)
    $display("FAILED");
  else
    $display("PASSED");
end

endmodule
module m2();


generate
  genvar i;
  for (i = 0; i < 2; i = i + 1) begin : Loop1
    m1 m();
    defparam m.p = 1 + i;
  end
  for (i = 2; i < 4; i = i + 1) begin : Loop2
    m1 m();
    defparam Loop2[i].m.p = 1 + i;
  end
  for (i = 4; i < 6; i = i + 1) begin : Loop3
    m1 m();
    defparam m2.Loop3[i].m.p = 1 + i;
  end
endgenerate

reg failed = 0;

initial begin
  $display("Loop1[0].m.p = %0d", Loop1[0].m.p);
  if (Loop1[0].m.p !== 1) failed = 1;
  $display("Loop1[1].m.p = %0d", Loop1[1].m.p);
  if (Loop1[1].m.p !== 2) failed = 1;
  $display("Loop2[2].m.p = %0d", Loop2[2].m.p);
  if (Loop2[2].m.p !== 3) failed = 1;
  $display("Loop2[3].m.p = %0d", Loop2[3].m.p);
  if (Loop2[3].m.p !== 4) failed = 1;
  $display("Loop3[4].m.p = %0d", Loop3[4].m.p);
  if (Loop3[4].m.p !== 5) failed = 1;
  $display("Loop3[5].m.p = %0d", Loop3[5].m.p);
  if (Loop3[5].m.p !== 6) failed = 1;

  if (failed)
    $display("FAILED");
  else
    $display("PASSED");
end

endmodule