fix bug in define-syntaxes bytecode validation

svn: r6158
This commit is contained in:
Matthew Flatt 2007-05-06 12:13:51 +00:00
parent 78f2ac8405
commit 0a22386d0b

View File

@ -4650,7 +4650,6 @@ static void do_define_syntaxes_validate(Scheme_Object *data, Mz_CPort *port,
base_stack_depth = SCHEME_VEC_ELS(data)[2]; base_stack_depth = SCHEME_VEC_ELS(data)[2];
sdepth = SCHEME_INT_VAL(base_stack_depth); sdepth = SCHEME_INT_VAL(base_stack_depth);
data = SCHEME_CDDR(data);
if (!SAME_TYPE(rp->so.type, scheme_resolve_prefix_type) if (!SAME_TYPE(rp->so.type, scheme_resolve_prefix_type)
|| (sdepth < 0)) || (sdepth < 0))
scheme_ill_formed_code(port); scheme_ill_formed_code(port);
@ -4662,10 +4661,11 @@ static void do_define_syntaxes_validate(Scheme_Object *data, Mz_CPort *port,
size = SCHEME_VEC_SIZE(data); size = SCHEME_VEC_SIZE(data);
for (i = 4; i < size; i++) { for (i = 4; i < size; i++) {
name = SCHEME_VEC_ELS(data)[i]; name = SCHEME_VEC_ELS(data)[i];
if (!SCHEME_SYMBOLP(name)) if (!SCHEME_SYMBOLP(name)) {
scheme_ill_formed_code(port); scheme_ill_formed_code(port);
} }
} }
}
scheme_validate_toplevel(dummy, port, stack, ht, tls, depth, delta, scheme_validate_toplevel(dummy, port, stack, ht, tls, depth, delta,
num_toplevels, num_stxes, num_lifts, num_toplevels, num_stxes, num_lifts,