+2011-04-04 Ivan Maidanski <ivmai@mail.ru>
+
+ * tests/test.c (reverse_test_inner): Undo one of the previous
+ patches which shifts "c" and "d" pointers only if
+ ALL_INTERIOR_POINTERS (since interior pointers are always
+ recognized in stacks).
+
2011-04-03 Ivan Maidanski <ivmai@mail.ru>
* misc.c (GC_stdout, GC_stderr): Move the definition to the place
h[1999] = ints(1,200);
# endif
/* Try to force some collections and reuse of small list elements */
- for (i = 0; i < 10; i++) {
- (void)ints(1, BIG);
- }
-# ifdef ALL_INTERIOR_POINTERS
- /* Superficially test interior pointer recognition on stack */
- c = (sexpr)((char *)c + sizeof(char *));
- d = (sexpr)((char *)d + sizeof(char *));
-# endif
+ for (i = 0; i < 10; i++) {
+ (void)ints(1, BIG);
+ }
+ /* Superficially test interior pointer recognition on stack */
+ c = (sexpr)((char *)c + sizeof(char *));
+ d = (sexpr)((char *)d + sizeof(char *));
GC_FREE((void *)e);
}
check_ints(a,1,49);
check_ints(b,1,50);
+
+ /* Restore c and d values. */
c = (sexpr)((char *)c - sizeof(char *));
d = (sexpr)((char *)d - sizeof(char *));
+
check_ints(c,1,BIG);
check_uncollectable_ints(d, 1, 100);
check_ints(f[5], 1,17);