This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: __builtin_eh_return_data_regno
- To: Mark Mitchell <mark at codesourcery dot com>
- Subject: Re: __builtin_eh_return_data_regno
- From: Richard Henderson <rth at redhat dot com>
- Date: Mon, 14 May 2001 09:11:36 -0700
- Cc: gcc at gcc dot gnu dot org
- References: <20010514020021J.mitchell@codesourcery.com>
On Mon, May 14, 2001 at 02:00:21AM -0700, Mark Mitchell wrote:
> I started trying to track this down. It doesn't look like
> EH_RETURN_DATA_REGNO is defined for MIPS.
You'll need to define a couple of things, not just that, in
order to get call-frame exceptions working.
> Can I pick any four call-clobberred registers for this purpose?
Yes, though you'll do best with four that do not overlap the
return register. Otherwise you have to play games elsewhere.
> Also, isn't this:
>
> #ifdef EH_RETURN_DATA_REGNO
> builtin_function ("__builtin_eh_return_data_regno", int_ftype_int,
> BUILT_IN_EH_RETURN_DATA_REGNO, BUILT_IN_NORMAL, NULL_PTR);
> #endif
>
> suboptimal? From looking at the switch statement in builtins.c, it
> seems that we are meant always define the function, and then issue an
> error indicating that the builtin function is not supported on a
> particular target.
Um, we could do that, sure. I guess it just seemed easier
at the time to do this.
r~