X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/655037a5bd793e815bb68e3c103fc7e1bb1c79aa..ad1316527a6aa066d0abc0ada46a3616f5cb451f:/src/c-types-parse.lisp diff --git a/src/c-types-parse.lisp b/src/c-types-parse.lisp index 13f9145..3a5a536 100644 --- a/src/c-types-parse.lisp +++ b/src/c-types-parse.lisp @@ -89,8 +89,7 @@ (defparameter *declspec-map* (let ((map (make-hash-table :test #'equal))) - (dolist (item '((type :void :char :int :float :double - (:bool :compat "_Bool")) + (dolist (item '((type :char :int :float :double) (complexity (:complex :compat "_Complex") (:imaginary :compat "_Imaginary")) ((type :taggedp t) :enum :struct :union) @@ -260,7 +259,8 @@ (let ((kw (token-value scanner))) (or (gethash kw *declspec-map*) (and (boundp '*module-type-map*) - (gethash kw *module-type-map*))))))) + (gethash kw *module-type-map*)) + (find-simple-c-type kw)))))) (cond ((or (not ds) (and predicate (not (funcall predicate ds)))) (values (list indicator) nil nil)) ((and (typep ds 'declspec) (ds-taggedp ds)) @@ -402,7 +402,7 @@ (disallow-keyword-functions (type) (when (typep type 'c-keyword-function-type) (error "Functions with keyword arguments are only ~ - allowed at top-level."))) + allowed at top-level"))) (star () ;; Prefix: `*' qualifiers