X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/e85df3ff84611b7c790f9ffb46dfca77e2a717c0..77d83e015f7cd280b385ad53c486e2c27ad6152f:/src/method-proto.lisp diff --git a/src/method-proto.lisp b/src/method-proto.lisp index 12cefc8..069f7e4 100644 --- a/src/method-proto.lisp +++ b/src/method-proto.lisp @@ -293,14 +293,12 @@ (c-type-subtype (sod-method-type direct-method)) (lambda (var) (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)) - (emit-inst codegen - (make-va-end-inst *sod-tmp-ap*)))) - (deliver-expr codegen target (make-call-inst function arguments))))) + (deliver-call codegen :void "va_copy" + *sod-tmp-ap* *sod-ap*) + (apply #'deliver-call codegen var + function arguments) + (deliver-call codegen :void "va_end" *sod-tmp-ap*))) + (apply #'deliver-call codegen target function arguments)))) (export 'ensure-ilayout-var) (defun ensure-ilayout-var (codegen super)