Why is this an issue?

A multi-bit integer value is implicitly converted to a boolean predicate (such as in an if statement or loop condition).

This is not necessarily wrong but can indicate mistakes where you intended to compare the value to something.

How to fix it

Code examples

Noncompliant code example

module fly;
  int i;
  initial if (i + 2) begin
  end
endmodule

Compliant solution

module fly;
  int i;
  initial if (i + 2 != 0) begin
  end
endmodule