[Openmcl-devel] Another linux86-32: signed doubleword parameters.

David Brown lisp at davidb.org
Sat Oct 11 18:54:50 UTC 2008


Not sure if this is known:

Welcome to Clozure Common Lisp Version 1.3-dev-r11046M-trunk (LinuxX8632)!

(defvar *msg*
   (map '(simple-array (unsigned-byte 8))
        #'char-code
        (concatenate 'string "Parameter: %lld"
		    (string #\Newline)
		    (string #\Null))))

(defun broken (value)
   (ccl:with-pointer-to-ivector (msg-pointer *msg*)
     (ccl:external-call "printf"
		       :address msg-pointer
		       :signed-doubleword value)))

;;; This works.
? (broken 42)
Parameter: 42
NIL

;;; This does not.
? (broken #x40000000)
> Error: value 1073741824 is not of the expected type (UNSIGNED-BYTE 64).
> While executing: BROKEN, in process listener(1).



More information about the Openmcl-devel mailing list