* 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 {