diff --git a/src/api/api_context.cpp b/src/api/api_context.cpp index 6e0c3cd82..c857be48d 100644 --- a/src/api/api_context.cpp +++ b/src/api/api_context.cpp @@ -516,6 +516,11 @@ extern "C" { memory::initialize(0); } + void Z3_API Z3_finalize_memory(void) { + LOG_Z3_finalize_memory(); + memory::finalize(); + } + Z3_error_code Z3_API Z3_get_error_code(Z3_context c) { LOG_Z3_get_error_code(c); return mk_c(c)->get_error_code(); diff --git a/src/api/z3_api.h b/src/api/z3_api.h index ec321b66d..4746d4a33 100644 --- a/src/api/z3_api.h +++ b/src/api/z3_api.h @@ -5365,7 +5365,19 @@ END_MLAPI_EXCLUDE */ void Z3_API Z3_reset_memory(void); #endif - + +#ifdef CorML3 + /** + \brief Destroy all allocated resources. + + Any pointers previously returned by the API become invalid. + Can be used for memory leak detection. + + def_API('Z3_finalize_memory', VOID, ()) + */ + void Z3_API Z3_finalize_memory(void); +#endif + /*@}*/ #ifdef CorML3