From d5880f69d63ef193189dd776c98e900ec210b0ac Mon Sep 17 00:00:00 2001 From: Marek Michalkiewicz Date: Sun, 20 Mar 2005 22:14:28 +0100 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/config/avr/avr.c | 8 +++----- 2 files changed, 9 insertions(+), 5 deletions(-) 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 { -- 2.47.2