except.c (output_function_exception_table): Do not reference the EH personality routi...
authorMark Mitchell <mark@codesourcery.com>
Tue, 20 Mar 2007 03:16:25 +0000 (03:16 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Tue, 20 Mar 2007 03:16:25 +0000 (03:16 +0000)
* except.c (output_function_exception_table): Do not reference the
EH personality routine for functions that do not require an
exception table.

From-SVN: r123082

gcc/ChangeLog
gcc/except.c

index 849ab9045559bebbee5c27501e6c564e5294b4e7..4589400a77a5dfcc8838b7ed5ac084ef0c7c4945 100644 (file)
@@ -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
index 915059c39717524fb7c455907d36811103988400..e6c1b48f49a8792904b0e43c510137e041694209 100644 (file)
@@ -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);