From: Marek Michalkiewicz Date: Sun, 20 Mar 2005 21:14:28 +0000 (+0100) Subject: re PR target/18551 (wrong asm output for -mcall-prologues with g++) X-Git-Tag: releases/gcc-3.4.4~139 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d5880f69d63ef193189dd776c98e900ec210b0ac;p=thirdparty%2Fgcc.git re PR target/18551 (wrong asm output for -mcall-prologues with g++) 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 90281cc63641..c6357259836d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-03-20 Marek Michalkiewicz + + 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 * c.opt (ansi, std=iso9899:1990, std=iso9899:1999, diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index 6b623daee8e6..e65a98b444c5 100644 --- a/gcc/config/avr/avr.c +++ b/gcc/config/avr/avr.c @@ -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 {