diff --git a/libguile/debug.h b/libguile/debug.h index 3d209bce3..99d526e1b 100644 --- a/libguile/debug.h +++ b/libguile/debug.h @@ -124,7 +124,7 @@ typedef struct scm_debug_frame { struct scm_debug_frame *prev; long status; - scm_debug_info *vect; + scm_debug_info vect[1]; } scm_debug_frame; #ifndef USE_THREADS diff --git a/libguile/eval.c b/libguile/eval.c index 923f47955..6fee7e969 100644 --- a/libguile/eval.c +++ b/libguile/eval.c @@ -1318,13 +1318,11 @@ SCM_CEVAL (x, env) { scm_debug_frame *prev; long status; - scm_debug_info *vect; + scm_debug_info vect[scm_debug_eframe_size]; 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