summaryrefslogtreecommitdiff
path: root/libguile/stackchk.h
diff options
context:
space:
mode:
authorMikael Djurfeldt <djurfeldt@nada.kth.se>2003-05-22 09:16:33 +0000
committerMikael Djurfeldt <djurfeldt@nada.kth.se>2003-05-22 09:16:33 +0000
commit79f55b7c6bffcda9d315d27ecfbf60316b79135a (patch)
tree5dd5f3b6ce1b06c7cd18e0ce9bb8e4e88180f3df /libguile/stackchk.h
parentd97f609a4a485ccc8359a93ad3254b38a9c29c08 (diff)
downloadguile-79f55b7c6bffcda9d315d27ecfbf60316b79135a.tar.gz
* __scm.h (SCM_STACK_PTR): New macro. (Cast argument through
(void *) in order to avoid an aliasing warning; thanks to Bruce Korb.) * stackchk.h (SCM_STACK_OVERFLOW_P): Use SCM_STACK_PTR. * threads.c (suspend, launch_thread, scm_threads_mark_stacks): Use SCM_STACK_PTR. * threads.c (scm_threads_mark_stacks): Bugfix: Changed thread->base --> t->base. * eval.c (SCM_CEVAL): Don't cast argument of SCM_STACK_OVERFLOW_P.
Diffstat (limited to 'libguile/stackchk.h')
-rw-r--r--libguile/stackchk.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/libguile/stackchk.h b/libguile/stackchk.h
index 44f5c7ce2..938794114 100644
--- a/libguile/stackchk.h
+++ b/libguile/stackchk.h
@@ -3,7 +3,7 @@
#ifndef SCM_STACKCHK_H
#define SCM_STACKCHK_H
-/* Copyright (C) 1995,1996,1998,2000 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1998,2000, 2003 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -36,10 +36,12 @@
#ifdef STACK_CHECKING
# if SCM_STACK_GROWS_UP
# define SCM_STACK_OVERFLOW_P(s)\
- (s > ((SCM_STACKITEM *) SCM_BASE (scm_rootcont) + SCM_STACK_LIMIT))
+ (SCM_STACK_PTR (s) \
+ > ((SCM_STACKITEM *) SCM_BASE (scm_rootcont) + SCM_STACK_LIMIT))
# else
# define SCM_STACK_OVERFLOW_P(s)\
- (s < ((SCM_STACKITEM *) SCM_BASE (scm_rootcont) - SCM_STACK_LIMIT))
+ (SCM_STACK_PTR (s) \
+ < ((SCM_STACKITEM *) SCM_BASE (scm_rootcont) - SCM_STACK_LIMIT))
# endif
# define SCM_CHECK_STACK\
{\