mirror of
				https://github.com/Z3Prover/z3
				synced 2025-11-03 21:09:11 +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());
 | 
			
		||||
        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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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); });
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue