aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/g-opt.boot2
-rw-r--r--src/interp/spaderror.lisp5
2 files changed, 3 insertions, 4 deletions
diff --git a/src/interp/g-opt.boot b/src/interp/g-opt.boot
index 39223218..f1dd8d2e 100644
--- a/src/interp/g-opt.boot
+++ b/src/interp/g-opt.boot
@@ -405,7 +405,7 @@ $VMsideEffectFreeOperators ==
%irem %iquo %idivide %idec %irandom
%feq %flt %fle %fgt %fge %fmul %fadd %fsub %fexp %fmin %fmax %float?
%fpowi %fdiv %fneg %i2f %fminval %fmaxval %fbase %fprec %ftrunc
- %fsqrt %fpowf %flog %flog2 %flog10 %fmanexp
+ %fsqrt %fpowf %flog %flog2 %flog10 %fmanexp %fNaN?
%fsin %fcos %ftan %fcot
%fasin %facos %fatan %facot
%fsinh %fcosh %ftanh
diff --git a/src/interp/spaderror.lisp b/src/interp/spaderror.lisp
index 7d65b506..2967dc27 100644
--- a/src/interp/spaderror.lisp
+++ b/src/interp/spaderror.lisp
@@ -60,9 +60,8 @@
#-:gcl
(defmacro |trapNumericErrors| (form)
- `(handler-bind ((division-by-zero
- #'(lambda (c) (declare (ignore c)) |%nothing|)))
- ,form))
+ `(handler-case ,form
+ (arithmetic-error () |%nothing|)))
;; the following form embeds around the akcl error handler
#+:gcl