mcore.h (REGNO_REG_CLASS): Do not index beyond the end of the regno_reg_class array.
authorNick Clifton <nickc@redhat.com>
Wed, 27 Apr 2011 09:06:24 +0000 (09:06 +0000)
committerNick Clifton <nickc@gcc.gnu.org>
Wed, 27 Apr 2011 09:06:24 +0000 (09:06 +0000)
* config/mcore/mcore.h (REGNO_REG_CLASS): Do not index beyond the
end of the regno_reg_class array.

From-SVN: r173015

gcc/ChangeLog
gcc/config/mcore/mcore.h

index 3a358d9d75054cba09a86ef1235c15b7729bfab3..9c06f8be556317bf20cee2b450736c60e26fae70 100644 (file)
@@ -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
index 278a8ccf0dc179167cd70fc898d50c7dbc7712e3..398dcedfe22954072660bbd2cc1686067c864a3c 100644 (file)
@@ -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