This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: SH-ELF: SFmode calling convention bug with -m4/-m4-single-only -ml
- To: Stephen dot Clarke at st dot com (Stephen Clarke)
- Subject: Re: SH-ELF: SFmode calling convention bug with -m4/-m4-single-only -ml
- From: Joern Rennecke <amylaar at onetel dot net dot uk>
- Date: Fri, 2 Nov 2001 00:36:24 +0000 (GMT)
- Cc: tm at kloo dot net, amylaar at onetel dot net dot uk, gcc-bugs at gcc dot gnu dot org, aoliva at redhat dot com
> I could understand the varargs problem if there's a situation when you don't
> know whether variadic arguments arrive in fr or dr registers (i.e. whether
> they are 32 bit or 64 bit fp values), but when does this happen? For -m4,
> they must be in dr registers, and for -m4-single-only, they must be in fr
> registers ...
>
> I must be missing something?
-m4-single-only is not an issue; -m4/-m4-single is.
It is possible to put SFmode arguments in unnamed positions by
using a frontend without the default promotions of C, or in C by using
a prototype that pretends the arguments are named (although the latter
would indeed be nonconforming and you can argue that you deserve whatever
you get when you do this).
Another issue are complex float (SCmode) arguments; they are not promoted
to DCmode.