X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=tests%2Falien.impure.lisp;h=e68737c70df4e0a27559a0bd2cc489af17c20a29;hb=0a15b6bbf9d5d3a64b5ac08bb96b6e5ec221d2ae;hp=b327577dd8141aca25ce9dccfa7c2109928cf7d1;hpb=e7476d980c0b4949c9416b59249d0d621c0f747d;p=sbcl.git diff --git a/tests/alien.impure.lisp b/tests/alien.impure.lisp index b327577..e68737c 100644 --- a/tests/alien.impure.lisp +++ b/tests/alien.impure.lisp @@ -20,8 +20,8 @@ ;;; In sbcl-0.6.10, Douglas Brebner reported that (SETF EXTERN-ALIEN) ;;; was messed up so badly that trying to execute expressions like ;;; this signalled an error. -(setf (sb-alien:extern-alien "current_control_stack_pointer" sb-alien:unsigned) - (sb-alien:extern-alien "current_control_stack_pointer" sb-alien:unsigned)) +(setf (sb-alien:extern-alien "thread_control_stack_size" sb-alien:unsigned) + (sb-alien:extern-alien "thread_control_stack_size" sb-alien:unsigned)) ;;; bug 133, fixed in 0.7.0.5: Somewhere in 0.pre7.*, C void returns ;;; were broken ("unable to use values types here") when @@ -294,4 +294,17 @@ (verify (signed 16) #x003f8042 #x-7fbe) (verify (signed 16) #x003f7042 #x7042))) +(with-test (:name :bug-654485) + ;; DEBUG 2 used to prevent let-conversion of the open-coded ALIEN-FUNCALL body, + ;; which in turn led the dreaded %SAP-ALIEN note. + (handler-case + (compile nil + `(lambda (program argv) + (declare (optimize (debug 2))) + (with-alien ((sys-execv1 (function int c-string (* c-string)) :extern + "execv")) + (values (alien-funcall sys-execv1 program argv))))) + (compiler-note (n) + (error n)))) + ;;; success