[multiple changes]

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
This commit is contained in:
Andrew MacLeod 1998-09-17 13:55:51 +00:00 committed by Andrew Macleod
parent 005dda25ff
commit 7ac2148be5
5 changed files with 25 additions and 9 deletions

View 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.

View 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.

View 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)

View 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,

View 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