[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 01/11: Fix sub/- primcall bug

From: Andy Wingo
Subject: [Guile-commits] 01/11: Fix sub/- primcall bug
Date: Wed, 20 May 2015 17:32:53 +0000

wingo pushed a commit to branch master
in repository guile.

commit fa7df5ed3afebb34e509f3642fb9b4a839cb2131
Author: Andy Wingo <address@hidden>
Date:   Wed May 20 19:18:35 2015 +0200

    Fix sub/- primcall bug
    * module/language/tree-il/compile-cps2.scm (convert): Fix bug
      in (apply - ...), because the instruction for "-" is "sub", and
      "sub" lookup was failing.  Caught by numbers.test.  Really I would
      like to get rid of $prim, somehow.
 module/language/tree-il/compile-cps2.scm |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/module/language/tree-il/compile-cps2.scm 
index 2f25451..4ec99c4 100644
--- a/module/language/tree-il/compile-cps2.scm
+++ b/module/language/tree-il/compile-cps2.scm
@@ -657,7 +657,7 @@
                       (letk ktail ($kargs ('tail) (tail) ,body))
                       ($ (lp args ktail)))))))))))
       ((prim-instruction name)
-       => (lambda (name)
+       => (lambda (instruction)
             (convert-args cps args
               (lambda (cps args)
                 ;; Tree-IL primcalls are sloppy, in that it could be
@@ -665,14 +665,14 @@
                 ;; arguments.  In CPS we are more strict and only
                 ;; residualize a $primcall if the argument count
                 ;; matches.
-                (match (prim-arity name)
+                (match (prim-arity instruction)
                   ((out . in)
                    (if (= in (length args))
                        (with-cps cps
                          (let$ k (adapt-arity k src out))
                            ($continue k src
-                             ($primcall name args))))
+                             ($primcall instruction args))))
                        (with-cps cps
                          (letv prim)
                          (letk kprim ($kargs ('prim) (prim)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]