This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: __builtin_va_arg rfc
- To: Richard Henderson <rth at cygnus dot com>
- Subject: Re: __builtin_va_arg rfc
- From: Franz Sirl <Franz dot Sirl-kernel at lauterbach dot com>
- Date: Tue, 27 Apr 1999 20:11:58 +0200
- Cc: law at cygnus dot com,egcs-patches at egcs dot cygnus dot com
- References: <19990427103223.A32061@cygnus.com>
Am Tue, 27 Apr 1999 schrieb Richard Henderson:
>On Tue, Apr 27, 1999 at 04:11:33PM +0200, Franz Sirl wrote:
>> #ifdef CUMULATIVE_ARG_INFO_IS_RTX
>> if (CUMULATIVE_ARG_INFO_IS_RTX(wordnum))
>> return word_ptr[wordnum];
>> #endif
>> return GEN_INT (word_ptr[wordnum]);
>
>It's not feasable unless you change the whole of CUMULATIVE_ARGS
>into pointer-sized objects. And given that I do not one bit like
>the way __builtin_arg_info is implemented, I think it's a bad idea.
CUMULATIVE_ARGS members all have to be int-sized by design, so this would be
no problem for PPC32, dunno about alpha64. BTW, do you wanna fix a varargs bug
on alpha too? Or is only something really needed for PPC in 1.2?
As I said, I'm willing to implement any solution, just need to know now which
way to go. But if a fix is only needed for PPC/SYSV in egcs-1.2, I think my
suggestion above is the easiest one to implement and verify. Granted, it's a
hack, but it will work for 1.2 and it won't influence other platforms. The real
rework with your __builtin_va_arg stuff can be done for 1.3 then.
I'm just trying to be realistic in presence of the 1.2 feature freeze. I would
love to use your __builtin_va_arg stuff for 1.2, but I don't think Jeff will
accept it. Your __builtin_saveregs suggestion would be possible too, but I
don't believe I can implement and test it myself in time for 1.2, so probably
the varargs bug on PPC would remain for 1.2 :-(.
Franz.