X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/e43d353268fc869045f757932d78d6073db9de6e..e85df3ff84611b7c790f9ffb46dfca77e2a717c0:/src/method-impl.lisp diff --git a/src/method-impl.lisp b/src/method-impl.lisp index 6f22a14..725a0ec 100644 --- a/src/method-impl.lisp +++ b/src/method-impl.lisp @@ -55,7 +55,7 @@ (define-on-demand-slot basic-message argument-tail (message) (define-on-demand-slot basic-message no-varargs-tail (message) (mapcar (lambda (arg) (if (eq arg :ellipsis) - (make-argument *sod-ap* (c-type va-list)) + (make-argument *sod-ap* c-type-va-list) arg)) (sod-message-argument-tail message))) @@ -147,7 +147,7 @@ (defmethod check-method-type ((method daemon-direct-method) (message sod-message) (type c-function-type)) (with-slots ((msgtype %type)) message - (unless (c-type-equal-p (c-type-subtype type) (c-type void)) + (unless (c-type-equal-p (c-type-subtype type) c-type-void) (error "Method return type ~A must be `void'" (c-type-subtype type))) (unless (argument-lists-compatible-p (c-function-arguments msgtype) (c-function-arguments type)) @@ -178,8 +178,7 @@ (define-on-demand-slot delegating-direct-method next-method-type (method) (return-type (c-type-subtype (sod-message-type message))) (msgargs (sod-message-argument-tail message)) (arguments (if (varargs-message-p message) - (cons (make-argument *sod-master-ap* - (c-type va-list)) + (cons (make-argument *sod-master-ap* c-type-va-list) (butlast msgargs)) msgargs))) (c-type (fun (lisp return-type) @@ -197,8 +196,7 @@ (define-on-demand-slot delegating-direct-method function-type (method) method))))) . (if (varargs-message-p message) - (cons (make-argument *sod-master-ap* - (c-type va-list)) + (cons (make-argument *sod-master-ap* c-type-va-list) method-args) method-args))))) @@ -275,7 +273,7 @@ (defmethod shared-initialize :after (declare (ignore slot-names)) (with-slots (message target) codegen (setf target - (if (eq (c-type-subtype (sod-message-type message)) (c-type void)) + (if (eq (c-type-subtype (sod-message-type message)) c-type-void) :void :return)))) @@ -454,7 +452,7 @@ (defmethod compute-method-entry-functions ((method basic-effective-method)) ("me" (* (class tail))) . raw-entry-args)))) (codegen-push codegen) - (ensure-var codegen *sod-ap* (c-type va-list)) + (ensure-var codegen *sod-ap* c-type-va-list) (convert-stmts codegen entry-target return-type (lambda (target) (emit-inst codegen