Pass floating point values on powerpc64 as per ABI

Alan Modra amodra@gmail.com
Tue Nov 19 03:49:00 GMT 2013


On Tue, Nov 19, 2013 at 01:27:39AM +0100, Andreas Schwab wrote:
> Alan Modra <amodra@gmail.com> writes:
> 
> > On Mon, Nov 18, 2013 at 10:10:39AM +0100, Andreas Schwab wrote:
> >> Alan Modra <amodra@gmail.com> writes:
> >> 
> >> > -	/* The call to cls_double_va_fn is static, so have to use a normal prep_cif */
> >> > -	CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &ffi_type_sint, arg_types) == FFI_OK);
> >> 
> >> This breaks ia64:
> >> 
> >> FAIL: libffi.call/cls_double_va.c -O0 -W -Wall output pattern test, is 7.0
> >> res: 4
> >> 0.0
> >> res: 4
> >> , should match 7.0?
> >> res: 4?
> >> 7.0?
> >> res: 4
> >
> > This indicates a real error in the ia64 libffi support.  The test was
> > bogus before, in exactly the same way as if you defined a function as
> > int f(char *, ...)
> > but declared it and called it in another file as
> > int f(char *, double)
> 
> Where does it call a varargs function?

printf

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Gcc-patches mailing list