]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
except.c (expand_end_catch_block): Lose call to __sjpopnthrow.
authorJason Merrill <jason@yorick.cygnus.com>
Wed, 12 Nov 1997 03:54:47 +0000 (03:54 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Wed, 12 Nov 1997 03:54:47 +0000 (22:54 -0500)
* except.c (expand_end_catch_block): Lose call to __sjpopnthrow.

Fixes sjlj failures.

From-SVN: r16434

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

index ae36caa432e175296196c99be44f3057357b57c9..6a56778d92c81039a26ef75bdb79ff803a36b1a9 100644 (file)
@@ -1,3 +1,7 @@
+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