mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-09 19:10:38 +00:00
Codechange: Replace C-casts in pool functions. (#12541)
This commit is contained in:
parent
c5ef47ee09
commit
b4e00fa738
@ -115,17 +115,17 @@ DEFINE_POOL_METHOD(inline void *)::AllocateItem(size_t size, size_t index)
|
|||||||
Titem *item;
|
Titem *item;
|
||||||
if (Tcache && this->alloc_cache != nullptr) {
|
if (Tcache && this->alloc_cache != nullptr) {
|
||||||
assert(sizeof(Titem) == size);
|
assert(sizeof(Titem) == size);
|
||||||
item = (Titem *)this->alloc_cache;
|
item = reinterpret_cast<Titem *>(this->alloc_cache);
|
||||||
this->alloc_cache = this->alloc_cache->next;
|
this->alloc_cache = this->alloc_cache->next;
|
||||||
if (Tzero) {
|
if (Tzero) {
|
||||||
/* Explicitly casting to (void *) prevents a clang warning -
|
/* Explicitly casting to (void *) prevents a clang warning -
|
||||||
* we are actually memsetting a (not-yet-constructed) object */
|
* we are actually memsetting a (not-yet-constructed) object */
|
||||||
memset((void *)item, 0, sizeof(Titem));
|
memset(static_cast<void *>(item), 0, sizeof(Titem));
|
||||||
}
|
}
|
||||||
} else if (Tzero) {
|
} else if (Tzero) {
|
||||||
item = (Titem *)CallocT<uint8_t>(size);
|
item = reinterpret_cast<Titem *>(CallocT<uint8_t>(size));
|
||||||
} else {
|
} else {
|
||||||
item = (Titem *)MallocT<uint8_t>(size);
|
item = reinterpret_cast<Titem *>(MallocT<uint8_t>(size));
|
||||||
}
|
}
|
||||||
this->data[index] = item;
|
this->data[index] = item;
|
||||||
SetBit(this->used_bitmap[index / BITMAP_SIZE], index % BITMAP_SIZE);
|
SetBit(this->used_bitmap[index / BITMAP_SIZE], index % BITMAP_SIZE);
|
||||||
@ -188,7 +188,7 @@ DEFINE_POOL_METHOD(void)::FreeItem(size_t index)
|
|||||||
assert(index < this->size);
|
assert(index < this->size);
|
||||||
assert(this->data[index] != nullptr);
|
assert(this->data[index] != nullptr);
|
||||||
if (Tcache) {
|
if (Tcache) {
|
||||||
AllocCache *ac = (AllocCache *)this->data[index];
|
AllocCache *ac = reinterpret_cast<AllocCache *>(this->data[index]);
|
||||||
ac->next = this->alloc_cache;
|
ac->next = this->alloc_cache;
|
||||||
this->alloc_cache = ac;
|
this->alloc_cache = ac;
|
||||||
} else {
|
} else {
|
||||||
|
@ -78,8 +78,8 @@ private:
|
|||||||
*/
|
*/
|
||||||
template <class Titem, typename Tindex, size_t Tgrowth_step, size_t Tmax_size, PoolType Tpool_type = PT_NORMAL, bool Tcache = false, bool Tzero = true>
|
template <class Titem, typename Tindex, size_t Tgrowth_step, size_t Tmax_size, PoolType Tpool_type = PT_NORMAL, bool Tcache = false, bool Tzero = true>
|
||||||
struct Pool : PoolBase {
|
struct Pool : PoolBase {
|
||||||
/* Ensure Tmax_size is within the bounds of Tindex. */
|
/* Ensure the highest possible index, i.e. Tmax_size -1, is within the bounds of Tindex. */
|
||||||
static_assert((uint64_t)(Tmax_size - 1) >> 8 * sizeof(Tindex) == 0);
|
static_assert(Tmax_size - 1 <= MAX_UVALUE(Tindex));
|
||||||
|
|
||||||
static constexpr size_t MAX_SIZE = Tmax_size; ///< Make template parameter accessible from outside
|
static constexpr size_t MAX_SIZE = Tmax_size; ///< Make template parameter accessible from outside
|
||||||
|
|
||||||
@ -259,7 +259,7 @@ struct Pool : PoolBase {
|
|||||||
inline void operator delete(void *p)
|
inline void operator delete(void *p)
|
||||||
{
|
{
|
||||||
if (p == nullptr) return;
|
if (p == nullptr) return;
|
||||||
Titem *pn = (Titem *)p;
|
Titem *pn = static_cast<Titem *>(p);
|
||||||
assert(pn == Tpool->Get(pn->index));
|
assert(pn == Tpool->Get(pn->index));
|
||||||
Tpool->FreeItem(pn->index);
|
Tpool->FreeItem(pn->index);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user