mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
* Get rid of the annoying variable-gets-clobbered-by-longjmp warning.
This commit is contained in:
parent
23a62df4fe
commit
fcba9b58c6
3 changed files with 10 additions and 8 deletions
9
HACKING
9
HACKING
|
@ -130,13 +130,8 @@ make-stds.texi.
|
||||||
|
|
||||||
- The Guile tree should compile without warnings under the following
|
- The Guile tree should compile without warnings under the following
|
||||||
GCC switches, which are the default in the current configure script:
|
GCC switches, which are the default in the current configure script:
|
||||||
-O2 -Wall -Wpointer-arith -Wmissing-prototypes The only warnings
|
|
||||||
which can be tolerated are those about variables being clobbered by
|
-O2 -Wall -Wpointer-arith -Wmissing-prototypes
|
||||||
longjmp/vfork in eval.c. The variables in question are critical to
|
|
||||||
the interpreter's performance; as far as I can tell, it is
|
|
||||||
difficult/annoying to avoid these warnings without slowing the system
|
|
||||||
down substantially. (If you can figure out a good fix, I'd be happy
|
|
||||||
to see it.)
|
|
||||||
|
|
||||||
Note that the warnings generated vary from one version of GCC to the
|
Note that the warnings generated vary from one version of GCC to the
|
||||||
next, and from one architecture to the next (apparently). To provide
|
next, and from one architecture to the next (apparently). To provide
|
||||||
|
|
|
@ -1,3 +1,10 @@
|
||||||
|
2000-12-28 Dirk Herrmann <D.Herrmann@tu-bs.de>
|
||||||
|
|
||||||
|
* continuations.c (scm_make_continuation): Make variable cont
|
||||||
|
volatile to let the compiler know that it won't be clobbered by
|
||||||
|
longjmp. (It wouldn't be anyway, but for some reason the compiler
|
||||||
|
is not able to see that.)
|
||||||
|
|
||||||
2000-12-28 Dirk Herrmann <D.Herrmann@tu-bs.de>
|
2000-12-28 Dirk Herrmann <D.Herrmann@tu-bs.de>
|
||||||
|
|
||||||
This patch re-introduces the unused member "documentation" of
|
This patch re-introduces the unused member "documentation" of
|
||||||
|
|
|
@ -111,7 +111,7 @@ continuation_print (SCM obj, SCM port, scm_print_state *state)
|
||||||
SCM
|
SCM
|
||||||
scm_make_continuation (int *first)
|
scm_make_continuation (int *first)
|
||||||
{
|
{
|
||||||
SCM cont;
|
volatile SCM cont;
|
||||||
scm_contregs *continuation;
|
scm_contregs *continuation;
|
||||||
scm_contregs *rootcont = SCM_CONTREGS (scm_rootcont);
|
scm_contregs *rootcont = SCM_CONTREGS (scm_rootcont);
|
||||||
long stack_size;
|
long stack_size;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue