------- Comment #2 from redi at gcc dot gnu dot org 2009-08-26 15:52 ------- It looks as though uncaught_exception() does not always become false when entering the handler of a function-try-block, and this causes it to stay true.
Maybe the count of uncaught exceptions is not decremented in the function-try-block's handler, but is incremented when the exception is rethrown at the end of the handler, causing it to be one more than it should not be. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41174