except.c (expand_end_catch_block): Lose call to __sjpopnthrow.
authorJason Merrill <jason@yorick.cygnus.com>
Wed, 12 Nov 1997 03:55:00 +0000 (03:55 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Wed, 12 Nov 1997 03:55:00 +0000 (22:55 -0500)
* except.c (expand_end_catch_block): Lose call to __sjpopnthrow.

Fixes sjlj failures.

From-SVN: r16435

gcc/cp/ChangeLog
gcc/cp/except.c

index 45e83936ef84ea39c83ff5286b7f307ca31953ae..0eb150a1f332a0ef7163c582768197b901c0be0c 100644 (file)
@@ -4,6 +4,10 @@ Sun Nov  9 01:29:55 1997  Jim Wilson  (wilson@cygnus.com)
        * init.c (build_vec_delete_1): Delete build_block and
        add_block_current_level calls.
 
+Tue Nov 11 12:02:12 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * except.c (expand_end_catch_block): Lose call to __sjpopnthrow.
+
 Tue Nov 11 02:53:44 1997  Jason Merrill  <jason@lasher.cygnus.com>
 
        * except.c (do_pop_exception): Return a value.
index 66d208c08ce10f223d3ebd7e575b8c6b428ae833..009de14a548f4e0878e7c0d81e577980432bfc0f 100644 (file)
@@ -692,17 +692,7 @@ expand_end_catch_block ()
   do_pending_stack_adjust ();
   start_sequence_for_rtl_expr (t);
 
-  if (exceptions_via_longjmp)
-    {
-      /* If we are doing setjmp/longjmp EH, we need to skip through
-        the EH object cleanup region.  This isn't quite right, as we
-        really need to clean the object up, but we cannot do that
-        until we track multiple EH objects.  */
-
-      emit_library_call (sjpopnthrow_libfunc, 0, VOIDmode, 0);
-      emit_barrier ();
-    }
-  else
+  if (! exceptions_via_longjmp)
     {
       /* If we are not doing setjmp/longjmp EH, we need an extra
         region around the whole catch block to skip through the