http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57310

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Doesn't look like any kind of regression to me, seems on most architectures
libffi behaved this way always.  For the return value from ffi_call, most
architectures sign or zero extend the sub-word values into word type (32-bit
for 32-bit arches, 64-bit for 64-bit arches) and store the word.  Looked as far
back as libffi in gcc 3.2 and 3.3 for this.

So your testcase is invalid in that regard, as you are passing &rc, where rc is
int, not long.  But there are testcases doing this in the libffi testsuite it
seems, while others for ffi_type_sint and similar properly use address of
ffi_arg value.

Reply via email to