diff --git a/libguile/eval.c b/libguile/eval.c index 6fee7e969..923f47955 100644 --- a/libguile/eval.c +++ b/libguile/eval.c @@ -1318,11 +1318,13 @@ SCM_CEVAL (x, env) { scm_debug_frame *prev; long status; - scm_debug_info vect[scm_debug_eframe_size]; + scm_debug_info *vect; scm_debug_info *info; } debug; debug.prev = scm_last_debug_frame; debug.status = scm_debug_eframe_size; + debug.vect = ((scm_debug_info *) + alloca (scm_debug_eframe_size * sizeof (debug.vect[0]))); debug.info = &debug.vect[0]; scm_last_debug_frame = (scm_debug_frame *) &debug; #endif