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: sjlj-exceptions ICE. simplified test case


> From: Jason Merrill <jason@cygnus.com>
> Date: 26 Apr 2000 01:27:47 -0700
> 
> >>>>> Richard Henderson <rth@cygnus.com> writes:
> 
>  > On Tue, Apr 25, 2000 at 11:03:59PM -0700, Jason Merrill wrote:
>  >> That would require porting tables to all targets.
> 
>  > Yes.  Surely you're not suggesting this is an unworthy goal?
> 
> Not at all, just making sure you understand the consequences.  :)
> 
>  > And probably not so bad if we mothball some of the truely 
>  > ancient ports at the same time.
> 
> It probably wouldn't hurt to just disable EH on targets that don't support
> the new scheme.

From the gcj (Java) point of view, I most strongly object to this
suggestion.  Yes, we prefer to use range table based exceptions, but
sjlj exceptions are a useful way to begin porting Java to a new
target, and to remove sjlj support before we've ported range tables to
all our targets will cause us great pain.

Besides, range tables are very expensive on some embedded targets.

One other thing: some of our C++ users throw exceptions from signal
handlers, and although I wouldn't recommend this as good practice it
is essential for their applications.  Exiting a signal handler via a
longjmp() is perfectly legal, but this won't work with range tables.

Andrew.

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