aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@cygnus.co.uk>2000-03-09 16:07:33 +0000
committerBernd Schmidt <crux@gcc.gnu.org>2000-03-09 16:07:33 +0000
commit37c5269a9f449dcba7506876258aa75548c5766b (patch)
tree4c49dd90dfaf22c5b7df7ce9115e1485fb67a5c9 /gcc
parentaa5524a98e895542d7ce243bca3f3f0646f1ccb6 (diff)
downloadgcc-37c5269a9f449dcba7506876258aa75548c5766b.zip
gcc-37c5269a9f449dcba7506876258aa75548c5766b.tar.gz
gcc-37c5269a9f449dcba7506876258aa75548c5766b.tar.bz2
Fix a bug in preprocess_constraints
From-SVN: r32447
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/recog.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c721bf5..824e4d4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2000-03-09 Bernd Schmidt <bernds@cygnus.co.uk>
+ * recog.c (preprocess_constraints): Matching constraints affect
+ same alternative/different operand, not same operand/different
+ alternative.
+
* reload1.c (eliminate_regs_in_insn): Handle additions of eliminable
register and a constant specially.
diff --git a/gcc/recog.c b/gcc/recog.c
index 56f8634..c732dc2 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -2131,7 +2131,7 @@ preprocess_constraints ()
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
op_alt[j].matches = c - '0';
- op_alt[op_alt[j].matches].matched = i;
+ recog_op_alt[op_alt[j].matches][j].matched = i;
break;
case 'm':