[PATCH] Fix passing double float complex arguments in sparc64

Joel Brobecker brobecker@adacore.com
Tue Feb 11 04:45:00 GMT 2014


> Somehow I missed the fact that for big structs and unions the writing of
> the "additional" register is performed immediately after setting regnum.
> A bit confusing, but that avoids repeated logic in the `if (regnum !=
> 1)' block, so I agree it is a better solution.

Thank you. I don't think one way is all that better than the other
(I actually find this way a little confusing at first), but I prefer
that everything remains consistent...

> n2013-10-15  Jose E. Marchesi  <jose.marchesi@oracle.com>
> 
>         * sparc64-tdep.c (sparc64_store_arguments): Do not align complex
>         double float arguments to 16-byte in the argument slots.

The patch is OK. Watch out for the 'n' at the start of the date in
this ChangeLog entry.

Just one tiny formatting request before committing:

> +	  /* Float Complex or double Complex arguments.  */
> +	  if (element < 16)
> +	    {
> +	      regnum = SPARC64_D0_REGNUM + element;
> +	      
> +	      if (len == 16)

Can you remove the tabs/spaces in the empty line before the "if"?

Thank you,
-- 
Joel



More information about the Gdb-patches mailing list