aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2011-04-27 09:06:24 +0000
committerNick Clifton <nickc@gcc.gnu.org>2011-04-27 09:06:24 +0000
commite1ea745113840663b7aacd5b1b5abd4ad6f3d0bb (patch)
tree0f2212ef1250a4562b2caf9f8435154a6e6d9bce /gcc
parent5c2f94b4f51d7bff3ffce905dacd5c5e65995f3c (diff)
downloadgcc-e1ea745113840663b7aacd5b1b5abd4ad6f3d0bb.zip
gcc-e1ea745113840663b7aacd5b1b5abd4ad6f3d0bb.tar.gz
gcc-e1ea745113840663b7aacd5b1b5abd4ad6f3d0bb.tar.bz2
mcore.h (REGNO_REG_CLASS): Do not index beyond the end of the regno_reg_class array.
* config/mcore/mcore.h (REGNO_REG_CLASS): Do not index beyond the end of the regno_reg_class array. From-SVN: r173015
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/mcore/mcore.h2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3a358d9..9c06f8b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2011-04-27 Nick Clifton <nickc@redhat.com>
+
+ * config/mcore/mcore.h (REGNO_REG_CLASS): Do not index beyond the
+ end of the regno_reg_class array.
+
2011-04-27 Jakub Jelinek <jakub@redhat.com>
PR c/48742
diff --git a/gcc/config/mcore/mcore.h b/gcc/config/mcore/mcore.h
index 278a8cc..398dced 100644
--- a/gcc/config/mcore/mcore.h
+++ b/gcc/config/mcore/mcore.h
@@ -357,7 +357,7 @@ enum reg_class
or could index an array. */
extern const enum reg_class regno_reg_class[FIRST_PSEUDO_REGISTER];
-#define REGNO_REG_CLASS(REGNO) regno_reg_class[REGNO]
+#define REGNO_REG_CLASS(REGNO) ((REGNO) < FIRST_PSEUDO_REGISTER ? regno_reg_class[REGNO] : NO_REGS)
/* When this hook returns true for MODE, the compiler allows
registers explicitly used in the rtl to be used as spill registers