diff options
Diffstat (limited to 'Lisp')
-rw-r--r-- | Lisp/type-handling.lisp | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/Lisp/type-handling.lisp b/Lisp/type-handling.lisp index abee5ae..44370d8 100644 --- a/Lisp/type-handling.lisp +++ b/Lisp/type-handling.lisp @@ -142,27 +142,23 @@ Returns: (VALUES typespec byte-position string-position)" (otherwise (prog1 (list (case init-char (#\B :boolean) ;XXX :int? - (#\c (if (or return-type-p - (eq +runtime-type+ :gnu) - (and (eq +runtime-type+ :next) + (#\c (if (and (eq +runtime-type+ :next) + (or return-type-p (featurep 'cffi-features:ppc32))) :int :char)) - (#\C (if (or return-type-p - (eq +runtime-type+ :gnu) - (and (eq +runtime-type+ :next) + (#\C (if (and (eq +runtime-type+ :next) + (or return-type-p (featurep 'cffi-features:ppc32))) :unsigned-int :unsigned-char)) - (#\s (if (or return-type-p - (eq +runtime-type+ :gnu) - (and (eq +runtime-type+ :next) + (#\s (if (and (eq +runtime-type+ :next) + (or return-type-p (featurep 'cffi-features:ppc32))) :int :short)) - (#\S (if (or return-type-p - (eq +runtime-type+ :gnu) - (and (eq +runtime-type+ :next) + (#\S (if (and (eq +runtime-type+ :next) + (or return-type-p (featurep 'cffi-features:ppc32))) :unsigned-int :unsigned-short)) |