(argument-names arguments)
(argument-specs (cddr specifier)))
`(lambda (args-pointer result-pointer function)
+ ;; FIXME: the saps are not gc safe
(let ((args-sap (int-sap
(sb!kernel:get-lisp-obj-address args-pointer)))
(res-sap (int-sap
(destructuring-bind (function result-type &rest argument-types)
specifier
(aver (eq 'function function))
- (values (parse-alien-type result-type env)
+ (values (let ((*values-type-okay* t))
+ (parse-alien-type result-type env))
(mapcar (lambda (spec)
(parse-alien-type spec env))
argument-types))))