implemented Setup.hs to build boehm cpp libs and install them;
[hs-boehmgc.git] / gc-7.2 / tests / trace_test.c
1 #include <stdio.h>
2 #include <stdlib.h>
3
4 #ifndef GC_DEBUG
5 # define GC_DEBUG
6 #endif
7
8 #include "gc.h"
9 #include "gc_backptr.h"
10
11 struct treenode {
12     struct treenode *x;
13     struct treenode *y;
14 } * root[10];
15
16 struct treenode * mktree(int i) {
17   struct treenode * r = GC_MALLOC(sizeof(struct treenode));
18   if (0 == i) return 0;
19   if (1 == i) r = GC_MALLOC_ATOMIC(sizeof(struct treenode));
20   if (r == NULL) {
21     printf("Out of memory\n");
22     exit(1);
23   }
24   r -> x = mktree(i-1);
25   r -> y = mktree(i-1);
26   return r;
27 }
28
29 int main(void)
30 {
31   int i;
32   GC_INIT();
33   for (i = 0; i < 10; ++i) {
34     root[i] = mktree(12);
35   }
36   GC_generate_random_backtrace();
37   GC_generate_random_backtrace();
38   GC_generate_random_backtrace();
39   GC_generate_random_backtrace();
40   return 0;
41 }