This is the mail archive of the gcc-patches@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]

Re: __builtin_va_arg rfc


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.


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