This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Pass floating point values on powerpc64 as per ABI
- From: Andreas Schwab <schwab at linux-m68k dot org>
- To: gcc-patches at gcc dot gnu dot org
- Cc: David Edelsohn <dje dot gcc at gmail dot com>
- Date: Tue, 19 Nov 2013 01:27:39 +0100
- Subject: Re: Pass floating point values on powerpc64 as per ABI
- Authentication-results: sourceware.org; auth=none
- References: <20131116114805 dot GJ22514 at bubble dot grove dot modra dot org> <20131116115443 dot GM22514 at bubble dot grove dot modra dot org> <mvm61rqm5ww dot fsf at hawking dot suse dot de> <20131118233138 dot GW22514 at bubble dot grove dot modra dot org>
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?
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."