3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-15 05:18:44 +00:00

trace & threads = undef

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-04-03 13:58:22 -07:00
parent a839017cc6
commit 918b6a8c03
3 changed files with 9 additions and 1 deletions

View file

@ -3466,7 +3466,7 @@ namespace smt {
SASSERT(!m_setup.already_configured());
setup_context(m_fparams.m_auto_config);
if (m_fparams.m_threads > 1) {
if (m_fparams.m_threads > 1 && !m.has_trace_stream()) {
parallel p(*this);
expr_ref_vector asms(m);
return p(asms);

View file

@ -715,6 +715,8 @@ public:
cleanup();
fail_if_proof_generation("parallel-tactic", g);
ast_manager& m = g->m();
if (m.has_trace_stream())
throw default_exception("parallel tactic does not work with trace");
solver* s = m_solver->translate(m, m_params);
solver_state* st = alloc(solver_state, nullptr, s, m_params);
m_queue.add_task(st);

View file

@ -391,6 +391,9 @@ public:
ast_manager & m = in->m();
if (m.has_trace_stream())
throw default_exception("threads and trace are incompatible");
scoped_ptr_vector<ast_manager> managers;
scoped_limits scl(m.limit());
goal_ref_vector in_copies;
@ -662,6 +665,9 @@ public:
}
};
if (m.has_trace_stream())
throw default_exception("threads and trace are incompatible");
vector<std::thread> threads(r1_size);
for (unsigned i = 0; i < r1_size; ++i) {
threads[i] = std::thread([&, i]() { worker_thread(i); });