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: 2.95: Dec 19 patchkit


On Tue, 19 Dec 2000, Alexander N. Kabaev wrote:

> > 
> >       * tree.h (DECL_NL_GOTO_HANDLERS): New macro.
> >       (struct tree_decl): New field nlgoto_handlers.
> >       * integrate.c (save_for_inline_copying): Set DECL_NL_GOTO_HANDLERS.
> >       (save_for_inline_nocopy): Likewise.
> >       (expand_inline_function): Add contents of DECL_NL_GOTO_HANDLERS
> >       to nonlocal_goto_handler_labels.
> >       (output_inline_function): Restore nonlocal_goto_handler_labels.
> > 
> > An attempt to fix problems with sjlj exceptions.  We lose information about
> > nonlocal goto handler labels, causing miscompilations of simple C++
> > testcases.  This is a variant of a patch by Alexander Kabaev, I rewrote it
> > to avoid potential copyright problems.
> > I have to admit I'm slightly nervous about this patch; I'll check it in now
> > since it's relatively likely that it will be included in the release and
> > this way it might get some more testing.  I might take it out again if
> > there
> > are any signs that it's causing problems (e.g. I could imagine it causes
> > code quality regressions with -fsjlj-exceptions).
> 
> The better fix for the problem would be to backport recent sjlj changes from
> the main CVS trunk. I do have a patches ready. GCC bootstraps with them
> just fine and testsuite results show no regressions. The patch fixes the
> problem described above and also allows to compile QT2 on sjlj platforms
> without insane memory requirements. I will gladly send these patches to
> anyone, just drop me a message. Since the patch is a backport of the
> existing GCC code, there will be no copyright complications at all.

Please send it.


Bernd


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