From 12e18c999711646fe4bc9d6a5a99dd98cb2d512f Mon Sep 17 00:00:00 2001 From: Alex Shinn Date: Sun, 15 Jan 2012 21:28:41 +0900 Subject: [PATCH] Need to set return type for zero-argument constructors. --- tools/chibi-ffi | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/chibi-ffi b/tools/chibi-ffi index 36fa974b..6e2bb1f3 100755 --- a/tools/chibi-ffi +++ b/tools/chibi-ffi @@ -1091,9 +1091,10 @@ (if default (write-default default) "") ");\n" (cond - ((and (pair? (func-c-args func)) - (any (lambda (a) (not (eq? 'sexp (type-base a)))) - (func-c-args func))) + ((or (not (eq? 'sexp (type-base (func-ret-type func)))) + (and (pair? (func-c-args func)) + (any (lambda (a) (not (eq? 'sexp (type-base a)))) + (func-c-args func)))) (lambda () (cat " if (sexp_opcodep(op)) {\n" @@ -1104,6 +1105,7 @@ (i 1 (+ i 1))) ((null? ls)) (cond + ((eq? 'sexp (type-base (car ls)))) ((<= i 3) (cat " sexp_opcode_arg" i "_type(op) = " (type-id-init-value (car ls)) ";\n"))