[Bug target/14547] [3.4 Regression] Passing _Complex long double does not follow the ABI
rth at redhat dot com
gcc-bugzilla@gcc.gnu.org
Sat Mar 13 19:18:00 GMT 2004
------- Additional Comments From rth at redhat dot com 2004-03-13 19:18 -------
Subject: Re: [3.4 Regression] Passing _Complex long double does not follow the ABI
On Sat, Mar 13, 2004 at 08:26:47AM -0800, Mark Mitchell wrote:
> + if (targetm.calls.split_complex_arg)
> fnargs = split_complex_args (fnargs);
>
> Shouldn't that be "targetm.calls.split_complex_arg()"?
No. If the function pointer is null, it's defined to be false,
so we avoid calling it N times to find out that we don't need
to do anything.
> 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.
If the target does define the target hook non-null but always false,
then we'll go round the check-to-see-if-we-need-to-do-something loop
and discover the answer is no. So while we would in fact do the right
thing under such a circumstance, we'd waste a bit of time doing so.
r~
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14547
More information about the Gcc-bugs
mailing list