* os_dep.c [NEED_CALLINFO] (GC_print_callers): Declare (and use value
of) stop local variable only if LINUX && !SMALL_CONFIG; move stop local
variable to the scope of its use.
{
int i;
static int reentry_count = 0;
- GC_bool stop = FALSE;
DCL_LOCK_STATE;
/* FIXME: This should probably use a different lock, so that we */
# else
GC_err_printf("\tCall chain at allocation:\n");
# endif
- for (i = 0; i < NFRAMES && !stop; i++) {
- if (info[i].ci_pc == 0) break;
+ for (i = 0; i < NFRAMES; i++) {
+# if defined(LINUX) && !defined(SMALL_CONFIG)
+ GC_bool stop = FALSE;
+# endif
+
+ if (0 == info[i].ci_pc)
+ break;
# if NARGS > 0
{
int j;
free(sym_name); /* May call GC_[debug_]free; that's OK */
# endif
}
+# if defined(LINUX) && !defined(SMALL_CONFIG)
+ if (stop)
+ break;
+# endif
}
LOCK();
--reentry_count;