This is the mail archive of the gcc-bugs@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: EH optimization bug in 980308



  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


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