it always works.
-------------------------------------------------------------------------------
PROBLEM:
- When cross-compiling host-byte-comp.lisp, I get bogus
- warnings
- caught STYLE-WARNING:
- undefined function: %%DEFCONSTANT
- caught STYLE-WARNING:
- This function is undefined:
- %%DEFCONSTANT
-MUSING:
- The best way to clean this up would be as a side-effect of
- a larger cleanup, making all the %%DEFFOO stuff use EVAL-WHEN
- instead of IR1 magic.
- There's probably some way to do it with a quick local hack too.
-FIX:
- ??
--------------------------------------------------------------------------------
-PROBLEM:
My system of parallel build directories seems to add
complexity without adding value.
FIX:
thing in itself, but might be a fair amount of work.)
FIX:
?? Delete, delete, delete.
--------------------------------------------------------------------------------
-PROBLEM:
- The hashing code is new and should be tested.
-FIX:
- ?? Enable the existing test code.
===============================================================================
other known issues with no particular target date:
-user manual including, at a minimum, updated versions of the
-CMU CL user manual information on the compiler and the alien
-interface
-
bugs listed on the man page
more regression tests
-various bugs fixed in CMUCL since this code was forked off of it
-ca. 19980801, since most of these haven't been fixed yet in SBCL
-
byte compilation of appropriate parts of the system, so that the
system core isn't so big
-uninterning needed-only-at-init-time stuff after init is complete,
-so that the system core isn't so big
-
Search for unused external symbols (ones which are not bound, fbound,
types, or whatever, and also have no other uses as e.g. flags) and
delete them. This should make the system core a little smaller, but
(without-gcing
(let* ((component-ptr (component-ptr-from-pc
(sb!vm:context-pc context)))
- (code (if (sap= component-ptr (int-sap #x0))
- nil ; FIXME: UNLESS might be clearer than IF.
- (component-from-component-ptr component-ptr))))
+ (code (unless (sap= component-ptr (int-sap #x0))
+ (component-from-component-ptr component-ptr))))
(when (null code)
(return (values code 0 context)))
(let* ((code-header-len (* (get-header-data code)
(unless (<= 0 pc-offset
(* (code-header-ref code sb!vm:code-code-size-slot)
sb!vm:word-bytes))
- ;; We were in an assembly routine. Therefore, use the LRA as
- ;; the pc.
+ ;; We were in an assembly routine. Therefore, use the
+ ;; LRA as the pc.
+ ;;
+ ;; FIXME: Should this be WARN or ERROR or what?
(format t "** pc-offset ~S not in code obj ~S?~%"
pc-offset code))
(return
(elsewhere-p
(>= pc (sb!c::compiled-debug-function-elsewhere-pc
(svref function-map 0)))))
- ;; FIXME: I don't think SB!C is the home package of INDEX.
- (declare (type sb!c::index i))
+ (declare (type sb!int:index i))
(loop
(when (or (= i len)
(< pc (if elsewhere-p
(arithmetic-error-operation condition)
(arithmetic-error-operands condition))))))
-(define-condition division-by-zero (arithmetic-error) ())
+(define-condition division-by-zero (arithmetic-error) ())
(define-condition floating-point-overflow (arithmetic-error) ())
(define-condition floating-point-underflow (arithmetic-error) ())
(define-condition floating-point-inexact (arithmetic-error) ())
-(define-condition floating-point-invalid-operation (arithmetic-error) ())
+(define-condition floating-point-invalid-operation (arithmetic-error) ())
(define-condition print-not-readable (error)
((object :reader print-not-readable-object :initarg :object))
(format stream "~S cannot be printed readably." obj)))))
(define-condition reader-error (parse-error stream-error)
+ ;; FIXME: Do we need FORMAT-CONTROL and FORMAT-ARGUMENTS when
+ ;; we have an explicit :REPORT function? I thought we didn't..
((format-control
:reader reader-error-format-control
:initarg :format-control)
;;; floating point exceptions?
(define-condition floating-point-exception (arithmetic-error)
((flags :initarg :traps
+ :initform nil
:reader floating-point-exception-traps))
(:report (lambda (condition stream)
(format stream
;;; versions, and a string like "0.6.5.12" is used for versions which
;;; aren't released but correspond only to CVS tags or snapshots.
-"0.6.8.26"
+"0.6.9"