From: Mark Wooding Date: Tue, 15 May 2018 10:39:03 +0000 (+0100) Subject: src/method-impl.lisp: Initialize `suppliedp' flags properly. X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/commitdiff_plain/3b2ec4790da6b3f64189a58896957ac63169dd5e src/method-impl.lisp: Initialize `suppliedp' flags properly. More foolishness. The standalone C library gets this right, embarrassingly enough. --- 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)))