Problem with INLINEd function being conditionally redefined

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

Bug Description

See the three files, test1.lsp, test2.lsp. test3.lsp

Executing

(load (compile-file "test1.lsp"))
(load (compile-file "test2.lsp"))
(load (compile-file "test3.lsp"))

and then calling bar

(bar)

drops SBCL into ldb.

This is a simplification of a problem that came up on #lisp involving Bordeaux threads.

The three files in the attachment:

;;;--------------------------------------------------
;;; test1.lsp

(declaim (inline foo))

(defun foo (x) x)

;;;--------------------------------------------------
;;; test2.lsp

(eval-when (:load-toplevel :compile-toplevel :execute)
  (unless (fboundp 'foo)
    (defun foo (x) (declare (ignore x)) (error "foo!"))))

;;;--------------------------------------------------
;;; test3.lsp

(defun bar ()
  (let ((x 1))
    (print (foo x))))

Paul F. Dietz (paul-f-dietz) wrote :
description: updated
description: updated
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Bug attachments