This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/14547] [3.4 Regression] Passing _Complex long double does not follow the ABI


------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]