--- lib/core/include/internal/pool_allocator.h.orig 2020-02-19 02:55:20.000000000 -0700 +++ lib/core/include/internal/pool_allocator.h 2020-02-19 20:30:07.385673716 -0700 @@ -33,15 +33,15 @@ namespace pm { class allocator : public PM_ALLOCATOR_BASE { using base_t = PM_ALLOCATOR_BASE; public: - void* allocate(size_t n) + void* allocate(std::size_t n) { return base_t::allocate(n, nullptr); } - void deallocate(void* p, size_t n) + void deallocate(void* p, std::size_t n) { base_t::deallocate(reinterpret_cast(p), n); } - void* reallocate(void* p, size_t old_sz, size_t new_sz); + void* reallocate(void* p, std::size_t old_sz, std::size_t new_sz); template Data* construct(Args&&... args) --- lib/core/src/lib_init.cc.orig 2020-02-19 02:55:20.000000000 -0700 +++ lib/core/src/lib_init.cc 2020-02-19 20:30:07.386673716 -0700 @@ -17,6 +17,7 @@ #include "polymake/internal/pool_allocator.h" +#include #include #include #include @@ -24,7 +25,7 @@ #include extern "C" { - void* __gmp_default_allocate(size_t); + void* __gmp_default_allocate(std::size_t); } namespace pm { @@ -36,19 +37,19 @@ namespace { class pool_allocator_constants : public __gnu_cxx::__pool_alloc_base { public: - static constexpr size_t align = _S_align, limit = _S_max_bytes; + static constexpr std::size_t align = _S_align, limit = _S_max_bytes; }; } -void* pm::allocator::reallocate(void* p, size_t old_sz, size_t new_sz) +void* pm::allocator::reallocate(void* p, std::size_t old_sz, std::size_t new_sz) { if (!p) { assert(old_sz == 0); return allocate(new_sz); } static const bool use_new = getenv("GLIBCPP_FORCE_NEW") || getenv("GLIBCXX_FORCE_NEW"); - constexpr size_t align_mask = pool_allocator_constants::align-1; + constexpr std::size_t align_mask = pool_allocator_constants::align-1; if (!use_new && ((old_sz+align_mask) & ~align_mask) == ((new_sz+align_mask) & ~align_mask) && new_sz < pool_allocator_constants::limit) return p; void* new_p = allocate(new_sz); @@ -61,7 +62,7 @@ void* pm::allocator::reallocate(void* p, #else // libc++ -void* pm::allocator::reallocate(void* p, size_t old_sz, size_t new_sz) +void* pm::allocator::reallocate(void* p, std::size_t old_sz, std::size_t new_sz) { void* new_p = allocate(new_sz); if (new_p) { @@ -76,16 +77,16 @@ void* pm::allocator::reallocate(void* p, namespace { allocator gmp_allocator; -void* pm_gmp_allocate(size_t n) { return gmp_allocator.allocate(n); } -void pm_gmp_deallocate(void* p, size_t n) { gmp_allocator.deallocate(p, n); } -void* pm_gmp_reallocate(void* p, size_t old_sz, size_t new_sz) { return gmp_allocator.reallocate(p, old_sz, new_sz); } +void* pm_gmp_allocate(std::size_t n) { return gmp_allocator.allocate(n); } +void pm_gmp_deallocate(void* p, std::size_t n) { gmp_allocator.deallocate(p, n); } +void* pm_gmp_reallocate(void* p, std::size_t old_sz, std::size_t new_sz) { return gmp_allocator.reallocate(p, old_sz, new_sz); } void init_gmp_memory_management() __attribute__((constructor)); void init_gmp_memory_management() { // switch to custom GMP allocators only if no other component did it before - typedef void* (*alloc_t)(size_t); + typedef void* (*alloc_t)(std::size_t); alloc_t was_alloc; mp_get_memory_functions(&was_alloc, nullptr, nullptr); if (was_alloc == &__gmp_default_allocate)