0.9.5.74:
authorJuho Snellman <jsnell@iki.fi>
Sun, 16 Oct 2005 14:33:13 +0000 (14:33 +0000)
committerJuho Snellman <jsnell@iki.fi>
Sun, 16 Oct 2005 14:33:13 +0000 (14:33 +0000)
        * Fix a broken callback test
* Increment core file version number to reflect the new page table
          section.

src/compiler/generic/genesis.lisp
tests/callback.impure.lisp
version.lisp-expr

index 11696c9..4ba0bc2 100644 (file)
@@ -60,7 +60,8 @@
 ;;; 2: eliminated non-ANSI %DEFCONSTANT/%%DEFCONSTANT support,
 ;;;    deleted a slot from DEBUG-SOURCE structure
 ;;; 3: added build ID to cores to discourage sbcl/.core mismatch
-(defconstant sbcl-core-version-integer 3)
+;;; 4: added gc page table data
+(defconstant sbcl-core-version-integer 4)
 
 (defun round-up (number size)
   #!+sb-doc
index 623a62a..bc1ebe4 100644 (file)
 
 ;;; tests for a sign extension problem in callback argument handling on x86-64
 
-(with-test (:name sign-extension)
-  (let ((*add-two-ints*
-         (sb-alien::alien-callback (function int int int) #'+)))
-    (assert (= (alien-funcall *add-two-ints* #x-80000000 1)
-               -2147483647))
-    (assert (= (alien-funcall *add-two-ints* #x-80000000 -1)
-               #x7fffffff))))
+(defvar *add-two-ints* (sb-alien::alien-callback (function int int int) #'+))
+
+(with-test (:name :sign-extension)
+  (assert (= (alien-funcall *add-two-ints* #x-80000000 1) -2147483647)))
+
+;;; On x86 This'll signal a TYPE-ERROR "The value -2147483649 is not of type
+;;; (SIGNED-BYTE 32)". On x86-64 it'll wrap around to 2147483647, probably
+;;; due to the sign-extension done by the (INTEGER :NATURALIZE-GEN)
+;;; alien-type-method. I believe the former behaviour is the one we want.
+;;; -- JES, 2005-10-16
+
+(with-test (:name :underflow-detection :fails-on :x86-64)
+  (assert (raises-error? (alien-funcall *add-two-ints* #x-80000000 -1))))
 
index 5927fc8..e0941d0 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.5.73"
+"0.9.5.74"