+2004-10-27  Richard Sandiford  <rsandifo@redhat.com>
+
+       * dbxout.c (dbxout_source_line): Move declaration of begin_label to
+       the block that needs it.
+
 2004-10-27  Zack Weinberg  <zack@codesourcery.com>
 
        * dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
 
 static void
 dbxout_source_line (unsigned int lineno, const char *filename)
 {
-  const char *begin_label = XSTR(XEXP(DECL_RTL(current_function_decl), 0), 0);
-
   dbxout_source_file (filename);
 
 #ifdef DBX_OUTPUT_SOURCE_LINE
 #else
   if (DBX_LINES_FUNCTION_RELATIVE)
     {
+      rtx begin_label = XEXP (DECL_RTL (current_function_decl), 0);
       dbxout_begin_stabn_sline (lineno);
       dbxout_stab_value_internal_label_diff ("LM", &dbxout_source_line_counter,
-                                            begin_label);
+                                            XSTR (begin_label, 0));
 
     }
   else