On Mon, Jul 21, 2014 at 8:21 PM, Uros Bizjak <ubiz...@gmail.com> wrote:
> Attached patch fixes libgo reflect test failure with libffi closures. > The gccgo compiler started to use FFI closures recently; the compiler > passes ffi_type_void for structures with zero members. > > ffi_call form src/alpha/ffi.c allows FFI_TYPE_VOID arguments in > non-debug mode through the default: case, but ffi_closure_osf_inner > aborts with this type of argument. > > The patch changes the default case in ffi_closure_osf_inner from abort > to FFI_ASSERT, an this way synchronizes argument handling in both > cases. > > 2014-07-21 Uros Bizjak <ubiz...@gmail.com> > > * src/alpha/ffi.c: Do not include stdlib.h. > (ffi_closure_osf_inner) <default>: Use FFI_ASSERT instead of abort. > > Patch was tested with libffi testsuite on alphaev6-linux-gnu. > Additionally, the patch fixed reflect test from the libgo testsuite > and go.test/test/recover.go test from the gcc testsuite. I have installed the patch in gcc mainline SVN as r213049. Uros.