This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: What do do with the exceptional case of expand_case for SJLJ exceptions
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Steven Bosscher <stevenb dot gcc at gmail dot com>
- Cc: Richard Henderson <rth at redhat dot com>, Jan Hubicka <hubicka at ucw dot cz>, Richard Guenther <richard dot guenther at gmail dot com>, GCC Mailing List <gcc at gcc dot gnu dot org>
- Date: Sat, 12 May 2012 15:49:12 +0200
- Subject: Re: What do do with the exceptional case of expand_case for SJLJ exceptions
- References: <CABu31nMg0zBJCN2-jSfM_C8SOnPoOJyGBvJqu_=B=a53eOD0-g@mail.gmail.com> <CAFiYyc1g2h_CtkWQYLtU=+RCz26XWH5VLTmELG0hgxoVzaWEqw@mail.gmail.com> <20120418103928.GB5160@atrey.karlin.mff.cuni.cz> <4F8EB726.6020502@redhat.com> <CABu31nPAyy98Lnhkypu1UxXN5wm+XkKq8f+CZVhGWQA7UbV-GA@mail.gmail.com>
> On Wed, Apr 18, 2012 at 2:44 PM, Richard Henderson <rth@redhat.com> wrote:
> > On 04/18/2012 05:39 AM, Jan Hubicka wrote:
> >> Well, if SJLJ lowering happens as gimple pass somewhere near the end of gimple
> >> queue, this should not be problem at all. (and implementation would be cleaner)
> >
> > If you can find a clean way of separating sjlj expansion from dw2 expansion,
> > please do. ?But there's a lot of code shared between the two. ?I see nothing
> > wrong with always expanding via tablejump.
>
> In that case, would something like the following patch be acceptable?
> I have verified that all targets that always set
> TARGET_EXCEPT_UNWIND_INFO define casesi and/or tablejump.
>
>
> * toplev.c (process_options): Fail for sjlj exceptions if the
> target machine
> has no casesi insn and no tablejump insn.
Isn't SJLJ used by default for Ada on all targets?
Honza