X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=tests%2Falien.impure.lisp;h=c800e80a9461b7f097986bf513198ec4e6b0b2ad;hb=1714224f33ba559eab11af8827a78f9a5aebd698;hp=d4365d31d70013c3809421f50d144c788e9acf6c;hpb=cfa0355f88de28bf980b7e14ff9f29d02b108f8f;p=sbcl.git diff --git a/tests/alien.impure.lisp b/tests/alien.impure.lisp index d4365d3..c800e80 100644 --- a/tests/alien.impure.lisp +++ b/tests/alien.impure.lisp @@ -115,5 +115,15 @@ (deref integer-array 1))) (assert (eql (deref enum-array 2) 'k-two)))) +;;; As reported by Baughn on #lisp, ALIEN-FUNCALL loops forever when +;;; compiled with (DEBUG 3). +(sb-kernel::values-specifier-type-cache-clear) +(proclaim '(optimize (debug 3))) +(let ((f (compile nil '(lambda (v) + (sb-alien:alien-funcall (sb-alien:extern-alien "getenv" + (function (c-string) c-string)) + v))))) + (assert (typep (funcall f "HOME") '(or string null)))) + ;;; success (quit :unix-status 104)