From 935d6f6a696c2b0bff1c937cef346cb495e41999 Mon Sep 17 00:00:00 2001 From: William Harold Newman Date: Tue, 9 Jan 2007 16:27:20 +0000 Subject: [PATCH] 1.0.1.16: logged bugs reported by Ariel Badichi --- BUGS | 29 +++++++++++++++++++++++++++++ version.lisp-expr | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/BUGS b/BUGS index 963ff68..fb3f80d 100644 --- a/BUGS +++ b/BUGS @@ -1723,3 +1723,32 @@ WORKAROUND: as of 0.9.18.11 the file compiler breaks on it: failed AVER: "(NOT (FUNCTIONAL-HAS-EXTERNAL-REFERENCES-P CLAMBDA))" Defining the missing MAKE-LOAD-FORM method makes the error go away. + +407: misoptimization of loop, COERCE 'FLOAT, and HANDLER-CASE for bignums + (reported by Ariel Badichi on sbcl-devel 2007-01-09) + 407a: In sbcl-1.0.1 on Linux x86, + (defun foo () + (loop for n from (expt 2 1024) do + (handler-case + (coerce n 'single-float) + (simple-type-error () + (format t "Got here.~%") + (return-from foo))))) + (foo) + causes an infinite loop, where handling the error would be expected. + 407b: In sbcl-1.0.1 on Linux x86, + (defun bar () + (loop for n from (expt 2 1024) do + (handler-case + (format t "~E~%" (coerce n 'single-float)) + (simple-type-error () + (format t "Got here.~%") + (return-from bar))))) + fails to compile, with + Too large to be represented as a SINGLE-FLOAT: ... + from + 0: ((LABELS SB-BIGNUM::CHECK-EXPONENT) ...) + 1: ((LABELS SB-BIGNUM::FLOAT-FROM-BITS) ...) + 2: (SB-KERNEL:%SINGLE-FLOAT ...) + 3: (SB-C::BOUND-FUNC ...) + 4: (SB-C::%SINGLE-FLOAT-DERIVE-TYPE-AUX ...) diff --git a/version.lisp-expr b/version.lisp-expr index fadbcd1..692696d 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.1.15" +"1.0.1.16" -- 1.7.10.4