/* TEST_HEADER id = $HopeName$ summary = 2nd arg to mps_free not at start of an object language = c link = testlib.o END_HEADER */ #include "testlib.h" #include "mpscmfs.h" #include "arg.h" void *stackpointer; static void test(void) { mps_space_t space; mps_pool_t pool; mps_thr_t thread; size_t mysize; mps_addr_t a; cdie(mps_space_create(&space), "create space"); cdie(mps_thread_reg(&thread, space), "register thread"); mysize = 16; cdie( mps_pool_create( &pool, space, mps_class_mfs(), mysize, mysize), "create pool"); cdie(mps_alloc(&a, pool, mysize), "alloc"); mps_free(pool, (mps_addr_t) ((char *)a+8), mysize); error("free"); mps_pool_destroy(pool); } int main(void) { void *m; stackpointer=&m; /* hack to get stack pointer */ easy_tramp(test); return 0; }