changes relative to sbcl-1.1.10
* enhancement: support building the manual under texinfo version 5.
(lp#1189146)
+ * bug fix: undefined function errors are now properly reported on PPC and MIPS.
+ (regression since 1.1.9)
changes in sbcl-1.1.10 relative to sbcl-1.1.9:
* enhancement: ASDF has been updated to 3.0.2.
;;;; We represent the place where some value is stored with a SC-OFFSET,
;;;; which is the SC number and offset encoded as an integer.
+;;;; FIXME: this layout is hardcoded in some .S files,
+;;;; undefined_tramp in at least ppc-assem.S and mips-assem.S uses it.
+;;;; Ideally, it shouldn't be hardcoded.
(defconstant-eqx sc-offset-scn-byte (byte 6 0) #'equalp)
(defconstant-eqx sc-offset-offset-byte (byte 21 6) #'equalp)
(def!type sc-offset () '(unsigned-byte 27))
See debug-var-io.lisp. */
.byte 254
/* reg_FDEFN is #14. */
- .byte ((14 << 5) + sc_DescriptorReg) % 0x100
- .byte ((14 << 5) + sc_DescriptorReg) / 0x100
+ .byte ((14 << 6) + sc_DescriptorReg) % 0x100
+ .byte ((14 << 6) + sc_DescriptorReg) / 0x100
.align 2
.set reorder
1: lw reg_CODE, FDEFN_FUN_OFFSET(reg_FDEFN)
twllei reg_ZERO,trap_Cerror
.byte 4
.byte UNDEFINED_FUN_ERROR
- .byte 254, sc_DescriptorReg+0x40, 1 /* 140? sparc says sc_descriptorReg */
+ .byte 254, sc_DescriptorReg+0x80, 0x2 /* 280 */
/* This stuff is for the continuable error. I don't think there's
* any support for it on the lisp side */
.align 2
;;; on the PPC, we got the magic numbers in undefined_tramp wrong for
;;; a while; fixed by CSR 2002-07-18
-(multiple-value-bind (value error)
- (ignore-errors (some-undefined-function))
- (assert (null value))
- (assert (eq (cell-error-name error) 'some-undefined-function)))
+(with-test (:name :undefined-function-error)
+ (multiple-value-bind (value error)
+ (ignore-errors (some-undefined-function))
+ (assert (null value))
+ (assert (eq (cell-error-name error) 'some-undefined-function))))
;;; Non-symbols shouldn't be allowed as VARs in lambda lists. (Where VAR
;;; is a variable name, as in section 3.4.1 of the ANSI spec.)