X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/1d8206e9888ca942c039986ffb9c185c80b1e74c..ced609b8c5cc865f25cf5cce91a3d7dc9c85bdee:/src/builtin.lisp?ds=inline diff --git a/src/builtin.lisp b/src/builtin.lisp index 7bb38e5..ea72d66 100644 --- a/src/builtin.lisp +++ b/src/builtin.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 @@ -90,8 +90,8 @@ (define-class-slot "imprint" (class stream) (format nil "~A__imprint" class) (let ((ilayout (sod-class-ilayout class))) (format stream "~&~: -/* Imprint raw memory with instance structure. */ -static void *~A__imprint(void *p) +/* Imprint raw memory with class `~A' instance structure. */ +static void *~:*~A__imprint(void *p) { struct ~A *sod__obj = p; @@ -140,9 +140,10 @@ (define-class-slot "init" (class stream) " struct ~A *sod__obj = ~A__imprint(p);~2%" (ilayout-struct-tag class) class) (setf used t)) - (format stream " {~% ~A ~A =" - (sod-slot-type dslot) - *sod-tmp-val*) + (format stream " {~% ") + (pprint-c-type (sod-slot-type dslot) stream + *sod-tmp-val*) + (format stream " =") (ecase (sod-initializer-value-kind init) (:simple (write (sod-initializer-value-form init) :stream stream @@ -316,7 +317,7 @@ (defun make-builtin-module () :case :common) :state nil))) (with-module-environment (module) - (dolist (name '("va_list" "size_t" "ptrdiff_t")) + (dolist (name '("va_list" "size_t" "ptrdiff_t" "wchar_t")) (add-to-module module (make-instance 'type-item :name name))) (flet ((header-name (name) (concatenate 'string "\"" (string-downcase name) ".h\""))