mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 19:50:24 +02:00
volatile locals in bootstrap evaluator
* libguile/eval.c (eval): For SCM_M_PROMPT, mark the locals needed after a longjmp as volatile. Perhaps related to bug 32340.
This commit is contained in:
parent
cd4f274c62
commit
7112a34d56
1 changed files with 4 additions and 1 deletions
|
@ -408,7 +408,10 @@ eval (SCM x, SCM env)
|
||||||
|
|
||||||
case SCM_M_PROMPT:
|
case SCM_M_PROMPT:
|
||||||
{
|
{
|
||||||
SCM vm, prompt, handler, res;
|
SCM vm, res;
|
||||||
|
/* We need the prompt and handler values after a longjmp case,
|
||||||
|
so make sure they are volatile. */
|
||||||
|
volatile SCM handler, prompt;
|
||||||
|
|
||||||
vm = scm_the_vm ();
|
vm = scm_the_vm ();
|
||||||
prompt = scm_c_make_prompt (eval (CAR (mx), env), SCM_VM_DATA (vm)->fp,
|
prompt = scm_c_make_prompt (eval (CAR (mx), env), SCM_VM_DATA (vm)->fp,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue