summaryrefslogtreecommitdiff
path: root/libguile/continuations.c
diff options
context:
space:
mode:
authorMarius Vollmer <mvo@zagadka.de>2001-11-02 00:08:41 +0000
committerMarius Vollmer <mvo@zagadka.de>2001-11-02 00:08:41 +0000
commit87855fa2c4eec5782afe92157848a7507ee821c9 (patch)
treebcddd55547d1756eb55d418fce1488ef08a5274c /libguile/continuations.c
parente4e933734c267ff14e02f3ae721c06223803dd65 (diff)
downloadguile-87855fa2c4eec5782afe92157848a7507ee821c9.tar.gz
* __scm.h, alist.h, arbiters.h, async.h, backtrace.h, boolean.h,
chars.h, continuations.h, coop-defs.h, coop-threads.h, debug-malloc.h, debug.h, deprecation.h, dynl.h, dynwind.h, environments.h, eq.h, error.h, eval.h, evalext.h, extensions.h, feature.h, filesys.h, fluids.h, fports.h, gc.h, gdb_interface.h, gdbint.h, gh.h, goops.h, gsubr.h, guardians.h, hash.h, hashtab.h, hooks.h, init.h, ioext.h, iselect.h, keywords.h, lang.h, list.h, load.h, macros.h, mallocs.h, modules.h, net_db.h, numbers.h, objects.h, objprop.h, options.h, pairs.h, ports.h, posix.h, print.h, procprop.h, procs.h, properties.h, ramap.h, random.h, rdelim.h, read.h, regex-posix.h, root.h, rw.h, scmsigs.h, script.h, simpos.h, smob.h, socket.h, sort.h, srcprop.h, stackchk.h, stacks.h, stime.h, strings.h, strop.h, strorder.h, strports.h, struct.h, symbols.h, tags.h, threads.h, throw.h, unif.h, values.h, variable.h, vectors.h, vports.h, weaks.h: Prefixed each each exported symbol with SCM_API. * continuations.c: Added comment about the use of the extern declarations of {get,set}context() functions used in the ia64 port. * continuations.h, gc.c: `__libc_ia64_register_backing_store_base' is meant to be a `unsigned long *'.
Diffstat (limited to 'libguile/continuations.c')
-rw-r--r--libguile/continuations.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libguile/continuations.c b/libguile/continuations.c
index 586ab1f0d..769bbfc84 100644
--- a/libguile/continuations.c
+++ b/libguile/continuations.c
@@ -115,6 +115,9 @@ continuation_print (SCM obj, SCM port, scm_print_state *state SCM_UNUSED)
}
#ifdef __ia64__
+/* Extern declaration of getcontext()/setcontext() in order to redefine
+ getcontext() since on ia64-linux the second return value indicates whether
+ it returned from getcontext() itself or by running setcontext(). */
struct rv
{
long retval;
@@ -138,7 +141,7 @@ scm_make_continuation (int *first)
SCM_STACKITEM * src;
#ifdef __ia64__
struct rv rv;
-#endif
+#endif /* __ia64__ */
SCM_ENTER_A_SECTION;
SCM_FLUSH_REGISTER_WINDOWS;
@@ -168,7 +171,7 @@ scm_make_continuation (int *first)
{
continuation->backing_store_size =
continuation->ctx.uc_mcontext.sc_ar_bsp -
- __libc_ia64_register_backing_store_base;
+ (unsigned long) __libc_ia64_register_backing_store_base;
continuation->backing_store = NULL;
continuation->backing_store =
scm_must_malloc (continuation->backing_store_size, FUNC_NAME);