From a55eed9718e1fc2183676f8507807b485329d06d Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 7 Aug 2015 05:25:42 -0600 Subject: [PATCH] fix `data/integer-set` for 32-bit platforms --- racket/collects/data/private/count-bits-in-fixnum.rkt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/racket/collects/data/private/count-bits-in-fixnum.rkt b/racket/collects/data/private/count-bits-in-fixnum.rkt index f9b7deb38e..b064ed11af 100644 --- a/racket/collects/data/private/count-bits-in-fixnum.rkt +++ b/racket/collects/data/private/count-bits-in-fixnum.rkt @@ -38,7 +38,10 @@ [(_ expr bits0) ;; Choose at compile time what word length is (let* ([bits (syntax-e #'bits0)] - [bits (or bits (if (fixnum? (expt 2 61)) 62 30))] + [bits (or bits + ;; for portable bytecode, use a fixnum size tha + ;; always works: + 30)] [lut (cond [(<= bits 8) lut8] [(<= bits 30) lut30]