This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: EH optimization bug in 980308
- To: Kriang Lerdsuwanakij <lerdsuwa at scf-fs dot usc dot edu>
- Subject: Re: EH optimization bug in 980308
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Sat, 31 Oct 1998 00:54:58 -0700
- cc: egcs-bugs at cygnus dot com
- Reply-To: law at cygnus dot com
In message <3509A167.4BE3@scf.usc.edu>you write:
> Hi
>
> I discovered problems in loop optimization and jump optimization in the
> presence of exception handling. Below are the codes that trigger the
> bug. It was tested with the 980308 snapshot. They need to be compiled
> with option -O (or higher) for the bug to appear.
>
> For the loop optimization test case (lbug.cc), the exception thrown by
> f() is no longer caught by the try block. I found that the function
> call to f() is moved outside the exception region right before the
> `return ret'.
>
> For the jump optimization test case (jbug.cc), the correct behavior is
> that the exception thrown by f() inside the try block should be caught
> while the one outside should not. But gcc merge two function calls
> together inside the exception region during the second jump optimization
> pass. This put the program to infinite loop.
Your second bug (incorrect jump optimization with exception handling) has
been fixed for the egcs-1.1 release.
The loop & eh problem unfortunately still remains.
jeff