X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/7f2917d28642cfbdf590ff26f0cdd91a79b1c489..357885be46389c70dc9e7c7859f47af68aeb58ae:/src/method-proto.lisp diff --git a/src/method-proto.lisp b/src/method-proto.lisp index d176602..c8b47ad 100644 --- a/src/method-proto.lisp +++ b/src/method-proto.lisp @@ -7,7 +7,7 @@ ;;;----- Licensing notice --------------------------------------------------- ;;; -;;; This file is part of the Sensble Object Design, an object system for C. +;;; This file is part of the Sensible Object Design, an object system for C. ;;; ;;; SOD is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -292,15 +292,15 @@ (convert-stmts codegen target (c-type-subtype (sod-method-type direct-method)) (lambda (var) - (ensure-var codegen *sod-tmp-ap* (c-type va-list)) + (ensure-var codegen *sod-tmp-ap* c-type-va-list) (emit-inst codegen (make-va-copy-inst *sod-tmp-ap* *sod-ap*)) - (deliver-expr codegen var - (make-call-inst function arguments)) + (apply #'deliver-call codegen var + function arguments) (emit-inst codegen (make-va-end-inst *sod-tmp-ap*)))) - (deliver-expr codegen target (make-call-inst function arguments))))) + (apply #'deliver-call codegen target function arguments)))) (export 'ensure-ilayout-var) (defun ensure-ilayout-var (codegen super) @@ -338,8 +338,7 @@ (return-type (c-type-subtype message-type)) (raw-args (sod-message-argument-tail message)) (arguments (if (varargs-message-p message) - (cons (make-argument *sod-ap* - (c-type va-list)) + (cons (make-argument *sod-ap* c-type-va-list) (butlast raw-args)) raw-args))) (codegen-push codegen)