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) To add to the confusion, someone wrote a comment that it had to be that way because "cls_double_va_fn is static".. -- Alan Modra Australia Development Lab, IBM