[PATCH, go] Passing Complex64 and Complex128 values via reflect.Call (using libffi) introduces ABI mismatch
Fri Mar 1 14:53:00 GMT 2013
On Fri, Mar 1, 2013 at 3:50 PM, Uros Bizjak <firstname.lastname@example.org> wrote:
>>> Due to the fact that libFFI does not handle C99 _Complex arguments
>>> correctly , libgo passes Complex64 and Complex128 arguments via a
>>> temporary structure. However, passing parts of complex number in a
>>> structure is not the same as passing true C99 _Complex value, so this
>>> workaround introduces ABI mismatch between caller and callee. This
>>> mismatch results in wrong passed values of complex types.
>>> Fortunately all x86 ABIs tolerate this mismatch, but other targets
>>> (i.e. alpha) don't have this privilege.
>> Is there a PR open against libffi?
> Not that I know of, but I can open one if requested.
FYI, python is also interested  in this enhancement.
More information about the Gcc-patches