From: Juho Snellman Date: Sun, 16 Oct 2005 14:33:13 +0000 (+0000) Subject: 0.9.5.74: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=817aab3f6fb638e487c59945a36e7b5c8ffce2cb;p=sbcl.git 0.9.5.74: * Fix a broken callback test * Increment core file version number to reflect the new page table section. --- diff --git a/src/compiler/generic/genesis.lisp b/src/compiler/generic/genesis.lisp index 11696c9..4ba0bc2 100644 --- a/src/compiler/generic/genesis.lisp +++ b/src/compiler/generic/genesis.lisp @@ -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 diff --git a/tests/callback.impure.lisp b/tests/callback.impure.lisp index 623a62a..bc1ebe4 100644 --- a/tests/callback.impure.lisp +++ b/tests/callback.impure.lisp @@ -134,11 +134,17 @@ ;;; 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)))) diff --git a/version.lisp-expr b/version.lisp-expr index 5927fc8..e0941d0 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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"