unbreak cify build
Handle `(case-lambda)`.
This commit is contained in:
parent
a62e159e33
commit
f03cb9144e
|
@ -27,6 +27,10 @@
|
||||||
(if (list? ids)
|
(if (list? ids)
|
||||||
(values min-a min-a)
|
(values min-a min-a)
|
||||||
(values min-a -1))]
|
(values min-a -1))]
|
||||||
|
[`(case-lambda)
|
||||||
|
(if precise-cases?
|
||||||
|
(values -1 "\"\"")
|
||||||
|
(values 0 0))]
|
||||||
[`(case-lambda [,unsorted-idss . ,_] ...)
|
[`(case-lambda [,unsorted-idss . ,_] ...)
|
||||||
(cond
|
(cond
|
||||||
[precise-cases?
|
[precise-cases?
|
||||||
|
|
|
@ -121,7 +121,9 @@
|
||||||
(out-open "~aif (c_argc ~a ~a) {" (if (zero? i) "" "else ") (if (list? ids) "==" ">=") (args-length ids))
|
(out-open "~aif (c_argc ~a ~a) {" (if (zero? i) "" "else ") (if (list? ids) "==" ">=") (args-length ids))
|
||||||
(generate-lambda-case lam leaf? `(lambda ,ids . ,body) free-var-refs closure-offset)
|
(generate-lambda-case lam leaf? `(lambda ,ids . ,body) free-var-refs closure-offset)
|
||||||
(out-close "}"))
|
(out-close "}"))
|
||||||
(out "else return c_wrong_arity(~s, c_argc, c_argv);" (format "~a" id))])
|
(out "~areturn c_wrong_arity(~s, c_argc, c_argv);"
|
||||||
|
(if (null? idss) "" "else ")
|
||||||
|
(format "~a" id))])
|
||||||
(when bracket? (out-close "}")))
|
(when bracket? (out-close "}")))
|
||||||
|
|
||||||
;; Returns a boolean indicating whether the functon can be a leaf
|
;; Returns a boolean indicating whether the functon can be a leaf
|
||||||
|
|
Loading…
Reference in New Issue
Block a user