Comment 2 for bug 1804943

Revision history for this message
Stas Boukarev (stassats) wrote :

(defun f ()
  (let* ((vals '(0 0 0))
         (vars '(a b c))
         (form '(progn
                 (if (typep
                      (let ((y (let ((s (cons 1 2)))
                                 (declare (dynamic-extent s))
                                 (cdr s))))
                        (progv '(* ** ***) (list a b c))
                        y)
                      'fixnum)
                     (setq a t))
                 (if (eql b 0)
                     a)))
         (def1
           `(lambda ,vars
              (declare (optimize speed debug))
              ,form))
         (def2
           `(lambda ,vars
              (declare (optimize (speed 2) (debug 2)))
              ,form)))
    (values (apply (compile nil def1) vals)
            (apply (compile nil def2) vals))))