diff --git a/src/cmp/cmpopt-type.lsp b/src/cmp/cmpopt-type.lsp index 0dd9e86bd..c3b0711e7 100644 --- a/src/cmp/cmpopt-type.lsp +++ b/src/cmp/cmpopt-type.lsp @@ -23,12 +23,14 @@ (declare (:read-only ,%limit)) (ext:compiler-typecase ,%limit (fixnum + ;; %LIMIT will be type checked by the compiler to be + ;; a fixnum. We may thus just increase the counter. (let ((,variable 0)) (declare (fixnum ,variable) ,@declarations) (si::while (< ,variable ,%limit) ,@body - (setq ,variable (the fixnum (1+ ,variable)))))) + (reckless (setq ,variable (1+ ,variable)))))) (t (let ((,variable 0)) (declare ,@declarations)