/*
TEST_HEADER
id = $HopeName$
summary = free in the wrong pool (and a destroyed pool at that!)
language = c
link = testlib.o
END_HEADER
*/
#include "testlib.h"
#include "mpscmv.h"
static void test(void)
{
mps_space_t space;
mps_pool_t pool;
mps_pool_t pool1;
size_t extendBy;
size_t avgSize;
size_t maxSize;
mps_addr_t obj;
extendBy = (size_t) 4096;
avgSize = (size_t) 32;
maxSize = (size_t) 65536;
cdie(mps_space_create(&space), "create space");
cdie(
mps_pool_create(&pool, space, mps_class_mv(),
extendBy, avgSize, maxSize),
"create pool 0");
cdie(
mps_pool_create(&pool1, space, mps_class_mv(),
extendBy, avgSize, maxSize),
"create pool 1");
cdie(mps_alloc(&obj, pool, 152), "allocate in 0");
mps_pool_destroy(pool1);
comment("Pool 1 destroyed.");
mps_free(pool, obj, 512);
comment("Freed in 1.");
mps_pool_destroy(pool);
comment("Pool 0 destroyed.");
}
int main(void)
{
easy_tramp(test);
return 0;
}