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