Pass floating point values on powerpc64 as per ABI
Alan Modra
amodra@gmail.com
Tue Nov 19 05:17:00 GMT 2013
On Tue, Nov 19, 2013 at 11:16:26AM +1030, Alan Modra wrote:
> On Tue, Nov 19, 2013 at 01:27:39AM +0100, Andreas Schwab wrote:
> > Where does it call a varargs function?
>
> printf
Sorry that wasn't such a helpful response.
Here, really:
res = ((int(*)(char*, ...))(code))(format, doubleArg);
Prior to that point ffi_prep_cif_var and ffi_prep_closure_loc have set
things up to expect a varargs function. The old test didn't test a
closure call with variable arguments. Actually that makes my claims
about calling functions differently to the way they were defined
wrong. The old test didn't actually do that, since there was another
ffi_prep_cif call that said the closure was not varargs, and the call
matched that.
--
Alan Modra
Australia Development Lab, IBM
More information about the Gcc-patches
mailing list