X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/3001131b3f69ac4aaaae4500a18a0c721b13c88f..7b7947024fedb0bb7a0ea3ccb0029f6060de901b:/src/method-impl.lisp diff --git a/src/method-impl.lisp b/src/method-impl.lisp index cbc7537..4bf3214 100644 --- a/src/method-impl.lisp +++ b/src/method-impl.lisp @@ -793,6 +793,14 @@ (defmethod compute-effective-method-body :around (*keyword-struct-disposition* :local)) (ensure-var codegen *sod-keywords* (c-type (struct tag))) (make-keyword-parser-function codegen method tag set keywords) + (emit-insts codegen + (mapcar (lambda (keyword) + (make-set-inst + (format nil "~A.~A__suppliedp" + *sod-keywords* + (argument-name keyword)) + 0)) + keywords)) (parse-keywords (lambda () (call :void name kw-addr ap-addr *null-pointer* 0)))