X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Farray-tran.lisp;h=14b2fa5af78ddcc63085901feb861f22708973c3;hb=1dff970a3514e323517d3ddd876821cc5e381d69;hp=3403ac30c9c396f8a807a4a94c3b2675124c03d2;hpb=e527c3b0def320e81f321ce9094445714c47bed6;p=sbcl.git diff --git a/src/compiler/array-tran.lisp b/src/compiler/array-tran.lisp index 3403ac3..14b2fa5 100644 --- a/src/compiler/array-tran.lisp +++ b/src/compiler/array-tran.lisp @@ -414,12 +414,13 @@ (t (let ((n-elements-per-word (/ sb!vm:n-word-bits n-bits))) (declare (type index n-elements-per-word)) ; i.e., not RATIO - `(ceiling ,padded-length-form ,n-elements-per-word))))))) + `(ceiling (truly-the index ,padded-length-form) + ,n-elements-per-word))))))) (result-spec `(simple-array ,(sb!vm:saetp-specifier saetp) (,(or c-length '*)))) (alloc-form - `(truly-the ,result-spec - (allocate-vector ,typecode (the index length) ,n-words-form)))) + `(truly-the ,result-spec + (allocate-vector ,typecode (the index length) ,n-words-form)))) (cond ((and initial-element initial-contents) (abort-ir1-transform "Both ~S and ~S specified." :initial-contents :initial-element))