aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGeoff Keating <geoffk@cygnus.com>2000-05-29 05:18:03 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2000-05-29 05:18:03 +0000
commit37c67319e14b70957932cd33cb5b0a318213e01a (patch)
tree01b6b690b784043b57e4728793fee0e6296a9e7a /gcc
parent1270c2550479c5b8d66a8879c7948dd694a3cc6e (diff)
downloadgcc-37c67319e14b70957932cd33cb5b0a318213e01a.zip
gcc-37c67319e14b70957932cd33cb5b0a318213e01a.tar.gz
gcc-37c67319e14b70957932cd33cb5b0a318213e01a.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/rs6000/rs6000.c4
2 files changed, 9 insertions, 0 deletions
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 <geoffk@cygnus.com>
+
+ * config/rs6000/rs6000.c (output_cbranch): Escape '%' characters
+ so output_operand doesn't see them.
+
Sun May 28 18:37:07 2000 Clinton Popetz <cpopetz@cygnus.com>
* 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)