The value NIL is not of type SB-C::CBLOCK when binding SB-C::B (in IR2)

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

Bug Description

(lambda ()
  (let ((v (cons 0 0)))
    (if (block nil (< (cdr v) (cdr v)))
        :bad1
        (if (/= (car v) (cdr v))
            :bad2
            :good))))
===>

The value
  NIL
is not of type
  SB-C::CBLOCK
when binding SB-C::B
   [Condition of type TYPE-ERROR]
[...]
  0: (SB-C::CMOVP #<SB-ASSEM:LABEL 1> #<SB-C::CBLOCK 3 :START c1 {100590E8D3}> NIL) [external]
  1: (SB-C::MAYBE-CONVERT-ONE-CMOV #<SB-C::IR2-BLOCK :START-VOP #<SB-C::VOP :INFO SB-ALIEN:SLOT :ARGS #<SB-C:TN-REF :TN #<SB-C:TN t1 :NORMAL> :WRITE-P NIL :VOP SB-ALIEN:SLOT> :RESULTS #<SB-C:TN-REF :TN #<..
  2: (SB-C::CONVERT-CMOVS #<SB-C:COMPONENT :NAME (LAMBDA NIL) {100591D7B3}>)
  3: (SB-C::IR2-OPTIMIZE #<SB-C:COMPONENT :NAME (LAMBDA NIL) {100591D7B3}>)

Stas Boukarev (stassats) wrote :

3fc639f72a9cddf83ee6e457265d4fe87f026d1b

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