1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-26 23:31:55 -08:00
emacs/mps/test/argerr/29.c
Gareth Rees 7db46bbb3f Check alignment of address given to poolfree.
Copied from Perforce
 Change: 187265
 ServerID: perforce.ravenbrook.com
2014-10-14 16:54:10 +01:00

53 lines
900 B
C

/*
TEST_HEADER
id = $Id$
summary = unaligned 2nd arg to mps_free (MFS)
language = c
link = testlib.o
OUTPUT_SPEC
assert = true
assertfile P= pool.c
assertcond = AddrIsAligned(old, pool->alignment)
END_HEADER
*/
#include "testlib.h"
#include "mpscmfs.h"
#include "arg.h"
void *stackpointer;
static void test(void)
{
mps_arena_t arena;
mps_pool_t pool;
mps_thr_t thread;
size_t mysize;
mps_addr_t a;
cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena");
cdie(mps_thread_reg(&thread, arena), "register thread");
mysize = 8;
cdie(
mps_pool_create(
&pool, arena, mps_class_mfs(), (size_t) 8, mysize),
"create pool");
mps_alloc(&a, pool, mysize);
mps_free(pool, (mps_addr_t) ((char *)a+1), mysize);
mps_pool_destroy(pool);
}
int main(void)
{
void *m;
stackpointer=&m; /* hack to get stack pointer */
easy_tramp(test);
return 0;
}