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


On Tue, Jun 05, 2001 at 12:08:11PM -0700, Richard Henderson wrote:
> >   I think that the easiest short-term fix is to make the comment tell
> > the truth: turn off flag_sibling_calls when flag_exceptions is true.
> 
> I don't have any bright ideas.  I think just letting go with 
> that is the best we'll be able to do for 3.0.

Actually, I do have a bright idea.

Currently we build the sibcall version first, (attempt to) abort if we 
see exception regions created, and build the normal version second.

Instead we should build the normal version first and look to see if we
created any exception regions (and left them open) in the process.  If
so, don't build the sibcall version at all.  Therefore we have nothing
to undo.

This situation may be detected by noticing that cfun->eh->cur_region
changed.  (Though as-written we'd need an accessor in except.c because
cfun->eh is private.)

I may work on a patch for this later...


r~


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