This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: split_complex_* flaw
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: David Edelsohn <dje at watson dot ibm dot com>
- Cc: Richard Henderson <rth at redhat dot com>, gcc at gcc dot gnu dot org,Aldy Hernandez <aldyh at redhat dot com>
- Date: Sun, 1 Feb 2004 16:59:21 +1030
- Subject: Re: split_complex_* flaw
- References: <20040131104133.GC5080@bubble.modra.org> <200402010343.i113hkT33526@makai.watson.ibm.com>
On Sat, Jan 31, 2004 at 10:43:45PM -0500, David Edelsohn wrote:
> A pointer to a complex float is a pointer to a pair of packed,
> adjacent floats occupying a doubleword, but the stack image is two
> doublewords.
This is where things go wrong. va_list on powerpc64-linux is just
a simple pointer. va_arg(ap, _Complex float) is looking for a pair
of adjacent floats in a doubleword, but as you say, the stack image
is two doublewords with the split_complex_* code.
--
Alan Modra
IBM OzLabs - Linux Technology Centre