Fixed read_until_abc_done

This commit is contained in:
AdvaySingh1 2026-02-02 10:27:33 -08:00
parent b005f69e27
commit 900f8408af
1 changed files with 7 additions and 0 deletions

View File

@ -1149,6 +1149,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;
@ -1157,6 +1163,7 @@ bool read_until_abc_done(abc_output_filter &filt, int fd, DeferredLogs &logs) {
}
}
void RunAbcState::run(ConcurrentStack<AbcProcess> &process_pool)
{
std::string buffer = stringf("%s/input.blif", tempdir_name);