* Add proper support for rethrown exceptions.
* Make catch_begin() produce a pointer that must be passed to catch_end()
* Eliminate the caught exception stack.
* Add optional debugging code that may be turned on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8184 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/runtime/GCCLibraries/crtend/Exception.h b/runtime/GCCLibraries/crtend/Exception.h
index 4d886cd..a348999 100644
--- a/runtime/GCCLibraries/crtend/Exception.h
+++ b/runtime/GCCLibraries/crtend/Exception.h
@@ -31,6 +31,14 @@
// falls to zero, the exception is destroyed.
//
unsigned HandlerCount;
+
+ // isRethrown - This field is set on an exception if it has been 'throw;'n.
+ // This is needed because the exception might exit through a number of the
+ // end_catch statements matching the number of begin_catch statements that
+ // have been processed. When this happens, the exception should become
+ // uncaught, not dead.
+ //
+ int isRethrown;
};
enum {