make %COERCE-TO-CALLABLE compilers notes make sense
authorNikodemus Siivola <nikodemus@random-state.net>
Wed, 23 May 2012 06:53:34 +0000 (09:53 +0300)
committerNikodemus Siivola <nikodemus@random-state.net>
Fri, 1 Feb 2013 20:39:46 +0000 (22:39 +0200)
  Get the cause and the problem right.

src/compiler/ir1-translators.lisp

index dc47dae..add4fa1 100644 (file)
@@ -604,7 +604,7 @@ be a lambda expression."
         (cond (cname
                `(global-function ,cname))
               (give-up
-               (give-up-ir1-transform give-up))
+               (give-up-ir1-transform "not known to be a function"))
               (t
                `(%coerce-callable-to-fun ,lvar-name))))))
 \f
@@ -647,8 +647,9 @@ be a lambda expression."
 (define-source-transform funcall (function &rest args)
   `(%funcall ,(ensure-source-fun-form function) ,@args))
 
-(deftransform %coerce-callable-to-fun ((thing) * *)
-  (ensure-lvar-fun-form thing 'thing "optimize away possible call to FDEFINITION at runtime"))
+(deftransform %coerce-callable-to-fun ((thing) * * :node node)
+  "optimize away possible call to FDEFINITION at runtime"
+  (ensure-lvar-fun-form thing 'thing t))
 
 (define-source-transform %coerce-callable-to-fun (thing)
   (ensure-source-fun-form thing t))