NIL is not of type SB-C::LVAR in test with DYNAMIC-EXTENT

Bug #1739642 reported by Paul F. Dietz on 2017-12-21
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Undecided
Unassigned

Bug Description

(defun f56 ()
  (catch 'c
    (let ((v
           (list
            (labels ((%f13 (x &optional (y 1) (z 2))
                       (the integer z)
                       (list (throw 'c 3))
                       ))
              (%f13 4 5)))
            ))
      (declare (dynamic-extent v))
      (car v))))

===>

The value
  NIL
is not of type
  SB-C::LVAR
when binding SB-C::LVAR
[...]
  0: (SB-C::PRINCIPAL-LVAR-DEST #<SB-C::LVAR 1 {1001D0B593}>)
  1: ((LABELS SB-C::RECURSE :IN SB-C::COMBINATION-ARGS-FLOW-CLEANLY-P) #<SB-C::COMBINATION :FUN #<SB-C::REF :LEAF #<SB-C::CLAMBDA :%SOURCE-NAME %F13 :%DEBUG-NAME # :KIND NIL :TYPE #<SB-KERNEL:BUILT-IN-CLA..
  2: (SB-C::COMBINATION-ARGS-FLOW-CLEANLY-P #<SB-C::COMBINATION :FUN #<SB-C::REF :LEAF #<SB-C::CLAMBDA :%SOURCE-NAME %F13 :%DEBUG-NAME # :KIND NIL :TYPE #<SB-KERNEL:BUILT-IN-CLASSOID FUNCTION (read-only)>..
[...]

Stas Boukarev (stassats) on 2017-12-21
Changed in sbcl:
assignee: nobody → Stas Boukarev (stassats)
Stas Boukarev (stassats) wrote :

In b6739d24211b5d9baf467d8c69c878d320283ad0

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

Other bug subscribers