diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 50fe87cc66c618058cda2d0451368a7922a45c68..d4abc1e85b749583bf5402732e56af891a4c9fab 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +Fri Aug 20 19:07:55 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * rtl.c (rtx_class, note_insn_name, reg_note_name): Constify. + + * rtl.h (rtx_class, reg_note_name, note_insn_name): Likewise. + + * genopinit.c (gen_insn): Use accessor macro, not `rtx_class'. + Fri Aug 20 18:53:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * rtl.h (rtx_format): Constify a char*. diff --git a/gcc/genopinit.c b/gcc/genopinit.c index c9dd88d5fef5226d17eef799a5ce6404cd082f32..31eecd2af8a334b6cf9552b187877cf8012a137a 100644 --- a/gcc/genopinit.c +++ b/gcc/genopinit.c @@ -183,7 +183,7 @@ gen_insn (insn) /* We have to be concerned about matching "gt" and missing "gtu", e.g., so verify we have reached the end of thing we are to match. */ - if (*p == 0 && *q == 0 && rtx_class[op] == '<') + if (*p == 0 && *q == 0 && GET_RTX_CLASS(op) == '<') break; } diff --git a/gcc/rtl.c b/gcc/rtl.c index 49f60353810292337f98f8798eaa4f41b3227e28..bf997509f7823314d4cd1605f741f89298405a23 100644 --- a/gcc/rtl.c +++ b/gcc/rtl.c @@ -167,7 +167,7 @@ const char *rtx_format[] = { /* Indexed by rtx code, gives a character representing the "class" of that rtx code. See rtl.def for documentation on the defined classes. */ -char rtx_class[] = { +const char rtx_class[] = { #define DEF_RTL_EXPR(ENUM, NAME, FORMAT, CLASS) CLASS, #include "rtl.def" /* rtl expressions are defined here */ #undef DEF_RTL_EXPR @@ -175,7 +175,7 @@ char rtx_class[] = { /* Names for kinds of NOTEs and REG_NOTEs. */ -char *note_insn_name[] = { 0 , "NOTE_INSN_DELETED", +const char * const note_insn_name[] = { 0 , "NOTE_INSN_DELETED", "NOTE_INSN_BLOCK_BEG", "NOTE_INSN_BLOCK_END", "NOTE_INSN_LOOP_BEG", "NOTE_INSN_LOOP_END", "NOTE_INSN_FUNCTION_END", "NOTE_INSN_SETJMP", @@ -187,7 +187,7 @@ char *note_insn_name[] = { 0 , "NOTE_INSN_DELETED", "NOTE_INSN_RANGE_END", "NOTE_INSN_LIVE", "NOTE_INSN_BASIC_BLOCK" }; -char *reg_note_name[] = { "", "REG_DEAD", "REG_INC", "REG_EQUIV", "REG_WAS_0", +const char * const reg_note_name[] = { "", "REG_DEAD", "REG_INC", "REG_EQUIV", "REG_WAS_0", "REG_EQUAL", "REG_RETVAL", "REG_LIBCALL", "REG_NONNEG", "REG_NO_CONFLICT", "REG_UNUSED", "REG_CC_SETTER", "REG_CC_USER", "REG_LABEL", diff --git a/gcc/rtl.h b/gcc/rtl.h index a5cb3870ec80b624a5a81bc004753f6321ba869f..381e66d74d339cb76c59dfd7f24fd835f6bfb95e 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -57,7 +57,7 @@ extern const char * const rtx_name[]; extern const char *rtx_format[]; #define GET_RTX_FORMAT(CODE) (rtx_format[(int) (CODE)]) -extern char rtx_class[]; +extern const char rtx_class[]; #define GET_RTX_CLASS(CODE) (rtx_class[(int) (CODE)]) /* The flags and bitfields of an ADDR_DIFF_VEC. BASE is the base label @@ -378,7 +378,7 @@ enum reg_note { REG_DEAD = 1, REG_INC = 2, REG_EQUIV = 3, REG_WAS_0 = 4, /* Names for REG_NOTE's in EXPR_LIST insn's. */ -extern char *reg_note_name[]; +extern const char * const reg_note_name[]; #define GET_REG_NOTE_NAME(MODE) (reg_note_name[(int) (MODE)]) /* This field is only present on CALL_INSNs. It holds a chain of EXPR_LIST of @@ -479,7 +479,7 @@ extern char *reg_note_name[]; /* Names for NOTE insn's other than line numbers. */ -extern char *note_insn_name[]; +extern const char * const note_insn_name[]; #define GET_NOTE_INSN_NAME(NOTE_CODE) (note_insn_name[-(NOTE_CODE)]) /* The name of a label, in case it corresponds to an explicit label