mirror of
				https://github.com/Z3Prover/z3
				synced 2025-11-03 21:09:11 +00:00 
			
		
		
		
	fix #6978
This commit is contained in:
		
							parent
							
								
									4406011881
								
							
						
					
					
						commit
						ad2107f079
					
				
					 3 changed files with 3 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -97,6 +97,7 @@ namespace euf {
 | 
			
		|||
            for (unsigned i = 0; i < num_args; ++i) {
 | 
			
		||||
                SASSERT(to_app(f)->get_arg(i) == args[i]->get_expr());
 | 
			
		||||
                n->m_args[i] = args[i];
 | 
			
		||||
                n->m_args[i]->get_root()->set_is_shared(l_undef);
 | 
			
		||||
            }
 | 
			
		||||
            return n;
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -54,7 +54,7 @@ namespace smt {
 | 
			
		|||
        for (unsigned i = 0; i < num_args; i++) {            
 | 
			
		||||
            enode * arg  = app2enode[owner->get_arg(i)->get_id()];
 | 
			
		||||
            n->m_args[i] = arg;
 | 
			
		||||
            arg->m_is_shared = 2;
 | 
			
		||||
            arg->get_root()->m_is_shared = 2;
 | 
			
		||||
            SASSERT(n->get_arg(i) == arg);
 | 
			
		||||
            if (update_children_parent)
 | 
			
		||||
                arg->get_root()->m_parents.push_back(n);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2077,7 +2077,7 @@ public:
 | 
			
		|||
        enode * n      = get_enode(v);
 | 
			
		||||
        enode * r      = n->get_root();
 | 
			
		||||
        unsigned usz   = m_underspecified.size();
 | 
			
		||||
        TRACE("shared", tout << ctx().get_scope_level() << " " <<  v << " " << r->get_num_parents() << "\n";);
 | 
			
		||||
        TRACE("shared", tout << ctx().get_scope_level() << " " <<  enode_pp(n, ctx()) << " " << v << " underspecified " << usz << " parents " << r->get_num_parents() << "\n";);
 | 
			
		||||
        if (r->get_num_parents() > 2*usz) {
 | 
			
		||||
            for (unsigned i = 0; i < usz; ++i) {
 | 
			
		||||
                app* u = m_underspecified[i];
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue