X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ffloat-trap.lisp;h=6a021397486de60ffb3a4a0a448425dcaea5f22d;hb=333049ee307ddeb69d4b7eee3c2a381da494da31;hp=429c5df87b03b8fa7645e7f37857268a1631d76c;hpb=bd4f596b07e3783992e00eae88afdc05ebe7c6a6;p=sbcl.git diff --git a/src/code/float-trap.lisp b/src/code/float-trap.lisp index 429c5df..6a02139 100644 --- a/src/code/float-trap.lisp +++ b/src/code/float-trap.lisp @@ -47,8 +47,8 @@ ;;; interpreter stubs for floating point modes get/setters for the ;;; alpha have been removed to alpha-vm.lisp, as they are implemented -;;; in C rather than as VOPs. -#!-(or alpha x86-64) +;;; in C rather than as VOPs. Likewise for x86-64 and mips. +#!-(or alpha x86-64 mips) (progn (defun floating-point-modes () (floating-point-modes)) @@ -118,7 +118,8 @@ in effect." (or (cdr (assoc precision *precision-mode-alist*)) (error "unknown precision mode: ~S" precision)))) ;; FIXME: This apparently doesn't work on Darwin - #!-darwin (setf (floating-point-modes) modes)) + #!-(and darwin ppc) + (setf (floating-point-modes) modes)) (values)) (defun get-floating-point-modes () @@ -158,7 +159,7 @@ sets the floating point modes to their current values (and thus is a no-op)." ;;; disabled by default. Joe User can explicitly enable them if ;;; desired. (defvar *saved-floating-point-modes* - '(:traps (:overflow #!-netbsd :invalid :divide-by-zero) + '(:traps (:overflow #!-(or netbsd ppc) :invalid :divide-by-zero) :rounding-mode :nearest :current-exceptions nil :accrued-exceptions nil :fast-mode nil #!+x86 :precision #!+x86 :53-bit))