PKGBUILDs/community/polymake/polymake-gcc10.patch
2020-06-04 12:56:07 +00:00

93 lines
3.4 KiB
Diff

--- 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<char> {
using base_t = PM_ALLOCATOR_BASE<char>;
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<char*>(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 <typename Data, typename... Args>
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 <cstddef>
#include <cstring>
#include <memory>
#include <cstdlib>
@@ -24,7 +25,7 @@
#include <gmp.h>
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)