* except.c (expand_end_all_catch): Fix for sjlj exceptions.
authorJason Merrill <jason@yorick.cygnus.com>
Thu, 4 Dec 1997 19:52:49 +0000 (19:52 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Thu, 4 Dec 1997 19:52:49 +0000 (14:52 -0500)
From-SVN: r16950

gcc/ChangeLog
gcc/except.c

index fba73b312ca80e2883047acce144fa808b88abcc..4394e75bf1568488cd6200e85cb8d77ee5670213 100644 (file)
@@ -1,3 +1,7 @@
+Thu Dec  4 11:51:00 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * except.c (expand_end_all_catch): Fix for sjlj exceptions.
+
 Thu Dec  4 12:30:40 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
 
        * sh.c (final_prescan_insn): Use local label prefix
index c37f89d9087d4f2add0a6ebf5d8c322800a1f6cc..9a2f6a0e3dd40a05768a51020222bd42b1bf86cc 100644 (file)
@@ -1390,16 +1390,19 @@ expand_start_all_catch ()
 void
 expand_end_all_catch ()
 {
-  rtx new_catch_clause, outer_context;
+  rtx new_catch_clause, outer_context = NULL_RTX;
 
   if (! doing_eh (1))
     return;
 
-  outer_context = ehstack.top->entry->outer_context;
   if (! exceptions_via_longjmp)
-    /* Finish the rethrow region.  size_zero_node is just a NOP.  */
-    expand_eh_region_end (size_zero_node);
-  
+    {
+      outer_context = ehstack.top->entry->outer_context;
+
+      /* Finish the rethrow region.  size_zero_node is just a NOP.  */
+      expand_eh_region_end (size_zero_node);
+    }
+
   /* Code to throw out to outer context, if we fall off end of catch
      handlers.  This is rethrow (Lresume, same id, same obj) in the
      documentation. We use Lresume because we know that it will throw