(/ 0d0 0d0)
(cosh 90)
signaled an invalid-operation exception, and not overflow, on COSH,
because the previous error wasn't cleared. Clear the exception flags
in the sigfpe handler.
* bug fix: probe-file now can access symlinks to pipes and sockets in
/proc/pid/fd on Linux. (reported by Eric Schulte)
* bug fix: SBCL can now be built on Solaris x86-64.
+ * bug fix: Floating point exceptions do not persist on Solaris anymore.
* bug fix: (setf . a) is pprinted correctly (reported by Douglas Katzman).
changes in sbcl-1.1.11 relative to sbcl-1.1.10:
(declare (type system-area-pointer info))
(let ((code (sb!unix::siginfo-code info)))
(with-interrupts
- (error (or (cdr (assoc code *sigfpe-code-error-alist*))
- 'floating-point-exception)))))
+ ;; Reset the accumulated exceptions, may be needed on other
+ ;; platforms too, at least Linux doesn't seem to require it.
+ #!+sunos
+ (setf (ldb sb!vm::float-sticky-bits (floating-point-modes)) 0)
+ (error (or (cdr (assoc code *sigfpe-code-error-alist*))
+ 'floating-point-exception)))))
;;; Execute BODY with the floating point exceptions listed in TRAPS
;;; masked (disabled). TRAPS should be a list of possible exceptions