]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/18551 (wrong asm output for -mcall-prologues with g++)
authorMarek Michalkiewicz <marekm@amelek.gda.pl>
Sun, 20 Mar 2005 21:14:28 +0000 (22:14 +0100)
committerMarek Michalkiewicz <marekm@gcc.gnu.org>
Sun, 20 Mar 2005 21:14:28 +0000 (21:14 +0000)
PR target/18551
* config/avr/avr.c (avr_output_function_prologue): Do not use
current_function_name() in a label, use a local label instead.

From-SVN: r96767

gcc/ChangeLog
gcc/config/avr/avr.c

index 90281cc6364155f6bf6fcf74ab0b1a659dad488b..c6357259836d3d3fb41c3e8bdbbd25495f619693 100644 (file)
@@ -1,3 +1,9 @@
+2005-03-20  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+
+       PR target/18551
+       * config/avr/avr.c (avr_output_function_prologue): Do not use
+       current_function_name() in a label, use a local label instead.
+
 2005-03-19  Joseph S. Myers  <joseph@codesourcery.com>
 
        * c.opt (ansi, std=iso9899:1990, std=iso9899:1999,
index 6b623daee8e6defd08590a756c715f2165d40786..e65a98b444c5b9a6ab502f3677243d255debd2d9 100644 (file)
@@ -660,14 +660,12 @@ avr_output_function_prologue (FILE *file, HOST_WIDE_INT size)
     }
   else if (minimize && (frame_pointer_needed || live_seq > 6)) 
     {
-      const char *cfun_name = current_function_name ();
       fprintf (file, ("\t"
                      AS1 (ldi, r26) ",lo8(" HOST_WIDE_INT_PRINT_DEC ")" CR_TAB
                      AS1 (ldi, r27) ",hi8(" HOST_WIDE_INT_PRINT_DEC ")" CR_TAB), size, size);
 
-      fprintf (file, (AS2 (ldi, r30, pm_lo8(.L_%s_body)) CR_TAB
-                     AS2 (ldi, r31, pm_hi8(.L_%s_body)) CR_TAB),
-              cfun_name, cfun_name);
+      fputs ((AS2 (ldi,r30,pm_lo8(1f)) CR_TAB
+             AS2 (ldi,r31,pm_hi8(1f)) CR_TAB), file);
       
       prologue_size += 4;
       
@@ -683,7 +681,7 @@ avr_output_function_prologue (FILE *file, HOST_WIDE_INT size)
                   (18 - live_seq) * 2);
          ++prologue_size;
        }
-      fprintf (file, ".L_%s_body:\n", cfun_name);
+      fputs ("1:\n", file);
     }
   else
     {