aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-05-27 13:03:31 -0700
committerRichard Henderson <rth@gcc.gnu.org>2000-05-27 13:03:31 -0700
commit892ecf921f5bb5af0e03290433dc2e7dce487ff7 (patch)
treec288b6568107b935988f476e8bb888719c947d7e /gcc
parentd96a2fcdf0ae6ce1a758179a6ec72ec51877420c (diff)
downloadgcc-892ecf921f5bb5af0e03290433dc2e7dce487ff7.zip
gcc-892ecf921f5bb5af0e03290433dc2e7dce487ff7.tar.gz
gcc-892ecf921f5bb5af0e03290433dc2e7dce487ff7.tar.bz2
gensupport.c (collect_insn_data): Record the maximum number of alternatives, not the last seen.
* gensupport.c (collect_insn_data): Record the maximum number of alternatives, not the last seen. From-SVN: r34206
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/gensupport.c3
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 99e865b..74b7cb3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
2000-05-27 Richard Henderson <rth@cygnus.com>
+ * gensupport.c (collect_insn_data): Record the maximum number
+ of alternatives, not the last seen.
+
* genoutput.c: Don't include errors.h.
(struct data): Add lineno member.
(have_error): New.
diff --git a/gcc/gensupport.c b/gcc/gensupport.c
index b475523..f25b800 100644
--- a/gcc/gensupport.c
+++ b/gcc/gensupport.c
@@ -415,7 +415,8 @@ collect_insn_data (pattern, palt, pmax)
switch (code)
{
case MATCH_OPERAND:
- *palt = n_alternatives (XSTR (pattern, 2));
+ i = n_alternatives (XSTR (pattern, 2));
+ *palt = (i > *palt ? i : *palt);
/* FALLTHRU */
case MATCH_OPERATOR: