summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Harold Newman <william.newman@airmail.net>2000-11-28 16:48:59 +0000
committerWilliam Harold Newman <william.newman@airmail.net>2000-11-28 16:48:59 +0000
commit943f38e6232a69ab1bbcfb2c86801eea391f8ae1 (patch)
tree8295a6020e90303e4d011dc604d3e63f9b190d56
parent6df93cdd503b613151de9c82982259b558465915 (diff)
MNA debug/error patch: fixes to help view SIGINT problems
-rw-r--r--TODO31
-rw-r--r--src/code/debug-int.lisp14
-rw-r--r--src/code/late-target-error.lisp7
-rw-r--r--version.lisp-expr2
4 files changed, 13 insertions, 41 deletions
diff --git a/TODO b/TODO
index e3a196448..f0e4e393f 100644
--- a/TODO
+++ b/TODO
@@ -64,22 +64,6 @@ FIX:
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:
@@ -122,31 +106,16 @@ PROBLEM:
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
diff --git a/src/code/debug-int.lisp b/src/code/debug-int.lisp
index ae9439d3b..a7856e97b 100644
--- a/src/code/debug-int.lisp
+++ b/src/code/debug-int.lisp
@@ -1112,9 +1112,8 @@
(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)
@@ -1127,8 +1126,10 @@
(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
@@ -1204,8 +1205,7 @@
(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
diff --git a/src/code/late-target-error.lisp b/src/code/late-target-error.lisp
index f941ab070..ca6891c9f 100644
--- a/src/code/late-target-error.lisp
+++ b/src/code/late-target-error.lisp
@@ -642,11 +642,11 @@
(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))
@@ -657,6 +657,8 @@
(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)
@@ -688,6 +690,7 @@
;;; 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
diff --git a/version.lisp-expr b/version.lisp-expr
index 1e9b5495d..92853172a 100644
--- a/version.lisp-expr
+++ b/version.lisp-expr
@@ -15,4 +15,4 @@
;;; 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"