[multiple changes]
authorAndrew MacLeod <amacleod@cygnus.com>
Thu, 17 Sep 1998 13:55:51 +0000 (13:55 +0000)
committerAndrew Macleod <amacleod@gcc.gnu.org>
Thu, 17 Sep 1998 13:55:51 +0000 (13:55 +0000)
Thu Sep 17 16:42:16 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
        * except.c (start_catch_handler): Issue 'fatal' instead of 'error' and
        re-align some code.
        * libgcc2.c (__eh_rtime_match): fprintf a runtime error. Use <stdio.h>.
1998-09-17  Andrew MacLeod  <amacleod@cygnus.com>
        * exception.cc (__cplus_type_matcher): realign some code.

From-SVN: r22462

gcc/ChangeLog
gcc/cp/ChangeLog
gcc/cp/exception.cc
gcc/except.c
gcc/libgcc2.c

index 791cc44d7a057eb0c1586945515e722c8502b013..82f31f561f5f76ab7328a894f73d6cc9803bc3de 100644 (file)
@@ -1,3 +1,9 @@
+Thu Sep 17 16:42:16 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
+
+       * except.c (start_catch_handler): Issue 'fatal' instead of 'error' and
+       re-align some code.
+       * libgcc2.c (__eh_rtime_match): fprintf a runtime error. Use <stdio.h>.
+
 Thu Sep 17 12:24:33 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
 
        * regmove.c (copy_src_to_dest): Check that modes match.
index dbac087476b52dabf082adba6fd8ee5e2a660a1d..06cb294004ea5eb7ad4fa4f086c285f1bf9c28ce 100644 (file)
@@ -1,3 +1,7 @@
+1998-09-17  Andrew MacLeod  <amacleod@cygnus.com>
+
+       * exception.cc (__cplus_type_matcher): realign some code.
+
 1998-09-16  Mark Mitchell  <mark@markmitchell.com>
 
        * Make-lang.in (tinfo.o): Use CXXFLAGS when compiling.
index 5fafd1f06837e9b4d6e38aed7a9fe9f0a3b00ec6..05b431521ccb1ee2fd9128bc9a137a5313dfbc13 100644 (file)
@@ -158,8 +158,8 @@ __cplus_type_matcher (cp_eh_info *info, rtimetype match_info,
   void *ret;
 
   /* No exception table implies the old style mechanism, so don't check. */
-  if (exception_table != NULL && 
-                        exception_table->lang.language != EH_LANG_C_plus_plus)
+  if (exception_table != NULL 
+      && exception_table->lang.language != EH_LANG_C_plus_plus)
     return NULL;
 
   if (match_info == CATCH_ALL_TYPE)
index d1e82208d42205c78430bf1e2f3fb4c26465e922..2ac0217e26358f0512ba7d0cf256639b339ed33b 100644 (file)
@@ -1622,16 +1622,16 @@ start_catch_handler (rtime)
       rtx call_rtx, rtime_address;
 
       if (catchstack.top->entry->false_label != NULL_RTX)
-        error ("never issued previous false_label");
+        fatal ("Compiler Bug: Never issued previous false_label");
       catchstack.top->entry->false_label = gen_exception_label ();
 
       rtime_address = expand_expr (rtime, NULL_RTX, Pmode, EXPAND_INITIALIZER);
       rtime_address = force_reg (Pmode, rtime_address);
 
       /* Now issue the call, and branch around handler if needed */
-      call_rtx = emit_library_call_value (
-        gen_rtx_SYMBOL_REF (Pmode, "__eh_rtime_match"), NULL_RTX, 
-                                        0, SImode, 1, rtime_address, Pmode);
+      call_rtx = emit_library_call_value 
+        (gen_rtx_SYMBOL_REF (Pmode, "__eh_rtime_match"), NULL_RTX, 
+         0, SImode, 1, rtime_address, Pmode);
 
       /* Did the function return true? */
       emit_cmp_insn (call_rtx, const0_rtx, EQ, NULL_RTX,
index 821387b396040301f77a4500dca6f3a31ba52c97..1e5947bb5e3c0fa0f6a4f1d302fe63b9b511a838 100644 (file)
@@ -3058,6 +3058,7 @@ __empty ()
 /* Include definitions of EH context and table layout */
 
 #include "eh-common.h"
+#include <stdio.h>
 
 /* This is a safeguard for dynamic handler chain. */
 
@@ -3364,10 +3365,15 @@ __eh_rtime_match (void *rtime)
 
   info = *(__get_eh_info ());
   matcher = ((__eh_info *)info)->match_function;
-  if (!matcher)
-    perror ("No runtime type matcher available");
+#ifndef inhibit_libc
+  if (! matcher)
+    {
+      fprintf (stderr, "Internal Compiler Bug: No runtime type matcher.");
+      return 0;
+    }
+#endif
   ret = (*matcher) (info, rtime, (void *)0);
-  return ((int)ret);
+  return (ret != NULL);
 }
 
 /* This value identifies the place from which an exception is being