Derived double-float type for an integer variable?

Bug #1910294 reported by Paul F. Dietz on 2021-01-05
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Undecided
Unassigned

Bug Description

(compile
 nil
 '(lambda ()
   (declare (optimize (debug 3)))
   (let ((v3 -7910681038145630709))
     (let ((v4 (eval '0)))
       (if (< v3 v4)
           (if (> v3 v4)
               (boole boole-andc1 v4 -10258)
               v3)
           v4)))))

==>

; in: LAMBDA ()
; (BOOLE BOOLE-ANDC1 V4 -10258)
;
; caught WARNING:
; Derived type of V4 is
; (VALUES (DOUBLE-FLOAT (-7.910681047371612d18) (-7.91068103814563d18))
; &OPTIONAL),
;
; conflicting with its asserted type
; INTEGER.
; See also:
; The SBCL Manual, Node "Handling of Types"
;
; compilation unit finished
; caught 1 WARNING condition
#<FUNCTION (LAMBDA ()) {52A354DB}>
T
T

Stas Boukarev (stassats) on 2021-01-06
Changed in sbcl:
status: New → Fix Committed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers