X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fproclaim.lisp;h=8a616d003d1d2c509c9277d3c76390f2edc526b4;hb=4eb1a6d3ad2b7dcc19ac0ec979a1eb1eb049659a;hp=faef5559a5060dbbf68923ebb47675e222c089ae;hpb=f865612b20955e92189b1e683203e12c8f08eb79;p=sbcl.git diff --git a/src/compiler/proclaim.lisp b/src/compiler/proclaim.lisp index faef555..8a616d0 100644 --- a/src/compiler/proclaim.lisp +++ b/src/compiler/proclaim.lisp @@ -81,6 +81,8 @@ decl-spec))))) (defun sb!xc:proclaim (raw-form) + #+sb-xc (/show0 "entering PROCLAIM, RAW-FORM=..") + #+sb-xc (/hexstr raw-form) (let* ((form (canonized-decl-spec raw-form)) (kind (first form)) (args (rest form))) @@ -151,9 +153,10 @@ ;; Now references to this function shouldn't be warned ;; about as undefined, since even if we haven't seen a - ;; definition yet, we know one is planned. (But if this - ;; function name was already declared as a structure - ;; accessor, then that was already been taken care of.) + ;; definition yet, we know one is planned. + ;; + ;; Other consequences of we-know-you're-a-function-now + ;; are appropriate too, e.g. any MACRO-FUNCTION goes away. (proclaim-as-fun-name name) (note-name-defined name :function) @@ -174,9 +177,7 @@ (setq *policy* (process-optimize-decl form *policy*))) ((inline notinline maybe-inline) (dolist (name args) - ;; (CMU CL did (PROCLAIM-AS-FUN-NAME NAME) here, but that - ;; seems more likely to surprise the user than to help him, so - ;; we don't do it.) + (proclaim-as-fun-name name) ; since implicitly it is a function (setf (info :function :inlinep name) (ecase kind (inline :inline) @@ -192,4 +193,5 @@ (t (unless (info :declaration :recognized kind) (compiler-warning "unrecognized declaration ~S" raw-form))))) + #+sb-xc (/show0 "returning from PROCLAIM") (values))