When return-type is :void, return the expansion from translate-objects-ret instead...
commitfc54de4b55ddfca9ef453166f7237edc2890090c
authorLiam M. Healy <lhealy@common-lisp.net>
Sat, 1 Nov 2014 02:28:17 +0000 (31 22:28 -0400)
committerLiam M. Healy <lhealy@common-lisp.net>
Sat, 1 Nov 2014 02:28:17 +0000 (31 22:28 -0400)
treeb4a0026f50d7652b4d2f620c95f60ff35c0a9dcf
parentcc07246c110696f7141afb166644c49affe55acc
When return-type is :void, return the expansion from translate-objects-ret instead of NIL

If the return-type is :void, the expansion of defcfun in cffi-libffi was a let form around (values), so didn't do anything. Fixed by returning the expansion instead of '(values) and also check return-type final form of call to translate-objects-ret in ffcall-body-libffi; if it is :void, expand to '(values) and not 'result.
Reported by resttime https://github.com/cffi/cffi/issues/47.
libffi/functions.lisp