diff options
author | Marek Michalkiewicz <marekm@amelek.gda.pl> | 2005-03-20 22:12:08 +0100 |
---|---|---|
committer | Marek Michalkiewicz <marekm@gcc.gnu.org> | 2005-03-20 21:12:08 +0000 |
commit | 82b3eb42941c7a037182cec37b014a7574e46340 (patch) | |
tree | f1bacfc7c64a2374c138179f80d0120a7750f600 | |
parent | e7108df9b95aeab82d1f9659f93ceea5e1fd3fff (diff) | |
download | gcc-82b3eb42941c7a037182cec37b014a7574e46340.zip gcc-82b3eb42941c7a037182cec37b014a7574e46340.tar.gz gcc-82b3eb42941c7a037182cec37b014a7574e46340.tar.bz2 |
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: r96765
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/avr/avr.c | 8 |
2 files changed, 9 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 258526b..e2d494c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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-20 David Edelsohn <edelsohn@gnu.org> * config/rs6000/rs6000.c (rs6000_generate_compare): Test diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index 4d1a9ce..0f8f803 100644 --- a/gcc/config/avr/avr.c +++ b/gcc/config/avr/avr.c @@ -704,14 +704,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; @@ -727,7 +725,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 { |