abc: handle ABC script errors instead of hanging
This commit is contained in:
@@ -1152,6 +1152,12 @@ bool read_until_abc_done(abc_output_filter &filt, int fd, DeferredLogs &logs) {
|
||||
// Ignore any leftover output, there should only be a prompt perhaps
|
||||
return true;
|
||||
}
|
||||
// If ABC aborted the sourced script, it returns to the prompt and will
|
||||
// never print YOSYS_ABC_DONE. Treat this as a failed run, not a hang.
|
||||
if (line.substr(0, 7) == "Error: ") {
|
||||
logs.log_error("ABC: %s", line.c_str());
|
||||
return false;
|
||||
}
|
||||
filt.next_line(line);
|
||||
line.clear();
|
||||
start = p + 1;
|
||||
|
||||
7
tests/techmap/bug5574.ys
Normal file
7
tests/techmap/bug5574.ys
Normal file
@@ -0,0 +1,7 @@
|
||||
read_verilog << EOT
|
||||
module fuzz_mwoqk (input i0, output o0);
|
||||
assign o0 = i0 ^ 1;
|
||||
endmodule
|
||||
EOT
|
||||
synth
|
||||
abc -script +resub,-K,8;
|
||||
Reference in New Issue
Block a user