From 81318213a6e0db6300ab31e4426ed2635475c124 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Fri, 24 Oct 2025 19:11:54 +0300 Subject: [PATCH] quick_allocator supports dealloc(nullptr) --- test/quick_allocator_test.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/test/quick_allocator_test.cpp b/test/quick_allocator_test.cpp index 4050d09..5840aca 100644 --- a/test/quick_allocator_test.cpp +++ b/test/quick_allocator_test.cpp @@ -15,6 +15,7 @@ // static void* alloc(); // // // deallocate the memory returned from alloc() +// // if p == 0, no effect // static void dealloc( void* p ); // // // if n == sizeof(T), returns alloc() @@ -22,6 +23,7 @@ // static void* alloc( std::size_t n ); // // // deallocate the memory returned from alloc( n ) +// // if p == 0, no effect // static void dealloc( void* p, std::size_t n ); // }; @@ -53,6 +55,10 @@ int main() BOOST_TEST_EQ( *static_cast( p1 ), 0xCC ); BOOST_TEST_EQ( *static_cast( p2 ), 0xDD ); + quick_allocator::dealloc( 0 ); + BOOST_TEST_EQ( *static_cast( p1 ), 0xCC ); + BOOST_TEST_EQ( *static_cast( p2 ), 0xDD ); + quick_allocator::dealloc( p1 ); BOOST_TEST_EQ( *static_cast( p2 ), 0xDD ); @@ -70,12 +76,22 @@ int main() BOOST_TEST_EQ( *static_cast( p1 ), 0xCC ); BOOST_TEST_EQ( *static_cast( p2 ), 0xDD ); + quick_allocator::dealloc( 0, sizeof(X) ); + BOOST_TEST_EQ( *static_cast( p1 ), 0xCC ); + BOOST_TEST_EQ( *static_cast( p2 ), 0xDD ); + quick_allocator::dealloc( p1, sizeof(X) ); BOOST_TEST_EQ( *static_cast( p2 ), 0xDD ); + quick_allocator::dealloc( 0, sizeof(Y) ); + BOOST_TEST_EQ( *static_cast( p2 ), 0xDD ); + quick_allocator::dealloc( p2, sizeof(Y) ); } + BOOST_TEST_EQ( *static_cast( p ), 0xAA ); + quick_allocator::dealloc( 0 ); + BOOST_TEST_EQ( *static_cast( p ), 0xAA ); quick_allocator::dealloc( p );