This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
RE: 2.95: Dec 19 patchkit
- To: "Alexander N. Kabaev" <ak03 at gte dot com>
- Subject: RE: 2.95: Dec 19 patchkit
- From: Bernd Schmidt <bernds at redhat dot com>
- Date: Tue, 19 Dec 2000 19:33:07 +0000 (GMT)
- Cc: gcc-patches at gcc dot gnu dot org
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