This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/14547] [3.4 Regression] Passing _Complex long double does not follow the ABI
- From: "mark at codesourcery dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 13 Mar 2004 16:27:03 -0000
- Subject: [Bug target/14547] [3.4 Regression] Passing _Complex long double does not follow the ABI
- References: <20040312082146.14547.rth@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From mark at codesourcery dot com 2004-03-13 16:27 -------
Subject: Re: [3.4 Regression] Passing _Complex long double
does not follow the ABI
rth at gcc dot gnu dot org wrote:
> ------- Additional Comments From rth at gcc dot gnu dot org 2004-03-12 10:08 -------
> patch: http://gcc.gnu.org/ml/gcc-patches/2004-03/msg01016.html
>
The patch doesn't look quite right to me.
- if (SPLIT_COMPLEX_ARGS)
+ /* If the target wants to split complex arguments into scalars, do
so. */
+ if (targetm.calls.split_complex_arg)
fnargs = split_complex_args (fnargs);
Shouldn't that be "targetm.calls.split_complex_arg()"?
- if (SPLIT_COMPLEX_ARGS && fnargs != orig_fnargs)
+ if (targetm.calls.split_complex_arg && fnargs != orig_fnargs)
Similarly?
Otherwise, if a backend defined this to be a function that always
returned false, the compiler would treat that differently from the NULL
pointer, which is (by the docs) supposed to be equivalent to the
function that always returns false.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14547