mirror of
				https://github.com/Z3Prover/z3
				synced 2025-10-30 19:22:28 +00:00 
			
		
		
		
	Catch exceptions by const-reference
Exceptions caught by value incur needless cost in C++, most of them can be caught by const-reference, especially as nearly none are actually used. This could allow compiler generate a slightly more efficient code.
This commit is contained in:
		
							parent
							
								
									b301a59899
								
							
						
					
					
						commit
						cfd0486582
					
				
					 36 changed files with 45 additions and 45 deletions
				
			
		|  | @ -2737,7 +2737,7 @@ lbool context::solve(unsigned from_lvl) | |||
|             // }
 | ||||
|         } | ||||
|         VERIFY (validate ()); | ||||
|     } catch (unknown_exception) | ||||
|     } catch (const unknown_exception &) | ||||
|     {} | ||||
| 
 | ||||
|     if (m_last_result == l_true) { | ||||
|  |  | |||
|  | @ -95,7 +95,7 @@ bool farkas_learner::is_pure_expr(func_decl_set const& symbs, expr* e, ast_manag | |||
|     is_pure_expr_proc proc(symbs, m); | ||||
|     try { | ||||
|         for_each_expr(proc, e); | ||||
|     } catch (is_pure_expr_proc::non_pure) { | ||||
|     } catch (const is_pure_expr_proc::non_pure &) { | ||||
|         return false; | ||||
|     } | ||||
|     return true; | ||||
|  |  | |||
|  | @ -88,7 +88,7 @@ bool iuc_proof::is_core_pure(expr* e) const | |||
|     try { | ||||
|         for_each_expr(proc, e); | ||||
|     } | ||||
|     catch (is_pure_expr_proc::non_pure) | ||||
|     catch (const is_pure_expr_proc::non_pure &) | ||||
|     {return false;} | ||||
| 
 | ||||
|     return true; | ||||
|  |  | |||
|  | @ -247,7 +247,7 @@ bool has_zk_const(expr *e){ | |||
|     try { | ||||
|         for_each_expr(p, e); | ||||
|     } | ||||
|     catch (has_zk_const_ns::found) { | ||||
|     catch (const has_zk_const_ns::found &) { | ||||
|         return true; | ||||
|     } | ||||
|     return false; | ||||
|  |  | |||
|  | @ -120,7 +120,7 @@ struct index_lt_proc : public std::binary_function<app*, app *, bool> { | |||
|             for (expr *e : v) | ||||
|                 quick_for_each_expr(fn, visited, e); | ||||
|         } | ||||
|         catch (has_nlira_functor::found ) { | ||||
|         catch (const has_nlira_functor::found &) { | ||||
|             return true; | ||||
|         } | ||||
|         return false; | ||||
|  |  | |||
|  | @ -891,7 +891,7 @@ namespace { | |||
|             for_each_expr(cs, fml); | ||||
|             return false; | ||||
|         } | ||||
|         catch(found) { | ||||
|         catch(const found &) { | ||||
|             return true; | ||||
|         } | ||||
|     } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue