I am dependent on the following snippet of code:
(let ((current-traps (cadr (member :traps (ext:get-floating-point-modes)))))
(when (find :invalid current-traps)
(progn
(warn "WARNING: removing :invalid from floating-point-modes traps.")
(ext:set-floating-point-modes :traps (remove :invalid current-traps)))))
The idea here is to make sure that the :invalid floating-point-mode
trap is not set. This is important to me because I call a foreign
library (R) that (for reasons I don't know) causes an invalid floating
point operation, and without this set, CMUCL crashes when I try to
start R.
Unfortunately, while this code works fine on my desktop machine (Dell
dual xeon), it seems to have no effect on my laptop (IBM T42). After
running this snippet of code, :invalid still shows up in
(ext:get-floating-point-modes). This is with CMUCL 19A.
I believe that the IBM T42 has a Pentium M chip. Is this a known
problem? Any suggestions?
Cheers,
rif