verible-verilog-format fails to converge when a localparam is initialized to a sum of several long `MACRO identifiers written across lines. The first format pass puts each + and macro on its own line; the second pass joins the final + onto the last macro, so format(format(x)) != format(x).
Test case
module m;
localparam N =
`MACRO_GEN3_SCRAMBLE_LFSR_REGOUT
+ `MACRO_GEN3_SCRAMBLE_REGIN
+ `MACRO_GEN3_SCRAMBLE_REGOUT
;
endmodule
Actual output
Re-formatted text does not match formatted text; formatting failed to converge! Please file a bug.
verible-verilog-format fails to converge when a localparam is initialized to a sum of several long `MACRO identifiers written across lines. The first format pass puts each + and macro on its own line; the second pass joins the final + onto the last macro, so format(format(x)) != format(x).
Test case
Actual output