mirror of
				https://github.com/Z3Prover/z3
				synced 2025-11-04 13:29:11 +00:00 
			
		
		
		
	fix #7268
This commit is contained in:
		
							parent
							
								
									6e069c1f41
								
							
						
					
					
						commit
						af1f0e3184
					
				
					 1 changed files with 5 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -248,6 +248,7 @@ void model::compress(bool force_inline) {
 | 
			
		|||
    // by substituting in auxiliary definitions that can be eliminated.
 | 
			
		||||
 | 
			
		||||
    func_decl_ref_vector pinned(m);
 | 
			
		||||
    ptr_vector<func_decl> sorted_decls;
 | 
			
		||||
    while (true) {
 | 
			
		||||
        top_sort ts(m);
 | 
			
		||||
        collect_deps(ts);
 | 
			
		||||
| 
						 | 
				
			
			@ -259,6 +260,7 @@ void model::compress(bool force_inline) {
 | 
			
		|||
        ts.m_occur_count.reset();
 | 
			
		||||
        for (func_decl * f : ts.top_sorted()) 
 | 
			
		||||
            collect_occs(ts, f);
 | 
			
		||||
        sorted_decls.reset();
 | 
			
		||||
        
 | 
			
		||||
        // remove auxiliary declarations that are not used.
 | 
			
		||||
        for (func_decl * f : ts.top_sorted()) {
 | 
			
		||||
| 
						 | 
				
			
			@ -267,11 +269,13 @@ void model::compress(bool force_inline) {
 | 
			
		|||
                unregister_decl(f);
 | 
			
		||||
                removed.insert(f);
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
                sorted_decls.push_back(f);
 | 
			
		||||
        }
 | 
			
		||||
        std::swap(m_decls, sorted_decls);
 | 
			
		||||
        if (removed.empty())
 | 
			
		||||
            break;
 | 
			
		||||
        TRACE("model", tout << "remove\n"; for (func_decl* f : removed) tout << f->get_name() << "\n";);
 | 
			
		||||
        remove_decls(m_decls, removed);
 | 
			
		||||
        remove_decls(m_func_decls, removed);
 | 
			
		||||
        remove_decls(m_const_decls, removed);
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue