We signal the error without providing either :operation or :operands.
Since all conditions signalled are subclasses or ARITHMETIC-ERROR, that's a bit suboptimal.
Getting access to operation for DIVISION-BY-ZERO is a no-brainer (we can always call it /), for the others it requires parsing the offending instruction -- ditto for operands.
Perhaps defaulting both to NIL is an acceptable least-evil for now?
The bug resides in src/code/ float-traps. lisp:
(defun sigfpe-handler (signal info context) :siginfo- code info))) interrupts code-error- alist*) )
'floating- point-exception )))))
(declare (ignore signal context))
(declare (type system-area-pointer info))
(let ((code (sb!unix:
(with-
(error (or (cdr (assoc code *sigfpe-
We signal the error without providing either :operation or :operands.
Since all conditions signalled are subclasses or ARITHMETIC-ERROR, that's a bit suboptimal.
Getting access to operation for DIVISION-BY-ZERO is a no-brainer (we can always call it /), for the others it requires parsing the offending instruction -- ditto for operands.
Perhaps defaulting both to NIL is an acceptable least-evil for now?