* except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
authorRichard Earnshaw <rearnsha@arm.com>
Fri, 14 Nov 2003 10:44:08 +0000 (10:44 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Fri, 14 Nov 2003 10:44:08 +0000 (10:44 +0000)
From-SVN: r73598

gcc/ChangeLog
gcc/except.c

index 5483e8dc4185e79529102d525caff7ccf9b522ff..3052afe92b9ba1cfe5fd579434134d553d3ee592 100644 (file)
@@ -1,3 +1,7 @@
+2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
+
+       * except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
+
 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
 
        * arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C 
index edbcda10cf48e432afece1449e82385076919065..5958eae290f54e48b12289226e953cc166797056 100644 (file)
@@ -2047,8 +2047,12 @@ sjlj_emit_function_enter (rtx dispatch_label)
   if (cfun->uses_eh_lsda)
     {
       char buf[20];
+      rtx sym;
+
       ASM_GENERATE_INTERNAL_LABEL (buf, "LLSDA", current_function_funcdef_no);
-      emit_move_insn (mem, gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf)));
+      sym = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf));
+      SYMBOL_REF_FLAGS (sym) = SYMBOL_FLAG_LOCAL;
+      emit_move_insn (mem, sym);
     }
   else
     emit_move_insn (mem, const0_rtx);