src/: Add commentary to the generated code.
[sod] / src / builtin.lisp
index 7bb38e5..ea72d66 100644 (file)
@@ -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 @@
   (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 @@ static void *~A__init(void *p)~%{~%" class)
                               "  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 @@ static const SodClass *const ~A__cpl[] = {
                                                    :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\""))