except.c (output_function_exception_table): Adjust last change to handle TYPE of...
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Thu, 18 Sep 2003 20:47:38 +0000 (20:47 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Thu, 18 Sep 2003 20:47:38 +0000 (16:47 -0400)
* except.c (output_function_exception_table): Adjust last change
to handle TYPE of INTEGER_CST.

From-SVN: r71540

gcc/ChangeLog
gcc/except.c

index 2634cbbcedd56539a111413be9e64da209a44481..b8d779dd9c1c9e3ab6a5ed3b7319103bbbc75866 100644 (file)
@@ -1,3 +1,8 @@
+2003-09-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * except.c (output_function_exception_table): Adjust last change
+       to handle TYPE of INTEGER_CST.
+
 2003-09-18  Mark Mitchell  <mark@codesourcery.com>
 
        PR target/11184
index 6745dd1bd5ec9d4934afaa90af232975aa6fa1df..220835e1475a624da70278d6bbb71e9cf9647568 100644 (file)
@@ -3707,12 +3707,14 @@ output_function_exception_table (void)
          /* Let cgraph know that the rtti decl is used.  Not all of the
             paths below go through assemble_integer, which would take
             care of this for us.  */
-         if (TREE_CODE (type) != ADDR_EXPR)
+         if (TREE_CODE (type) == ADDR_EXPR)
+           {
+             node = cgraph_varpool_node (type);
+             if (node)
+               cgraph_varpool_mark_needed_node (node);
+           }
+         else if (TREE_CODE (type) != INTEGER_CST)
            abort ();
-         type = TREE_OPERAND (type, 0);
-         node = cgraph_varpool_node (type);
-         if (node)
-           cgraph_varpool_mark_needed_node (node);
        }
 
       if (tt_format == DW_EH_PE_absptr || tt_format == DW_EH_PE_aligned)