X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fknownfun.lisp;h=863dbb395e5e0ece6f2ddbc569bc62a18de73277;hb=9837343101c3da7b3a8f94609ec116ec5025436a;hp=4c7ff9c5a00876218b88f26cead7684e333875e3;hpb=151d241aa79f2346ae18d179255fc6b5a2013229;p=sbcl.git diff --git a/src/compiler/knownfun.lisp b/src/compiler/knownfun.lisp index 4c7ff9c..863dbb3 100644 --- a/src/compiler/knownfun.lisp +++ b/src/compiler/knownfun.lisp @@ -85,7 +85,12 @@ ;; The function does explicit argument type checking, so the ;; declared type should not be asserted when a definition is ;; compiled. - explicit-check) + explicit-check + ;; The function should always be translated by a VOP (i.e. it should + ;; should never be converted into a full call). This is used strictly + ;; as a consistency checking mechanism inside the compiler during IR2 + ;; transformation. + always-translatable) (defstruct (fun-info #-sb-xc-host (:pure t)) ;; boolean attributes of this function. @@ -177,7 +182,8 @@ (eq (transform-important x) important))) (fun-info-transforms info)))) (cond (old - (style-warn "Overwriting ~S" old) + (style-warn 'sb!kernel:redefinition-with-deftransform + :transform old) (setf (transform-function old) fun (transform-note old) note)) (t