From 37c67319e14b70957932cd33cb5b0a318213e01a Mon Sep 17 00:00:00 2001 From: Geoff Keating Date: Mon, 29 May 2000 05:18:03 +0000 Subject: rs6000.c (output_cbranch): Escape '%' characters so output_operand doesn't see them. * config/rs6000/rs6000.c (output_cbranch): Escape '%' characters so output_operand doesn't see them. From-SVN: r34244 --- gcc/ChangeLog | 5 +++++ gcc/config/rs6000/rs6000.c | 4 ++++ 2 files changed, 9 insertions(+) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0a6110a..28ccdfa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-05-28 Geoff Keating + + * config/rs6000/rs6000.c (output_cbranch): Escape '%' characters + so output_operand doesn't see them. + Sun May 28 18:37:07 2000 Clinton Popetz * lcm.c (make_preds_opaque): Fix comment. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 2ea0ae2..5a54253 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -4115,6 +4115,10 @@ output_cbranch (op, label, reversed, insn) else s += sprintf (s, "{b%s|b%s%s} ", ccode, ccode, pred); + /* We need to escape any '%' characters in the reg_names string. + Assume they'd only be the first character... */ + if (reg_names[cc_regno + CR0_REGNO][0] == '%') + *s++ = '%'; s += sprintf (s, "%s", reg_names[cc_regno + CR0_REGNO]); if (label != NULL) -- cgit v1.1