This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Patch to constify mode_name


        This patch constifies mode_name from modename.h/rtl.c.
Tested on Irix6.  Okay to install?

                --Kaveh



1999-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* machmode.h (mode_name): Constify a char*.
	
	* rtl.c (mode_name): Likewise.

	* genopinit.c (gen_insn): Use accessor macro, not `mode_name'.

	* optabs.c (init_libfuncs): Constify a char*.

	* print-tree.c (mode_name): Remove redundant declaration.
	(print_node): Use accessor macro, not `mode_name'.

	* reload1.c (dump_needs): Constify a char*.  Use accessor macro,
	not `mode_name'.
	(new_spill_reg): Constify a char*.

	* tree.c (mode_name): Remove redundant declaration.
	
diff -rup orig/egcs-CVS19990810/gcc/machmode.h egcs-CVS19990810/gcc/machmode.h
--- orig/egcs-CVS19990810/gcc/machmode.h	Thu Apr  8 10:21:35 1999
+++ egcs-CVS19990810/gcc/machmode.h	Wed Aug 11 13:51:54 1999
@@ -56,7 +56,7 @@ MAX_MACHINE_MODE };
 
 /* Get the name of mode MODE as a string.  */
 
-extern char *mode_name[];
+extern const char *mode_name[];
 #define GET_MODE_NAME(MODE)		(mode_name[(int) (MODE)])
 
 enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
diff -rup orig/egcs-CVS19990810/gcc/rtl.c egcs-CVS19990810/gcc/rtl.c
--- orig/egcs-CVS19990810/gcc/rtl.c	Wed Aug 11 13:51:08 1999
+++ egcs-CVS19990810/gcc/rtl.c	Wed Aug 11 13:51:38 1999
@@ -58,7 +58,7 @@ const char *rtx_name[] = {
 
 #define DEF_MACHMODE(SYM, NAME, CLASS, SIZE, UNIT, WIDER)  NAME,
 
-char *mode_name[(int) MAX_MACHINE_MODE + 1] = {
+const char *mode_name[(int) MAX_MACHINE_MODE + 1] = {
 #include "machmode.def"
 
 #ifdef EXTRA_CC_MODES
diff -rup orig/egcs-CVS19990810/gcc/genopinit.c egcs-CVS19990810/gcc/genopinit.c
--- orig/egcs-CVS19990810/gcc/genopinit.c	Wed Aug 11 13:51:07 1999
+++ egcs-CVS19990810/gcc/genopinit.c	Wed Aug 11 13:53:37 1999
@@ -200,7 +200,7 @@ gen_insn (insn)
                    CC modes (as it should be).  */
 		for (i = ((int) MAX_MACHINE_MODE) - 1; i >= 0; i--)
 		  {
-		    for (p = mode_name[i], q = np; *p; p++, q++)
+		    for (p = GET_MODE_NAME(i), q = np; *p; p++, q++)
 		      if (tolower ((unsigned char)*p) != *q)
 			break;
 
@@ -213,9 +213,9 @@ gen_insn (insn)
 		if (i < 0)
 		  matches = 0;
 		else if (*pp == 'a')
-		  m1 = i, np += strlen (mode_name[i]);
+		  m1 = i, np += strlen (GET_MODE_NAME(i));
 		else
-		  m2 = i, np += strlen (mode_name[i]);
+		  m2 = i, np += strlen (GET_MODE_NAME(i));
 
 		force_int = force_float = 0;
 		break;
@@ -254,18 +254,18 @@ gen_insn (insn)
 	  case 'I':  case 'F':  case 'N':
 	    break;
 	  case 'a':
-	    for (np = mode_name[m1]; *np; np++)
+	    for (np = GET_MODE_NAME(m1); *np; np++)
 	      printf ("%c", tolower ((unsigned char)*np));
 	    break;
 	  case 'b':
-	    for (np = mode_name[m2]; *np; np++)
+	    for (np = GET_MODE_NAME(m2); *np; np++)
 	      printf ("%c", tolower ((unsigned char)*np));
 	    break;
 	  case 'A':
-	    printf ("%smode", mode_name[m1]);
+	    printf ("%smode", GET_MODE_NAME(m1));
 	    break;
 	  case 'B':
-	    printf ("%smode", mode_name[m2]);
+	    printf ("%smode", GET_MODE_NAME(m2));
 	    break;
 	  case 'c':
 	    printf ("%s", GET_RTX_NAME(op));
diff -rup orig/egcs-CVS19990810/gcc/optabs.c egcs-CVS19990810/gcc/optabs.c
--- orig/egcs-CVS19990810/gcc/optabs.c	Mon Aug  9 15:42:07 1999
+++ egcs-CVS19990810/gcc/optabs.c	Wed Aug 11 13:55:28 1999
@@ -4395,7 +4395,7 @@ init_libfuncs (optable, first_mode, last
   for (mode = first_mode; (int) mode <= (int) last_mode;
        mode = (enum machine_mode) ((int) mode + 1))
     {
-      register char *mname = mode_name[(int) mode];
+      register const char *mname = GET_MODE_NAME(mode);
       register unsigned mname_len = strlen (mname);
       register char *libfunc_name
 	= (char *) xmalloc (2 + opname_len + mname_len + 1 + 1);
diff -rup orig/egcs-CVS19990810/gcc/print-tree.c egcs-CVS19990810/gcc/print-tree.c
--- orig/egcs-CVS19990810/gcc/print-tree.c	Mon Aug  9 07:42:24 1999
+++ egcs-CVS19990810/gcc/print-tree.c	Wed Aug 11 13:58:05 1999
@@ -23,8 +23,6 @@ Boston, MA 02111-1307, USA.  */
 #include "system.h"
 #include "tree.h"
 
-extern char *mode_name[];
-
 void print_node ();
 void indent_to ();
 
@@ -389,7 +387,7 @@ print_node (file, prefix, node, indent)
       if (DECL_LANG_FLAG_7 (node))
 	fputs (" decl_7", file);
 
-      fprintf (file, " %s", mode_name[(int) mode]);
+      fprintf (file, " %s", GET_MODE_NAME(mode));
 
       fprintf (file, " file %s line %d",
 	       DECL_SOURCE_FILE (node), DECL_SOURCE_LINE (node));
@@ -474,7 +472,7 @@ print_node (file, prefix, node, indent)
 	fputs (" type_6", file);
 
       mode = TYPE_MODE (node);
-      fprintf (file, " %s", mode_name[(int) mode]);
+      fprintf (file, " %s", GET_MODE_NAME(mode));
 
       print_node (file, "size", TYPE_SIZE (node), indent + 4);
       indent_to (file, indent + 3);
diff -rup orig/egcs-CVS19990810/gcc/reload1.c egcs-CVS19990810/gcc/reload1.c
--- orig/egcs-CVS19990810/gcc/reload1.c	Wed Aug 11 13:42:35 1999
+++ egcs-CVS19990810/gcc/reload1.c	Wed Aug 11 14:03:01 1999
@@ -2031,7 +2031,7 @@ dump_needs (chain, dumpfile)
      struct insn_chain *chain;
      FILE *dumpfile;
 {
-  static char *reg_class_names[] = REG_CLASS_NAMES;
+  static const char *reg_class_names[] = REG_CLASS_NAMES;
   int i;
   struct needs *n = &chain->need;
 
@@ -2051,7 +2051,7 @@ dump_needs (chain, dumpfile)
 	fprintf (dumpfile,
 		 ";; Need %d group%s (%smode) of class %s.\n",
 		 n->groups[i], n->groups[i] == 1 ? "" : "s",
-		 mode_name[(int) chain->group_mode[i]],
+		 GET_MODE_NAME(chain->group_mode[i]),
 		 reg_class_names[i]);
     }
 }
@@ -2292,7 +2292,7 @@ new_spill_reg (chain, i, class, nongroup
 
   if (TEST_HARD_REG_BIT (bad_spill_regs, regno))
     {
-      static char *reg_class_names[] = REG_CLASS_NAMES;
+      static const char *reg_class_names[] = REG_CLASS_NAMES;
 
       if (asm_noperands (PATTERN (chain->insn)) < 0)
 	{
diff -rup orig/egcs-CVS19990810/gcc/tree.c egcs-CVS19990810/gcc/tree.c
--- orig/egcs-CVS19990810/gcc/tree.c	Wed Aug  4 16:34:35 1999
+++ egcs-CVS19990810/gcc/tree.c	Wed Aug 11 14:00:52 1999
@@ -266,8 +266,6 @@ static void set_type_quals PROTO((tree, 
 static void append_random_chars PROTO((char *));
 static void build_real_from_int_cst_1 PROTO((PTR));
 
-extern char *mode_name[];
-
 void gcc_obstack_init ();
 
 /* Init the principal obstacks.  */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]