Problem with INLINEd function being conditionally redefined

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

Bug Description

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


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

and then calling 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