summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/machmode.h2
-rw-r--r--gcc/rtl.c3
3 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 64d18b41aa3..fd28d08a7af 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Fri Oct 23 04:06:57 1998 Richard Earnshaw (rearnsha@arm.com)
+
+ * machmode.h (mode_mask_array): No longer const.
+ * rtl.c (init_rtl): Fully initialize it if EXTRA_CC_MODES defined.
+
Fri Oct 23 11:19:06 1998 Martin v. Löwis <loewis@informatik.hu-berlin.de>
* frame.c: Somewhat explain `FDE'.
diff --git a/gcc/machmode.h b/gcc/machmode.h
index e8c17e01642..399e1b2f0df 100644
--- a/gcc/machmode.h
+++ b/gcc/machmode.h
@@ -196,7 +196,7 @@ extern int mode_unit_size[];
/* Get a bitmask containing 1 for all bits in a word
that fit within mode MODE. */
-extern const unsigned HOST_WIDE_INT mode_mask_array[];
+extern unsigned HOST_WIDE_INT mode_mask_array[];
#define GET_MODE_MASK(MODE) mode_mask_array[(int) (MODE)]
diff --git a/gcc/rtl.c b/gcc/rtl.c
index 2201c408d33..44e998b3723 100644
--- a/gcc/rtl.c
+++ b/gcc/rtl.c
@@ -122,7 +122,7 @@ unsigned char mode_wider_mode[(int) MAX_MACHINE_MODE] = {
/* Indexed by machine mode, gives mask of significant bits in mode. */
-const unsigned HOST_WIDE_INT mode_mask_array[(int) MAX_MACHINE_MODE] = {
+unsigned HOST_WIDE_INT mode_mask_array[(int) MAX_MACHINE_MODE] = {
#include "machmode.def"
};
@@ -901,6 +901,7 @@ init_rtl ()
for (i = (int) CCmode + 1; i < (int) MAX_MACHINE_MODE; i++)
{
mode_class[i] = MODE_CC;
+ mode_mask_array[i] = mode_mask_array[(int) CCmode];
mode_size[i] = mode_size[(int) CCmode];
mode_unit_size[i] = mode_unit_size[(int) CCmode];
mode_wider_mode[i - 1] = i;