trace_test.c 664 B

123456789101112131415161718192021222324252627282930313233
  1. /* { dg-skip-if "requires --enable-gc-debug" *-*-* } */
  2. #include <stdio.h>
  3. #define GC_DEBUG
  4. #include "gc.h"
  5. struct treenode {
  6. struct treenode *x;
  7. struct treenode *y;
  8. } * root[10];
  9. struct treenode * mktree(int i) {
  10. struct treenode * r = GC_MALLOC(sizeof(struct treenode));
  11. if (0 == i) return 0;
  12. if (1 == i) r = GC_MALLOC_ATOMIC(sizeof(struct treenode));
  13. r -> x = mktree(i-1);
  14. r -> y = mktree(i-1);
  15. return r;
  16. }
  17. int main()
  18. {
  19. int i;
  20. for (i = 0; i < 10; ++i) {
  21. root[i] = mktree(12);
  22. }
  23. GC_generate_random_backtrace();
  24. GC_generate_random_backtrace();
  25. GC_generate_random_backtrace();
  26. GC_generate_random_backtrace();
  27. return 0;
  28. }