diff --git a/src/math/polynomial/polynomial.cpp b/src/math/polynomial/polynomial.cpp index 7f4d26c8d15..78ec0ec8b40 100644 --- a/src/math/polynomial/polynomial.cpp +++ b/src/math/polynomial/polynomial.cpp @@ -2653,6 +2653,9 @@ namespace polynomial { m_tmp_linear_ms.push_back(mk_unit()); } polynomial * p = mk_polynomial(m_tmp_linear_as.size(), m_tmp_linear_as.c_ptr(), m_tmp_linear_ms.c_ptr()); + for (auto& a : m_tmp_linear_as) { + m_manager.del(a); + } m_tmp_linear_as.reset(); m_tmp_linear_ms.reset(); return p; diff --git a/src/util/mpz.cpp b/src/util/mpz.cpp index a6b05a8772b..eb67546549d 100644 --- a/src/util/mpz.cpp +++ b/src/util/mpz.cpp @@ -122,9 +122,11 @@ uint64_t u64_gcd(uint64_t u, uint64_t v) { } + template mpz_manager::mpz_manager(): m_allocator("mpz_manager") { + #ifndef _MP_GMP if (sizeof(digit_t) == sizeof(uint64_t)) { // 64-bit machine