From fb145242416a709bf3d0fdac45b24cf117f11f67 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 11 Jun 2010 04:19:21 -0400 Subject: [PATCH] fix validator to allow an ignored reference to a flonum stack slot Closes PR 10972 --- src/racket/src/eval.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/racket/src/eval.c b/src/racket/src/eval.c index 93b43f5214..6203dad37a 100644 --- a/src/racket/src/eval.c +++ b/src/racket/src/eval.c @@ -12138,8 +12138,10 @@ void scheme_validate_expr(Mz_CPort *port, Scheme_Object *expr, if (stack[p] != VALID_FLONUM) scheme_ill_formed_code(port); } else if ((stack[p] != VALID_VAL) && (stack[p] != VALID_VAL_NOCLEAR)) { - if (result_ignored && ((stack[p] == VALID_BOX) || (stack[p] == VALID_BOX_NOCLEAR))) { - /* ok to look up and ignore box */ + if (result_ignored && ((stack[p] == VALID_BOX) + || (stack[p] == VALID_BOX_NOCLEAR) + || (stack[p] == VALID_FLONUM))) { + /* ok to look up and ignore box or flonum */ } else if ((proc_with_refs_ok >= 2) && ((stack[p] == VALID_BOX) || (stack[p] == VALID_BOX_NOCLEAR)) && scheme_validate_rator_wants_box(app_rator, proc_with_refs_ok - 2, 1,