X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fcompiler.impure.lisp;h=080d5c82e5ec1a632a3b532c8e762f9136efdc8a;hb=587c903b0601dfd6763b5acc05778f793172c915;hp=43e3bee0d3ebace3fc6d54889b344faac98c6572;hpb=333049ee307ddeb69d4b7eee3c2a381da494da31;p=sbcl.git diff --git a/tests/compiler.impure.lisp b/tests/compiler.impure.lisp index 43e3bee..080d5c8 100644 --- a/tests/compiler.impure.lisp +++ b/tests/compiler.impure.lisp @@ -2382,4 +2382,25 @@ (with-output-to-string (*standard-output*) (many-code-constants))))) +(test-util:with-test (:name :bug-943953) + ;; we sometimes splice compiler structures like clambda in + ;; source, and our error reporting would happily use that + ;; as source forms. + (let* ((src "bug-943953.lisp") + (obj (compile-file-pathname src))) + (unwind-protect (compile-file src) + (ignore-errors (delete-file obj))))) + +(declaim (inline vec-1177703)) +(defstruct (vec-1177703 (:constructor vec-1177703 (&optional x))) + (x 0.0d0 :type double-float)) + +(declaim (inline norm-1177703)) +(defun norm-1177703 (v) + (vec-1177703 (sqrt (vec-1177703-x v)))) + +(test-util:with-test (:name :bug-1177703) + (compile nil `(lambda (x) + (norm-1177703 (vec-1177703 x))))) + ;;; success