eh patch

Jason Merrill jason@cygnus.com
Tue Sep 15 13:03:00 GMT 1998


A few nits:

+       if (catchstack.top->entry->false_label != NULL_RTX)
+         error ("never issued previous false_label");

This should be a compiler_error.

+       call_rtx = emit_library_call_value (
+         gen_rtx_SYMBOL_REF (Pmode, "__eh_rtime_match"), NULL_RTX, 
+                                         0, SImode, 1, rtime_address, Pmode);

The ( should go on the second line.  The two lines of parms should be lined
up.

+   if (!matcher)
+     perror ("No runtime type matcher available");

perror should only be used to report a case where something returned an
error in errno.  Use fprintf (stderr, ...) instead, controlled by #ifndef
inhibit_libc.

+   void *ret;
+   ret = (*matcher) (info, rtime, (void *)0);
+   return ((int)ret);

This looks odd; should it be 

    return (ret != NULL);

?

!   if (exception_table != NULL && 
!                         exception_table->lang.language != EH_LANG_C_plus_plus)

The && should go on the second line, just right of the (.

Sorry I didn't catch these before.

Jason



More information about the Gcc-patches mailing list