/* This test file is intended to be compiled into a DLL. */ #include #ifndef GC_DEBUG # define GC_DEBUG #endif #include "gc.h" struct treenode { struct treenode *x; struct treenode *y; } * root[10]; struct treenode * libsrl_mktree(int i) { struct treenode * r = GC_MALLOC(sizeof(struct treenode)); if (0 == i) return 0; if (1 == i) r = GC_MALLOC_ATOMIC(sizeof(struct treenode)); if (r) { r -> x = libsrl_mktree(i-1); r -> y = libsrl_mktree(i-1); } return r; } void * libsrl_init(void) { GC_INIT(); return GC_MALLOC(sizeof(struct treenode)); }