summaryrefslogtreecommitdiff
path: root/gcc/except.c
diff options
context:
space:
mode:
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>2005-10-23 18:43:30 +0000
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>2005-10-23 18:43:30 +0000
commit5251cf0ca447a3eb11f9f49ee6c0ef7367a8b2dc (patch)
tree97811d9803626feb6198769a9421ffe28ff72ad8 /gcc/except.c
parent70464f87e52cb1ba7f127872b93b1356cc612bd1 (diff)
downloadgcc-5251cf0ca447a3eb11f9f49ee6c0ef7367a8b2dc.tar.gz
PR ada/23957
* except.c (output_function_exception_table): Call assemble_external_libcall if we need a personality function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105819 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/except.c')
-rw-r--r--gcc/except.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/except.c b/gcc/except.c
index 4e51d3ef251..7f317625924 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -3516,13 +3516,15 @@ output_function_exception_table (void)
int have_tt_data;
int tt_format_size = 0;
+ if (eh_personality_libfunc)
+ assemble_external_libcall (eh_personality_libfunc);
+
/* Not all functions need anything. */
if (! cfun->uses_eh_lsda)
return;
#ifdef TARGET_UNWIND_INFO
/* TODO: Move this into target file. */
- assemble_external_libcall (eh_personality_libfunc);
fputs ("\t.personality\t", asm_out_file);
output_addr_const (asm_out_file, eh_personality_libfunc);
fputs ("\n\t.handlerdata\n", asm_out_file);