On Tue, Nov 19, 2013 at 01:27:39AM +0100, Andreas Schwab wrote: > Alan Modra <amo...@gmail.com> writes: > > > On Mon, Nov 18, 2013 at 10:10:39AM +0100, Andreas Schwab wrote: > >> Alan Modra <amo...@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