unbreak cify build

Handle `(case-lambda)`.
This commit is contained in:
Matthew Flatt 2018-03-17 08:27:49 -06:00
parent a62e159e33
commit f03cb9144e
2 changed files with 7 additions and 1 deletions

View File

@ -27,6 +27,10 @@
(if (list? ids)
(values min-a min-a)
(values min-a -1))]
[`(case-lambda)
(if precise-cases?
(values -1 "\"\"")
(values 0 0))]
[`(case-lambda [,unsorted-idss . ,_] ...)
(cond
[precise-cases?

View File

@ -121,7 +121,9 @@
(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)
(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 "}")))
;; Returns a boolean indicating whether the functon can be a leaf