EH optimization bug in 980308
Jeffrey A Law
law@cygnus.com
Sat Oct 31 01:24:00 GMT 1998
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
More information about the Gcc-bugs
mailing list