mirror of
https://github.com/Z3Prover/z3
synced 2025-06-18 11:58:31 +00:00
trace & threads = undef
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
a839017cc6
commit
918b6a8c03
3 changed files with 9 additions and 1 deletions
|
@ -3466,7 +3466,7 @@ namespace smt {
|
||||||
SASSERT(!m_setup.already_configured());
|
SASSERT(!m_setup.already_configured());
|
||||||
setup_context(m_fparams.m_auto_config);
|
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);
|
parallel p(*this);
|
||||||
expr_ref_vector asms(m);
|
expr_ref_vector asms(m);
|
||||||
return p(asms);
|
return p(asms);
|
||||||
|
|
|
@ -715,6 +715,8 @@ public:
|
||||||
cleanup();
|
cleanup();
|
||||||
fail_if_proof_generation("parallel-tactic", g);
|
fail_if_proof_generation("parallel-tactic", g);
|
||||||
ast_manager& m = g->m();
|
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* s = m_solver->translate(m, m_params);
|
||||||
solver_state* st = alloc(solver_state, nullptr, s, m_params);
|
solver_state* st = alloc(solver_state, nullptr, s, m_params);
|
||||||
m_queue.add_task(st);
|
m_queue.add_task(st);
|
||||||
|
|
|
@ -391,6 +391,9 @@ public:
|
||||||
|
|
||||||
ast_manager & m = in->m();
|
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_ptr_vector<ast_manager> managers;
|
||||||
scoped_limits scl(m.limit());
|
scoped_limits scl(m.limit());
|
||||||
goal_ref_vector in_copies;
|
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);
|
vector<std::thread> threads(r1_size);
|
||||||
for (unsigned i = 0; i < r1_size; ++i) {
|
for (unsigned i = 0; i < r1_size; ++i) {
|
||||||
threads[i] = std::thread([&, i]() { worker_thread(i); });
|
threads[i] = std::thread([&, i]() { worker_thread(i); });
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue