aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/except.c6
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 849ab90..4589400 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2007-03-19 Mark Mitchell <mark@codesourcery.com>
+
+ * except.c (output_function_exception_table): Do not reference the
+ EH personality routine for functions that do not require an
+ exception table.
+
2007-03-20 Jakub Jelinek <jakub@redhat.com>
PR c/30762
diff --git a/gcc/except.c b/gcc/except.c
index 915059c..e6c1b48 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -3633,13 +3633,13 @@ output_function_exception_table (const char * ARG_UNUSED (fnname))
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;
+ if (eh_personality_libfunc)
+ assemble_external_libcall (eh_personality_libfunc);
+
#ifdef TARGET_UNWIND_INFO
/* TODO: Move this into target file. */
fputs ("\t.personality\t", asm_out_file);