X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fdump.impure-cload.lisp;h=2b1ad115458289473c804d2f5ca722c8ba53adea;hb=b9a60d8c091096ce7f90073de9b3d26ec7433387;hp=6017d0b230950298a215ac7c8319b2cefcb90ea1;hpb=53a7501acfbb615bae72b43e3e9a95b9965592ce;p=sbcl.git diff --git a/tests/dump.impure-cload.lisp b/tests/dump.impure-cload.lisp index 6017d0b..2b1ad11 100644 --- a/tests/dump.impure-cload.lisp +++ b/tests/dump.impure-cload.lisp @@ -66,4 +66,28 @@ :fill-pointer 2 :element-type 'character)) +;;; SBCL 0.7.8 incorrectly read high bits of (COMPLEX DOUBLE-FLOAT) +;;; components as unsigned bytes. +(defparameter *numbers* + '(-1s0 -1f0 -1d0 -1l0 + #c(-1s0 -1s0) #c(-1f0 -1f0) #c(-1d0 -1d0) #c(-1l0 -1l0))) + +;;; tests for MAKE-LOAD-FORM-SAVING-SLOTS +(eval-when (:compile-toplevel :load-toplevel :execute) + (defstruct savable-structure + (a nil :type symbol) + (b nil :type symbol :read-only t) + (c nil :read-only t) + (d 0 :type fixnum) + (e 17 :type (unsigned-byte 32) :read-only t)) + (defmethod make-load-form ((s savable-structure) &optional env) + (make-load-form-saving-slots s :environment env))) +(defparameter *savable-structure* + #.(make-savable-structure :a t :b 'frob :c 1 :d 39 :e 19)) +(assert (eql (savable-structure-a *savable-structure*) t)) +(assert (eql (savable-structure-b *savable-structure*) 'frob)) +(assert (eql (savable-structure-c *savable-structure*) 1)) +(assert (eql (savable-structure-d *savable-structure*) 39)) +(assert (eql (savable-structure-e *savable-structure*) 19)) + (sb-ext:quit :unix-status 104) ; success