The below is the result of minimizing, for Verilator giving a %q as the only error. (Arbitrary way to look for the display statement still existing):
package uvm_pkg;
virtual class uvm_report_catcher;
function string get_id();
endfunction
endclass
endpackage
module t;
import uvm_pkg::*;
class my_catcher extends uvm_report_catcher;
virtual function int catch(string msg);
if (get_id() == "UVMCB_TRC") begin
case ("Z")
"A": $display("bad format %q");
"B": $display("format");
"C": $display("format");
endcase
end
endfunction
endclass
endmodule
I think best-case output is:
module t;
class my_catcher;
virtual function int catch(string msg);
$display("bad format %q");
endfunction
endclass
endmodule
Please consider
- try removing case items.
- try
case (x) ign: y becomes y
- try
if (x) y becomes y.
- try
if (x) ign; else y becomes y.
Thanks.
The below is the result of minimizing, for Verilator giving a
%qas the only error. (Arbitrary way to look for the display statement still existing):I think best-case output is:
Please consider
case (x) ign: ybecomesyif (x) ybecomesy.if (x) ign; else ybecomesy.Thanks.