summaryrefslogtreecommitdiff
path: root/libguile/continuations.c
diff options
context:
space:
mode:
authorRob Browning <rlb@defaultvalue.org>2006-07-19 06:56:30 +0000
committerRob Browning <rlb@defaultvalue.org>2006-07-19 06:56:30 +0000
commit08e5f840703296b40998e894ab0be9bc2ed6ba41 (patch)
tree1acd0b4c4dc628deca5713155e0cdc670396a6cd /libguile/continuations.c
parenteaa94eaaa91b8f1c57b2922f48677e32e55648e4 (diff)
downloadguile-08e5f840703296b40998e894ab0be9bc2ed6ba41.tar.gz
Add __attribute__ ((returns_twice)) to the ia64_getcontext prototype
so that gcc will make the right arrangements and avoid an illegal instruction during call-with-current-continuation.
Diffstat (limited to 'libguile/continuations.c')
-rw-r--r--libguile/continuations.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libguile/continuations.c b/libguile/continuations.c
index e456623f6..5ae89d836 100644
--- a/libguile/continuations.c
+++ b/libguile/continuations.c
@@ -101,6 +101,10 @@ struct rv
long retval;
long first_return;
};
+
+#ifdef __GNUC__
+__attribute__ ((returns_twice))
+#endif /* __GNUC__ */
extern struct rv ia64_getcontext (ucontext_t *) __asm__ ("getcontext");
#endif /* __ia64__ */