Various minor changes to aid compiling with std14 (#182)

These changes make the code compile in clang10 with -std14.
This commit is contained in:
Matthew Parkinson
2020-05-07 15:02:31 +01:00
committed by GitHub
parent c899ee7ab2
commit a9cfc3a2b4
9 changed files with 13 additions and 11 deletions

View File

@@ -284,6 +284,7 @@ namespace snmalloc
UNUSED(size);
return free(p);
#else
SNMALLOC_ASSERT(p != nullptr);
check_size(p, size);
if (likely((size - 1) <= (sizeclass_to_size(NUM_SMALL_CLASSES - 1) - 1)))
{

View File

@@ -188,7 +188,7 @@ namespace snmalloc
{
PagemapEntry* value = get_node<create_addr>(e, result);
if (unlikely(!result))
return std::pair(nullptr, 0);
return {nullptr, 0};
shift -= BITS_PER_INDEX_LEVEL;
ix = (static_cast<size_t>(addr) >> shift) & ENTRIES_MASK;
@@ -208,11 +208,11 @@ namespace snmalloc
Leaf* leaf = reinterpret_cast<Leaf*>(get_node<create_addr>(e, result));
if (unlikely(!result))
return std::pair(nullptr, 0);
return {nullptr, 0};
shift -= BITS_FOR_LEAF;
ix = (static_cast<size_t>(addr) >> shift) & LEAF_MASK;
return std::pair(leaf, ix);
return {leaf, ix};
}
template<bool create_addr>

View File

@@ -14,7 +14,7 @@ namespace snmalloc
friend class MPMCStack;
/// Used by the pool for chaining together entries when not in use.
std::atomic<T*> next = nullptr;
std::atomic<T*> next{nullptr};
/// Used by the pool to keep the list of all entries ever created.
T* list_next;
std::atomic_flag in_use = ATOMIC_FLAG_INIT;

View File

@@ -19,7 +19,7 @@ namespace snmalloc
union
{
Remote* non_atomic_next;
std::atomic<Remote*> next = nullptr;
std::atomic<Remote*> next{nullptr};
};
alloc_id_t allocator_id;

View File

@@ -63,6 +63,6 @@ namespace snmalloc
*/
inline SlowAllocator get_slow_allocator()
{
return SlowAllocator{};
return {};
}
} // namespace snmalloc