summaryrefslogtreecommitdiff
path: root/gcc/except.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2003-09-18 20:47:38 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2003-09-18 20:47:38 +0000
commit7a4f3d8a576d055d1dc2a8e1cf662b47abe9aa78 (patch)
treec86de8d94e0aeac6a19460549976063f8ca42816 /gcc/except.c
parent85d654ddd4b94ecbd2d2f291a6b6404fcde249ec (diff)
downloadgcc-7a4f3d8a576d055d1dc2a8e1cf662b47abe9aa78.tar.gz
* except.c (output_function_exception_table): Adjust last change
to handle TYPE of INTEGER_CST. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71540 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/except.c')
-rw-r--r--gcc/except.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/gcc/except.c b/gcc/except.c
index 6745dd1bd5e..220835e1475 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -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)