* rtl.h (rtunion_def): Constify member `rtstr'.
authorghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 7 Mar 2000 20:39:10 +0000 (20:39 +0000)
committerghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 7 Mar 2000 20:39:10 +0000 (20:39 +0000)
(emit_line_note_after, emit_line_note, emit_line_note_force,
emit_note, decode_asm_operands): Constify.

* cse.c (canon_hash): Likewise.

* dbxout.c (dbxout_block): Likewise.

* diagnostic.c (file_and_line_for_asm, v_error_for_asm,
v_warning_for_asm): Likewise.

* dwarfout.c (function_start_label): Likewise.

* emit-rtl.c (emit_line_note_after, emit_line_note, emit_note,
emit_line_note_force): Likewise.

* final.c (last_filename, asm_insn_count, final_scan_insn,
output_source_line): Likewise.

* function.h (struct emit_status): Likewise.

* gcse.c (hash_expr_1): Likewise.

* genattr.c (gen_attr, main): Likewise.

* genattrtab.c (struct function_unit, current_alternative_string,
write_attr_valueq, n_comma_elts, next_comma_elt, attr_eq,
attr_numeral, check_attr_test, check_attr_value,
convert_set_attr_alternative, convert_set_attr,
compute_alternative_mask, simplify_by_exploding, gen_attr,
gen_unit): Likewise.

* genflags.c (gen_insn): Likewise.

* gengenrtl.c (type_from_format): Likewise.

* genopinit.c (gen_insn): Likewise.

* genoutput.c (n_occurrences, process_template, process_template):
Likewise.

* ggc-page.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size):
Likewise.

* ggc-simple.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size):
Likewise.

* ggc.h (ggc_mark_string, ggc_mark, ggc_mark_if_gcable,
ggc_set_mark, ggc_get_size): Likewise.

* objc/objc-act.c (build_module_descriptor, finish_objc): Likewise.

* optabs.c (init_one_libfunc): Likewise.

* output.h (assemble_start_function): Likewise.

* recog.c (decode_asm_operands): Likewise.

* toplev.c (rest_of_compilation): Likewise.

* tree.h (emit_line_note_after, emit_line_note,
emit_line_note_force): Likewise.

* varasm.c (asm_output_bss, asm_output_aligned_bss,
asm_emit_uninitialised, assemble_start_function,
assemble_variable, const_hash, compare_constant_1,
find_pool_constant, mark_constant_pool, assemble_alias): Likewise.

* xcoffout.h (DBX_FINISH_SYMBOL): Likewise.

* alpha/alpha.md (call_vms, call_value_vms): Likewise.

* arm/aof.h (ASM_OUTPUT_ASCII): Likewise.

* arm/aout.h (ASM_OUTPUT_ASCII): Likewise.

* arm/arm-protos.h (output_ascii_pseudo_op, arm_dllexport_name_p,
arm_dllimport_name_p): Likewise.

* arm/arm.c (arm_encode_call_attribute, output_ascii_pseudo_op):
Likewise.

* arm/arm.h (ASM_OUTPUT_MI_THUNK): Likewise.

* arm/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

* arm/pe.c (arm_dllexport_name_p, arm_dllimport_name_p,
arm_mark_dllexport, arm_mark_dllimport,
arm_pe_encode_section_info): Likewise.

* arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS,
ASM_FINISH_DECLARE_OBJECT): Likewise.

* arm/thumb.c (thumb_function_prologue): Likewise.

* arm/thumb.h (ASM_OUTPUT_ASCII): Likewise.

* avr/avr.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

* clipper/clix.h (ASM_OUTPUT_ASCII): Likewise.

* fx80/fx80.h (ASM_OUTPUT_ASCII): Likewise.

* i386/cygwin.h (ASM_OUTPUT_SECTION_NAME): Likewise.

* i386/freebsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

* i386/i386-interix.h (ASM_OUTPUT_LIMITED_STRING,
ASM_OUTPUT_ASCII, ASM_OUTPUT_SECTION_NAME): Likewise.

* i386/i386-protos.h (asm_output_function_prefix): Likewise.

* i386/i386.c (asm_output_function_prefix): Likewise.

* i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.

* i386/osfrose.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

* i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.

* i386/sco5.h (ASM_FINISH_DECLARE_OBJECT,
ASM_OUTPUT_LIMITED_STRING, ASM_OUTPUT_ASCII,
ASM_OUTPUT_SECTION_NAME): Likewise.

* i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.

* i860/paragon.h (ASM_OUTPUT_ASCII): Likewise.

* i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.

* m32r/m32r.c (m32r_encode_section_info): Likewise.

* mcore-elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

* mcore/mcore.c (mcore_encode_section_info): Likewise.

* mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

* mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

* mips/iris6.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

* mips/mips.h (ASM_OUTPUT_IDENT): Likewise.

* mips/mips.md (movdi, movsi): Likewise.

* mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

* netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

* openbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

* ptx4.h (ASM_FINISH_DECLARE_OBJECT, ASM_OUTPUT_LIMITED_STRING,
ASM_OUTPUT_ASCII): Likewise.

* rs6000/rs6000.c (rs6000_allocate_stack_space, output_epilog,
output_mi_thunk, output_toc): Likewise.

* rs6000/rs6000.md (movsi): Likewise.

* rs6000/sysv4.h (ASM_OUTPUT_INT, ASM_OUTPUT_SECTION_NAME): Likewise.

* tahoe/harris.h (ASM_OUTPUT_ASCII): Likewise.

* v850/v850.c (print_operand, print_operand_address,
v850_encode_data_area): Likewise.

ch:
* grant.c (globalize_decl): Constify a char*.

cp:
* decl2.c (finish_objects): Constify a char*.

* method.c (emit_thunk): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32388 138bc75d-0d04-0410-961f-82ee72b054a4

75 files changed:
gcc/ChangeLog
gcc/ch/ChangeLog
gcc/ch/grant.c
gcc/config/alpha/alpha.md
gcc/config/arm/aof.h
gcc/config/arm/aout.h
gcc/config/arm/arm-protos.h
gcc/config/arm/arm.c
gcc/config/arm/arm.h
gcc/config/arm/elf.h
gcc/config/arm/pe.c
gcc/config/arm/telf.h
gcc/config/arm/thumb.c
gcc/config/arm/thumb.h
gcc/config/avr/avr.h
gcc/config/clipper/clix.h
gcc/config/fx80/fx80.h
gcc/config/i386/cygwin.h
gcc/config/i386/freebsd.h
gcc/config/i386/i386-interix.h
gcc/config/i386/i386-protos.h
gcc/config/i386/i386.c
gcc/config/i386/i386elf.h
gcc/config/i386/osfrose.h
gcc/config/i386/ptx4-i.h
gcc/config/i386/sco5.h
gcc/config/i386/sysv4.h
gcc/config/i860/paragon.h
gcc/config/i860/sysv3.h
gcc/config/m32r/m32r.c
gcc/config/mcore/mcore-elf.h
gcc/config/mcore/mcore.c
gcc/config/mips/elf.h
gcc/config/mips/elf64.h
gcc/config/mips/iris6.h
gcc/config/mips/mips.h
gcc/config/mips/mips.md
gcc/config/mips/netbsd.h
gcc/config/netbsd.h
gcc/config/openbsd.h
gcc/config/ptx4.h
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.md
gcc/config/rs6000/sysv4.h
gcc/config/tahoe/harris.h
gcc/config/v850/v850.c
gcc/cp/ChangeLog
gcc/cp/decl2.c
gcc/cp/method.c
gcc/cse.c
gcc/dbxout.c
gcc/diagnostic.c
gcc/dwarfout.c
gcc/emit-rtl.c
gcc/final.c
gcc/function.h
gcc/gcse.c
gcc/genattr.c
gcc/genattrtab.c
gcc/genflags.c
gcc/gengenrtl.c
gcc/genopinit.c
gcc/genoutput.c
gcc/ggc-page.c
gcc/ggc-simple.c
gcc/ggc.h
gcc/objc/objc-act.c
gcc/optabs.c
gcc/output.h
gcc/recog.c
gcc/rtl.h
gcc/toplev.c
gcc/tree.h
gcc/varasm.c
gcc/xcoffout.h

index d0ab646..675e24a 100644 (file)
@@ -1,3 +1,172 @@
+2000-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * rtl.h (rtunion_def): Constify member `rtstr'.
+       (emit_line_note_after, emit_line_note, emit_line_note_force,
+       emit_note, decode_asm_operands): Constify.
+       
+       * cse.c (canon_hash): Likewise.
+
+       * dbxout.c (dbxout_block): Likewise.
+
+       * diagnostic.c (file_and_line_for_asm, v_error_for_asm,
+       v_warning_for_asm): Likewise.
+
+       * dwarfout.c (function_start_label): Likewise.
+
+       * emit-rtl.c (emit_line_note_after, emit_line_note, emit_note,
+       emit_line_note_force): Likewise.
+
+       * final.c (last_filename, asm_insn_count, final_scan_insn,
+       output_source_line): Likewise.
+
+       * function.h (struct emit_status): Likewise.
+
+       * gcse.c (hash_expr_1): Likewise.
+
+       * genattr.c (gen_attr, main): Likewise.
+
+       * genattrtab.c (struct function_unit, current_alternative_string,
+       write_attr_valueq, n_comma_elts, next_comma_elt, attr_eq,
+       attr_numeral, check_attr_test, check_attr_value,
+       convert_set_attr_alternative, convert_set_attr,
+       compute_alternative_mask, simplify_by_exploding, gen_attr,
+       gen_unit): Likewise.
+
+       * genflags.c (gen_insn): Likewise.
+
+       * gengenrtl.c (type_from_format): Likewise.
+
+       * genopinit.c (gen_insn): Likewise.
+
+       * genoutput.c (n_occurrences, process_template, process_template):
+       Likewise.
+
+       * ggc-page.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size):
+       Likewise.
+
+       * ggc-simple.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size):
+       Likewise.
+
+       * ggc.h (ggc_mark_string, ggc_mark, ggc_mark_if_gcable,
+       ggc_set_mark, ggc_get_size): Likewise.
+
+       * objc/objc-act.c (build_module_descriptor, finish_objc): Likewise.
+
+       * optabs.c (init_one_libfunc): Likewise.
+
+       * output.h (assemble_start_function): Likewise.
+
+       * recog.c (decode_asm_operands): Likewise.
+
+       * toplev.c (rest_of_compilation): Likewise.
+
+       * tree.h (emit_line_note_after, emit_line_note,
+       emit_line_note_force): Likewise.
+
+       * varasm.c (asm_output_bss, asm_output_aligned_bss,
+       asm_emit_uninitialised, assemble_start_function,
+       assemble_variable, const_hash, compare_constant_1,
+       find_pool_constant, mark_constant_pool, assemble_alias): Likewise.
+
+       * xcoffout.h (DBX_FINISH_SYMBOL): Likewise.
+
+       * alpha/alpha.md (call_vms, call_value_vms): Likewise.
+
+       * arm/aof.h (ASM_OUTPUT_ASCII): Likewise.
+
+       * arm/aout.h (ASM_OUTPUT_ASCII): Likewise.
+
+       * arm/arm-protos.h (output_ascii_pseudo_op, arm_dllexport_name_p,
+       arm_dllimport_name_p): Likewise.
+
+       * arm/arm.c (arm_encode_call_attribute, output_ascii_pseudo_op):
+       Likewise.
+
+       * arm/arm.h (ASM_OUTPUT_MI_THUNK): Likewise.
+
+       * arm/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+
+       * arm/pe.c (arm_dllexport_name_p, arm_dllimport_name_p,
+       arm_mark_dllexport, arm_mark_dllimport,
+       arm_pe_encode_section_info): Likewise.
+
+       * arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS,
+       ASM_FINISH_DECLARE_OBJECT): Likewise.
+
+       * arm/thumb.c (thumb_function_prologue): Likewise.
+
+       * arm/thumb.h (ASM_OUTPUT_ASCII): Likewise.
+
+       * avr/avr.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+
+       * clipper/clix.h (ASM_OUTPUT_ASCII): Likewise.
+
+       * fx80/fx80.h (ASM_OUTPUT_ASCII): Likewise.
+
+       * i386/cygwin.h (ASM_OUTPUT_SECTION_NAME): Likewise.
+
+       * i386/freebsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+
+       * i386/i386-interix.h (ASM_OUTPUT_LIMITED_STRING,
+       ASM_OUTPUT_ASCII, ASM_OUTPUT_SECTION_NAME): Likewise.
+
+       * i386/i386-protos.h (asm_output_function_prefix): Likewise.
+
+       * i386/i386.c (asm_output_function_prefix): Likewise.
+
+       * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
+
+       * i386/osfrose.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+
+       * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
+
+       * i386/sco5.h (ASM_FINISH_DECLARE_OBJECT,
+       ASM_OUTPUT_LIMITED_STRING, ASM_OUTPUT_ASCII,
+       ASM_OUTPUT_SECTION_NAME): Likewise.
+
+       * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
+
+       * i860/paragon.h (ASM_OUTPUT_ASCII): Likewise.
+
+       * i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
+
+       * m32r/m32r.c (m32r_encode_section_info): Likewise.
+
+       * mcore-elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+
+       * mcore/mcore.c (mcore_encode_section_info): Likewise.
+
+       * mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+
+       * mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+
+       * mips/iris6.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+
+       * mips/mips.h (ASM_OUTPUT_IDENT): Likewise.
+
+       * mips/mips.md (movdi, movsi): Likewise.
+
+       * mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+
+       * netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+
+       * openbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+
+       * ptx4.h (ASM_FINISH_DECLARE_OBJECT, ASM_OUTPUT_LIMITED_STRING,
+       ASM_OUTPUT_ASCII): Likewise.
+
+       * rs6000/rs6000.c (rs6000_allocate_stack_space, output_epilog,
+       output_mi_thunk, output_toc): Likewise.
+
+       * rs6000/rs6000.md (movsi): Likewise.
+
+       * rs6000/sysv4.h (ASM_OUTPUT_INT, ASM_OUTPUT_SECTION_NAME): Likewise.
+
+       * tahoe/harris.h (ASM_OUTPUT_ASCII): Likewise.
+
+       * v850/v850.c (print_operand, print_operand_address,
+       v850_encode_data_area): Likewise.
+
 2000-03-07  Clinton Popetz  <cpopetz@cygnus.com>
        
        * config/mips/mips.md (zero_extendsidi2): Always force operand
index 360fcc1..3a4e22f 100644 (file)
@@ -1,3 +1,7 @@
+2000-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * grant.c (globalize_decl): Constify a char*.
+
 Mon Mar  6 17:52:48 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * actions.c (chill_convert_for_assignment): INDEX is unsigned
index b0e7e5c..ddd8f93 100644 (file)
@@ -2546,7 +2546,7 @@ globalize_decl (decl)
     {
       extern   FILE    *asm_out_file;
       extern   char    *first_global_object_name;
-      char             *name = XSTR (XEXP (DECL_RTL (decl), 0), 0);
+      const char       *name = XSTR (XEXP (DECL_RTL (decl), 0), 0);
        
       if (!first_global_object_name)
        first_global_object_name = name + (name[0] == '*');
index 129352f..ed4abe0 100644 (file)
   if (GET_CODE (operands[0]) == SYMBOL_REF)
     {
       extern char *savealloc ();
-      char *linksym, *symbol = XSTR (operands[0], 0);
+      const char *symbol = XSTR (operands[0], 0);
+      char *linksym;
       rtx linkage;
 
       if (*symbol == '*')
   if (GET_CODE (operands[1]) == SYMBOL_REF)
     {
       extern char *savealloc ();
-      char *linksym, *symbol = XSTR (operands[1], 0);
+      const char *symbol = XSTR (operands[1], 0);
+      char *linksym;
       rtx linkage;
 
       if (*symbol == '*')
index 9f67fc3..a25a311 100644 (file)
@@ -272,7 +272,7 @@ do {                                                        \
 #define ASM_OUTPUT_ASCII(STREAM,PTR,LEN)               \
 {                                                      \
   int i;                                               \
-  char *ptr = (PTR);                                   \
+  const char *ptr = (PTR);                             \
   fprintf ((STREAM), "\tDCB");                         \
   for (i = 0; i < (LEN); i++)                          \
     fprintf ((STREAM), " &%02x%s",                     \
index 79003d2..850a681 100644 (file)
@@ -252,7 +252,7 @@ Boston, MA 02111-1307, USA.  */
   fprintf (STREAM, "\t.byte\t%d\n", VALUE)
 
 #define ASM_OUTPUT_ASCII(STREAM, PTR, LEN)  \
-  output_ascii_pseudo_op (STREAM, (unsigned char *)(PTR), LEN)
+  output_ascii_pseudo_op (STREAM, (const unsigned char *)(PTR), LEN)
 
 /* Output a gap.  In fact we fill it with nulls.  */
 #define ASM_OUTPUT_SKIP(STREAM, NBYTES)        \
index d19aa71..1414003 100644 (file)
@@ -30,7 +30,7 @@ extern int    arm_regno_class                         PARAMS ((int));
 extern int    arm_volatile_func                        PARAMS ((void));
 extern int    const_ok_for_arm                 PARAMS ((HOST_WIDE_INT));
 extern void   output_arm_prologue              PARAMS ((FILE *, int));
-extern void   output_ascii_pseudo_op           PARAMS ((FILE *, unsigned char *, int));
+extern void   output_ascii_pseudo_op           PARAMS ((FILE *, const unsigned char *, int));
 extern void   output_func_epilogue             PARAMS ((int));
 extern void   output_func_prologue             PARAMS ((FILE *, int));
 extern int    use_return_insn                  PARAMS ((int));
@@ -44,8 +44,8 @@ extern void   aof_dump_pic_table              PARAMS ((FILE *));
 extern char * aof_text_section                 PARAMS ((void));
 #endif /* AOF_ASSEMBLER */
 /* Defined in pe.c */
-extern int    arm_dllexport_name_p             PARAMS ((char *));
-extern int    arm_dllimport_name_p             PARAMS ((char *));
+extern int    arm_dllexport_name_p             PARAMS ((const char *));
+extern int    arm_dllimport_name_p             PARAMS ((const char *));
 
 #define Mmode enum machine_mode
 
index ffa26bb..beabef7 100644 (file)
@@ -1638,7 +1638,7 @@ arm_encode_call_attribute (decl, flag)
   tree decl;
   char flag;
 {
-  char * str = XSTR (XEXP (DECL_RTL (decl), 0), 0);
+  const char * str = XSTR (XEXP (DECL_RTL (decl), 0), 0);
   int    len = strlen (str);
   char * newstr;
 
@@ -5544,7 +5544,7 @@ int_log2 (power)
 void
 output_ascii_pseudo_op (stream, p, len)
      FILE * stream;
-     unsigned char * p;
+     const unsigned char * p;
      int len;
 {
   int i;
index c20d82b..9ad97c2 100644 (file)
@@ -2240,7 +2240,7 @@ extern struct rtx_def * arm_compare_op1;
   do                                                                           \
     {                                                                          \
       int mi_delta = (DELTA);                                                  \
-      char * mi_op = mi_delta < 0 ? "sub" : "add";                             \
+      const char *mi_op = mi_delta < 0 ? "sub" : "add";                                \
       int shift = 0;                                                           \
       int this_regno = (aggregate_value_p (TREE_TYPE (TREE_TYPE (FUNCTION)))   \
                        ? 1 : 0);                                               \
index b95c7fb..893350f 100644 (file)
@@ -106,7 +106,7 @@ Boston, MA 02111-1307, USA.  */
 #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END)       \
   do                                                                   \
     {                                                                  \
-      char * name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);               \
+      const char * name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);         \
       if (!flag_inhibit_size_directive && DECL_SIZE (DECL)             \
           && ! AT_END && TOP_LEVEL                                     \
          && DECL_INITIAL (DECL) == error_mark_node                     \
index 90158ff..bb01fd2 100644 (file)
@@ -237,7 +237,7 @@ arm_dllimport_p (decl)
 
 int
 arm_dllexport_name_p (symbol)
-     char * symbol;
+     const char * symbol;
 {
   return symbol[0] == ARM_PE_FLAG_CHAR && symbol[1] == 'e' && symbol[2] == '.';
 }
@@ -246,7 +246,7 @@ arm_dllexport_name_p (symbol)
 
 int
 arm_dllimport_name_p (symbol)
-     char * symbol;
+     const char * symbol;
 {
   return symbol[0] == ARM_PE_FLAG_CHAR && symbol[1] == 'i' && symbol[2] == '.';
 }
@@ -258,7 +258,7 @@ void
 arm_mark_dllexport (decl)
      tree decl;
 {
-  char * oldname;
+  const char * oldname;
   char * newname;
   rtx rtlname;
   tree idp;
@@ -296,7 +296,7 @@ void
 arm_mark_dllimport (decl)
      tree decl;
 {
-  char * oldname;
+  const char * oldname;
   char * newname;
   tree idp;
   rtx rtlname, newrtl;
@@ -395,7 +395,7 @@ arm_pe_encode_section_info (decl)
           && GET_CODE (XEXP (XEXP (DECL_RTL (decl), 0), 0)) == SYMBOL_REF
           && arm_dllimport_name_p (XSTR (XEXP (XEXP (DECL_RTL (decl), 0), 0), 0)))
     {
-      char *oldname = XSTR (XEXP (XEXP (DECL_RTL (decl), 0), 0), 0);
+      const char *oldname = XSTR (XEXP (XEXP (DECL_RTL (decl), 0), 0), 0);
       tree idp = get_identifier (oldname + 9);
       rtx newrtl = gen_rtx (SYMBOL_REF, Pmode, IDENTIFIER_POINTER (idp));
 
index bb199ac..e1a5cb1 100644 (file)
@@ -175,8 +175,8 @@ extern int arm_structure_size_boundary;
 #define ASM_OUTPUT_DEF_FROM_DECLS(FILE,DECL1,DECL2)            \
   do                                                           \
     {                                                          \
-      char * LABEL1 = XSTR (XEXP (DECL_RTL (decl), 0), 0);     \
-      char * LABEL2 = IDENTIFIER_POINTER (DECL2);              \
+      const char * LABEL1 = XSTR (XEXP (DECL_RTL (decl), 0), 0);\
+      const char * LABEL2 = IDENTIFIER_POINTER (DECL2);                \
                                                                \
       if (TREE_CODE (DECL1) == FUNCTION_DECL)                  \
        {                                                       \
@@ -427,7 +427,7 @@ dtors_section ()                                            \
 #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END)\
   do                                                           \
     {                                                          \
-      char * name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);       \
+      const char * name = XSTR (XEXP (DECL_RTL (DECL), 0), 0); \
       if (!flag_inhibit_size_directive && DECL_SIZE (DECL)     \
           && ! AT_END && TOP_LEVEL                             \
          && DECL_INITIAL (DECL) == error_mark_node             \
index 30545e5..79de0b6 100644 (file)
@@ -1289,7 +1289,7 @@ thumb_function_prologue (f, frame_size)
 
   if (is_called_in_ARM_mode (current_function_decl))
     {
-      char * name;
+      const char * name;
       
       if (GET_CODE (DECL_RTL (current_function_decl)) != MEM)
        abort();
index 2366e14..4837504 100644 (file)
@@ -251,7 +251,7 @@ do { char dstr[30];                                                 \
 #define ASM_OUTPUT_ASCII(STREAM, STRING, LEN)                          \
 do {                                                                   \
   register int i, c, len = (LEN), cur_pos = 17;                                \
-  register unsigned char *string = (unsigned char *)(STRING);          \
+  register const unsigned char *string = (const unsigned char *)(STRING); \
   fprintf ((STREAM), "\t.ascii\t\"");                                  \
   for (i = 0; i < len; i++)                                            \
     {                                                                  \
index 270ae1f..38e214f 100644 (file)
@@ -2373,7 +2373,7 @@ do {                                                                        \
 
 #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END)        \
 do {                                                                    \
-     char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);                  \
+     const char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);            \
      if (!flag_inhibit_size_directive && DECL_SIZE (DECL)               \
          && ! AT_END && TOP_LEVEL                                       \
         && DECL_INITIAL (DECL) == error_mark_node                       \
index 43aeadb..a3e04ac 100644 (file)
@@ -35,9 +35,9 @@ Boston, MA 02111-1307, USA.  */
 
 #define ASM_OUTPUT_ASCII(FILE,PTR,LEN)                 \
 do {                                                   \
-  unsigned char *s;                                    \
+  const unsigned char *s;                              \
   int i;                                               \
-  for (i = 0, s = (unsigned char *)(PTR); i < (LEN); s++, i++) \
+  for (i = 0, s = (const unsigned char *)(PTR); i < (LEN); s++, i++) \
     {                                                  \
       if ((i % 8) == 0)                                        \
        fputs ("\n\t.byte\t", (FILE));                  \
index c416d5c..35a9211 100644 (file)
@@ -1118,7 +1118,7 @@ do { union { float f; long l;} tem;                       \
   fprintf (FILE, "\n"))
 
 #define ASM_OUTPUT_ASCII(FILE,PTR,SIZE)               \
-do { int i; unsigned char *pp = (unsigned char *) (PTR);       \
+do { int i; const unsigned char *pp = (const unsigned char *) (PTR); \
   fprintf((FILE), "\t.byte %d", (unsigned int)*pp++);          \
   for (i = 1; i < (SIZE); ++i, ++pp) {                         \
     if ((i % 8) == 0)                                          \
index f9be343..6dd3867 100644 (file)
@@ -390,7 +390,7 @@ do {                                                                        \
       enum sect_enum {SECT_RW, SECT_RO, SECT_EXEC} type;               \
     } *sections;                                                       \
   struct section_info *s;                                              \
-  char *mode;                                                          \
+  const char *mode;                                                    \
   enum sect_enum type;                                                 \
                                                                        \
   for (s = sections; s; s = s->next)                                   \
index a03b43e..b834235 100644 (file)
@@ -197,7 +197,7 @@ Boston, MA 02111-1307, USA.  */
 
 #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END)        \
 do {                                                                    \
-     char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);                  \
+     const char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);            \
      if (!flag_inhibit_size_directive && DECL_SIZE (DECL)              \
          && ! AT_END && TOP_LEVEL                                       \
          && DECL_INITIAL (DECL) == error_mark_node                      \
index 9804ea3..8bc43f3 100644 (file)
@@ -152,7 +152,8 @@ Boston, MA 02111-1307, USA.  */
 #define ASM_OUTPUT_LIMITED_STRING(FILE, STR)                           \
   do                                                                   \
     {                                                                  \
-      register unsigned char *_limited_str = (unsigned char *) (STR);  \
+      register const unsigned char *_limited_str =                     \
+        (const unsigned char *) (STR);                                 \
       register unsigned ch;                                            \
       fprintf ((FILE), "\t%s\t\"", STRING_ASM_OP);                     \
       for (; (ch = *_limited_str); _limited_str++)                     \
@@ -187,12 +188,13 @@ Boston, MA 02111-1307, USA.  */
 #define ASM_OUTPUT_ASCII(FILE, STR, LENGTH)                            \
   do                                                                   \
     {                                                                  \
-      register unsigned char *_ascii_bytes = (unsigned char *) (STR);  \
-      register unsigned char *limit = _ascii_bytes + (LENGTH);         \
+      register const unsigned char *_ascii_bytes =                     \
+        (const unsigned char *) (STR);                                 \
+      register const unsigned char *limit = _ascii_bytes + (LENGTH);   \
       register unsigned bytes_in_chunk = 0;                            \
       for (; _ascii_bytes < limit; _ascii_bytes++)                     \
         {                                                              \
-         register unsigned char *p;                                    \
+         register const unsigned char *p;                              \
          if (bytes_in_chunk >= 64)                                     \
            {                                                           \
              fputc ('\n', (FILE));                                     \
@@ -524,7 +526,7 @@ do {                                                                        \
       enum sect_enum {SECT_RW, SECT_RO, SECT_EXEC} type;               \
     } *sections;                                                       \
   struct section_info *s;                                              \
-  char *mode;                                                          \
+  const char *mode;                                                    \
   enum sect_enum type;                                                 \
                                                                        \
   for (s = sections; s; s = s->next)                                   \
index b2eda31..d489ec9 100644 (file)
@@ -26,7 +26,7 @@ extern void optimization_options PARAMS ((int, int));
 
 extern int ix86_can_use_return_insn_p PARAMS ((void));
 
-extern void asm_output_function_prefix PARAMS ((FILE *, char *));
+extern void asm_output_function_prefix PARAMS ((FILE *, const char *));
 extern void load_pic_register PARAMS ((void));
 extern HOST_WIDE_INT ix86_initial_elimination_offset PARAMS((int, int));
 extern void ix86_expand_prologue PARAMS ((void));
index 84bda81..b977c32 100644 (file)
@@ -1594,7 +1594,7 @@ static char *global_offset_table_name;
 void
 asm_output_function_prefix (file, name)
      FILE *file;
-     char *name ATTRIBUTE_UNUSED;
+     const char *name ATTRIBUTE_UNUSED;
 {
   rtx xops[2];
   int pic_reg_used = flag_pic && (current_function_uses_pic_offset_table
index 40ea9db..21712da 100644 (file)
@@ -127,12 +127,13 @@ do { long value[3];                                                       \
 #define ASM_OUTPUT_ASCII(FILE, STR, LENGTH)                            \
   do                                                                   \
     {                                                                  \
-      register unsigned char *_ascii_bytes = (unsigned char *) (STR);  \
-      register unsigned char *limit = _ascii_bytes + (LENGTH);         \
+      register const unsigned char *_ascii_bytes =                     \
+        (const unsigned char *) (STR);                                 \
+      register const unsigned char *limit = _ascii_bytes + (LENGTH);   \
       register unsigned bytes_in_chunk = 0;                            \
       for (; _ascii_bytes < limit; _ascii_bytes++)                     \
         {                                                              \
-         register unsigned char *p;                                    \
+         register const unsigned char *p;                              \
          if (bytes_in_chunk >= 64)                                     \
            {                                                           \
              fputc ('\n', (FILE));                                     \
index e9b4d6f..3e0dd07 100644 (file)
@@ -666,7 +666,7 @@ while (0)
 
 #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END)        \
 do {                                                                    \
-     char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);                  \
+     const char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);            \
      if (TARGET_ELF                                                     \
         && !flag_inhibit_size_directive && DECL_SIZE (DECL)             \
          && ! AT_END && TOP_LEVEL                                       \
index 6b0a49b..a8594a2 100644 (file)
@@ -121,12 +121,13 @@ do { long value[3];                                                       \
 #define ASM_OUTPUT_ASCII(FILE, STR, LENGTH)                            \
   do                                                                   \
     {                                                                  \
-      register unsigned char *_ascii_bytes = (unsigned char *) (STR);  \
-      register unsigned char *limit = _ascii_bytes + (LENGTH);         \
+      register const unsigned char *_ascii_bytes =                     \
+        (const unsigned char *) (STR);                                 \
+      register const unsigned char *limit = _ascii_bytes + (LENGTH);   \
       register unsigned bytes_in_chunk = 0;                            \
       for (; _ascii_bytes < limit; _ascii_bytes++)                     \
         {                                                              \
-         register unsigned char *p;                                    \
+         register const unsigned char *p;                              \
          if (bytes_in_chunk >= 64)                                     \
            {                                                           \
              fputc ('\n', (FILE));                                     \
index 0c6d747..df40cb2 100644 (file)
@@ -222,7 +222,7 @@ do {                                                                        \
 #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END)        \
 do {                                                                    \
   if (TARGET_ELF) {                                                    \
-     char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);                  \
+     const char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);            \
      if (!flag_inhibit_size_directive && DECL_SIZE (DECL)               \
          && ! AT_END && TOP_LEVEL                                       \
         && DECL_INITIAL (DECL) == error_mark_node                       \
@@ -313,7 +313,8 @@ asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
 #define ASM_OUTPUT_LIMITED_STRING(FILE, STR)                           \
   do                                                                   \
     {                                                                  \
-      register unsigned char *_limited_str = (unsigned char *) (STR);  \
+      register const unsigned char *_limited_str =                     \
+        (const unsigned char *) (STR);                                 \
       register unsigned ch;                                            \
       fprintf ((FILE), "%s\t\"", STRING_ASM_OP);                       \
       for (; (ch = *_limited_str); _limited_str++)                     \
@@ -341,12 +342,13 @@ asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
 #undef ASM_OUTPUT_ASCII
 #define ASM_OUTPUT_ASCII(FILE, STR, LENGTH)                            \
 do {                                                                   \
-      register unsigned char *_ascii_bytes = (unsigned char *) (STR);  \
-      register unsigned char *limit = _ascii_bytes + (LENGTH);         \
+      register const unsigned char *_ascii_bytes =                     \
+        (const unsigned char *) (STR);                                 \
+      register const unsigned char *limit = _ascii_bytes + (LENGTH);   \
       register unsigned bytes_in_chunk = 0;                            \
       for (; _ascii_bytes < limit; _ascii_bytes++)                     \
         {                                                              \
-         register unsigned char *p;                                    \
+         register unsigned const char *p;                              \
          if (bytes_in_chunk >= 64)                                     \
            {                                                           \
              fputc ('\n', (FILE));                                     \
@@ -468,9 +470,9 @@ do {                                                                        \
       enum sect_enum {SECT_RW, SECT_RO, SECT_EXEC} type;                \
     } *sections;                                                        \
   struct section_info *s;                                               \
-  char *mode;                                                           \
+  const char *mode;                                                     \
   enum sect_enum type;                                                  \
-  char *sname = NAME ;                                                 \
+  const char *sname = NAME ;                                           \
   if (strcmp(NAME, ".gcc_except_table") == 0) sname = ".gccexc" ;      \
                                                                         \
   for (s = sections; s; s = s->next)                                    \
index 1bc6f04..24dccd9 100644 (file)
@@ -119,12 +119,13 @@ do { long value[3];                                                       \
 #define ASM_OUTPUT_ASCII(FILE, STR, LENGTH)                            \
   do                                                                   \
     {                                                                  \
-      register unsigned char *_ascii_bytes = (unsigned char *) (STR);  \
-      register unsigned char *limit = _ascii_bytes + (LENGTH);         \
+      register const unsigned char *_ascii_bytes =                     \
+        (const unsigned char *) (STR);                                 \
+      register const unsigned char *limit = _ascii_bytes + (LENGTH);   \
       register unsigned bytes_in_chunk = 0;                            \
       for (; _ascii_bytes < limit; _ascii_bytes++)                     \
         {                                                              \
-         register unsigned char *p;                                    \
+         register const unsigned char *p;                              \
          if (bytes_in_chunk >= 64)                                     \
            {                                                           \
              fputc ('\n', (FILE));                                     \
index d44505c..7517f4b 100644 (file)
@@ -122,8 +122,8 @@ Boston, MA 02111-1307, USA.  */
 #define ASM_OUTPUT_ASCII(FILE, STR, LENGTH)                    \
   do                                                           \
     {                                                          \
-      register unsigned char *str = (unsigned char *) (STR);   \
-      register unsigned char *limit = str + (LENGTH);          \
+      register const unsigned char *str = (const unsigned char *) (STR); \
+      register const unsigned char *limit = str + (LENGTH);    \
       register unsigned bytes_in_chunk = 0;                    \
       for (; str < limit; str++)                               \
         {                                                      \
index 56f8e49..81e3025 100644 (file)
@@ -104,8 +104,8 @@ extern char *current_function_original_name;
 #define ASM_OUTPUT_ASCII(FILE, STR, LENGTH)                            \
   do                                                                   \
     {                                                                  \
-      register unsigned char *str = (unsigned char *) (STR);           \
-      register unsigned char *limit = str + (LENGTH);                  \
+      register const unsigned char *str = (const unsigned char *) (STR); \
+      register const unsigned char *limit = str + (LENGTH);            \
       register unsigned bytes_in_chunk = 0;                            \
       for (; str < limit; str++)                                       \
         {                                                              \
index e8845c9..ee0ac4c 100644 (file)
@@ -434,7 +434,7 @@ m32r_encode_section_info (decl)
     {
       rtx rtl = (TREE_CODE_CLASS (TREE_CODE (decl)) != 'd'
                  ? TREE_CST_RTL (decl) : DECL_RTL (decl));
-      char *str = XSTR (XEXP (rtl, 0), 0);
+      const char *str = XSTR (XEXP (rtl, 0), 0);
       int len = strlen (str);
       char *newstr = savealloc (len + 2);
       strcpy (newstr + 1, str);
index f862390..f7c8414 100644 (file)
@@ -168,7 +168,7 @@ exports_section ()                                          \
 #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END)         \
   do                                                                     \
     {                                                                    \
-      char * name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);                 \
+      const char * name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);           \
       if (!flag_inhibit_size_directive && DECL_SIZE (DECL)               \
           && ! AT_END && TOP_LEVEL                                       \
           && DECL_INITIAL (DECL) == error_mark_node                      \
index 2fa8c81..5381269 100644 (file)
@@ -3423,7 +3423,7 @@ mcore_encode_section_info (decl)
           && GET_CODE (XEXP (XEXP (DECL_RTL (decl), 0), 0)) == SYMBOL_REF
           && mcore_dllimport_name_p (XSTR (XEXP (XEXP (DECL_RTL (decl), 0), 0), 0)))
     {
-      char * oldname = XSTR (XEXP (XEXP (DECL_RTL (decl), 0), 0), 0);
+      const char * oldname = XSTR (XEXP (XEXP (DECL_RTL (decl), 0), 0), 0);
       tree idp = get_identifier (oldname + 9);
       rtx newrtl = gen_rtx (SYMBOL_REF, Pmode, IDENTIFIER_POINTER (idp));
 
index 14c1432..5a723ed 100644 (file)
@@ -161,7 +161,7 @@ do {                                                                        \
 #undef ASM_FINISH_DECLARE_OBJECT
 #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END)        \
 do {                                                                    \
-     char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);                  \
+     const char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);            \
      if (!flag_inhibit_size_directive && DECL_SIZE (DECL)               \
          && ! AT_END && TOP_LEVEL                                       \
         && DECL_INITIAL (DECL) == error_mark_node                       \
index 25c88f6..c0c706a 100644 (file)
@@ -142,7 +142,7 @@ do {                                                                \
 #undef ASM_FINISH_DECLARE_OBJECT
 #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END)        \
 do {                                                                    \
-     char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);                  \
+     const char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);            \
      if (!flag_inhibit_size_directive && DECL_SIZE (DECL)               \
          && ! AT_END && TOP_LEVEL                                       \
         && DECL_INITIAL (DECL) == error_mark_node                       \
index 44f6ac8..2b66e4a 100644 (file)
@@ -458,7 +458,7 @@ while (0)
 
 #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END)        \
 do {                                                                    \
-     char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);                  \
+     const char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);            \
      if (!flag_inhibit_size_directive && DECL_SIZE (DECL)               \
          && ! AT_END && TOP_LEVEL                                       \
         && DECL_INITIAL (DECL) == error_mark_node                       \
index cd384e4..c79ad1e 100644 (file)
@@ -4527,7 +4527,7 @@ do {                                                                      \
 /* Output #ident as a in the read-only data section.  */
 #define ASM_OUTPUT_IDENT(FILE, STRING)                                 \
 {                                                                      \
-  char *p = STRING;                                                    \
+  const char *p = STRING;                                              \
   int size = strlen (p) + 1;                                           \
   rdata_section ();                                                    \
   assemble_string (p, size);                                           \
index c50f62a..d56e642 100644 (file)
@@ -4775,7 +4775,7 @@ move\\t%0,%z4\\n\\
       && GET_CODE (operands[1]) == SYMBOL_REF
       && SYMBOL_REF_FLAG (operands[1]))
     {
-      char *name = XSTR (operands[1], 0);
+      const char *name = XSTR (operands[1], 0);
 
       if (name[0] != '*'
          || strncmp (name + 1, LOCAL_LABEL_PREFIX,
@@ -5197,7 +5197,7 @@ move\\t%0,%z4\\n\\
       && GET_CODE (operands[1]) == SYMBOL_REF
       && SYMBOL_REF_FLAG (operands[1]))
     {
-      char *name = XSTR (operands[1], 0);
+      const char *name = XSTR (operands[1], 0);
 
       if (name[0] != '*'
          || strncmp (name + 1, LOCAL_LABEL_PREFIX,
index 3c90dca..81e5eae 100644 (file)
@@ -166,7 +166,7 @@ Boston, MA 02111-1307, USA.  */
 #undef ASM_FINISH_DECLARE_OBJECT
 #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END)        \
 do {                                                                    \
-     char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);                  \
+     const char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);            \
      if (!flag_inhibit_size_directive && DECL_SIZE (DECL)               \
          && ! AT_END && TOP_LEVEL                                       \
         && DECL_INITIAL (DECL) == error_mark_node                       \
index 7ba135b..49ff036 100644 (file)
 #undef ASM_FINISH_DECLARE_OBJECT
 #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END)        \
 do {                                                                    \
-     char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);                  \
+     const char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);            \
      if (!flag_inhibit_size_directive && DECL_SIZE (DECL)               \
          && ! AT_END && TOP_LEVEL                                       \
         && DECL_INITIAL (DECL) == error_mark_node                       \
index 60ebfab..1d813dd 100644 (file)
@@ -251,7 +251,7 @@ Boston, MA 02111-1307, USA.  */
 #undef ASM_FINISH_DECLARE_OBJECT
 #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END)        \
 do {                                                                    \
-     char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);                  \
+     const char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);            \
      if (!flag_inhibit_size_directive && DECL_SIZE (DECL)               \
          && ! AT_END && TOP_LEVEL                                       \
         && DECL_INITIAL (DECL) == error_mark_node                       \
index 5580ed9..7701f96 100644 (file)
@@ -680,7 +680,7 @@ dtors_section ()                                                    \
 
 #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END)        \
 do {                                                                    \
-     char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);                  \
+     const char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);            \
      if (!flag_inhibit_size_directive && DECL_SIZE (DECL)               \
          && ! AT_END && TOP_LEVEL                                       \
         && DECL_INITIAL (DECL) == error_mark_node                       \
@@ -764,7 +764,8 @@ do {                                                                         \
 #define ASM_OUTPUT_LIMITED_STRING(FILE, STR)                           \
   do                                                                   \
     {                                                                  \
-      register unsigned char *_limited_str = (unsigned char *) (STR);  \
+      register const unsigned char *_limited_str =                     \
+        (const unsigned char *) (STR);                                 \
       register unsigned ch;                                            \
       fprintf ((FILE), "\t%s\t\"", STRING_ASM_OP);                     \
       for (; ch = *_limited_str; _limited_str++)                       \
@@ -799,12 +800,13 @@ do {                                                                       \
 #define ASM_OUTPUT_ASCII(FILE, STR, LENGTH)                            \
   do                                                                   \
     {                                                                  \
-      register unsigned char *_ascii_bytes = (unsigned char *) (STR);  \
-      register unsigned char *limit = _ascii_bytes + (LENGTH);         \
+      register const unsigned char *_ascii_bytes =                     \
+        (const unsigned char *) (STR);                                 \
+      register const unsigned char *limit = _ascii_bytes + (LENGTH);   \
       register unsigned bytes_in_chunk = 0;                            \
       for (; _ascii_bytes < limit; _ascii_bytes++)                     \
         {                                                              \
-         register unsigned char *p;                                    \
+         register const unsigned char *p;                              \
          if (bytes_in_chunk >= 60)                                     \
            {                                                           \
              fprintf ((FILE), "\"\n");                                 \
index f50616b..a408d7e 100644 (file)
@@ -4209,7 +4209,7 @@ rs6000_allocate_stack_space (file, size, copy_r12)
       else if (GET_CODE (stack_limit_rtx) == SYMBOL_REF
               && (DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS))
        {
-         char * l_name = XSTR (stack_limit_rtx, 0);
+         const char * l_name = XSTR (stack_limit_rtx, 0);
          const char * stripped_name;
 
          STRIP_NAME_ENCODING (stripped_name, l_name);
@@ -4662,7 +4662,7 @@ output_epilog (file, size)
      different traceback table.  */
   if (DEFAULT_ABI == ABI_AIX && ! flag_inhibit_size_directive)
     {
-      char *fname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
+      const char *fname = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0);
       int fixed_parms, float_parms, parm_info;
       int i;
 
@@ -4895,7 +4895,7 @@ output_mi_thunk (file, thunk_fndecl, delta, function)
 {
   const char *this_reg = reg_names[ aggregate_value_p (TREE_TYPE (TREE_TYPE (function))) ? 4 : 3 ];
   const char *prefix;
-  char *fname;
+  const char *fname;
   const char *r0        = reg_names[0];
   const char *sp        = reg_names[1];
   const char *toc       = reg_names[2];
@@ -5097,7 +5097,7 @@ output_toc (file, x, labelno)
      int labelno;
 {
   char buf[256];
-  char *name = buf;
+  const char *name = buf;
   const char *real_name;
   rtx base = x;
   int offset = 0;
index c5db4b4..5620eb4 100644 (file)
          && GET_CODE (operands[1]) == SYMBOL_REF
          && XSTR (operands[1], 0)[0] == '.')
        {
-         char *name = XSTR (operands[1], 0);
+         const char *name = XSTR (operands[1], 0);
          rtx new_ref;
          while (*name == '.')
            name++;
index 65b6cd5..1392204 100644 (file)
@@ -804,7 +804,7 @@ do {                                                                        \
           && XSTR (VALUE, 0)[0] == '.'                                 \
           && (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_NT))        \
     {                                                                  \
-      char *name = XSTR (VALUE, 0);                                    \
+      const char *name = XSTR (VALUE, 0);                              \
       while (*name == '.')                                             \
        name++;                                                         \
                                                                        \
@@ -890,7 +890,7 @@ do {                                                                        \
       enum sect_enum {SECT_RW, SECT_RO, SECT_EXEC} type;               \
     } *sections;                                                       \
   struct section_info *s;                                              \
-  char *mode;                                                          \
+  const char *mode;                                                    \
   enum sect_enum type;                                                 \
                                                                        \
   for (s = sections; s; s = s->next)                                   \
index 9226445..80d05e6 100644 (file)
@@ -67,7 +67,7 @@ Boston, MA 02111-1307, USA.  */
 
 #define ASM_OUTPUT_ASCII(FILE, PTR, SIZE)              \
 do {                                                   \
-  unsigned char *_p = (PTR);                           \
+  const unsigned char *_p = (PTR);                     \
   int _thissize = (SIZE);                              \
   fprintf ((FILE), "\t.ascii \"");                     \
   for (i = 0; i < _thissize; i++)                      \
index e39751b..c3b6cf1 100644 (file)
@@ -411,7 +411,7 @@ print_operand (file, x, code)
     case 'O':
       if (special_symbolref_operand (x, VOIDmode))
         {
-          char* name;
+          const char *name;
 
          if (GET_CODE (x) == SYMBOL_REF)
            name = XSTR (x, 0);
@@ -596,9 +596,9 @@ print_operand_address (file, addr)
     case SYMBOL_REF:
       if (ENCODED_NAME_P (XSTR (addr, 0)))
         {
-          char* name = XSTR (addr, 0);
-          char* off_name;
-          char* reg_name;
+          const char *name = XSTR (addr, 0);
+          const char *off_name;
+          const char *reg_name;
 
           if (ZDA_NAME_P (name))
             {
@@ -628,9 +628,9 @@ print_operand_address (file, addr)
     case CONST:
       if (special_symbolref_operand (addr, VOIDmode))
         {
-          char* name = XSTR (XEXP (XEXP (addr, 0), 0), 0);
-          char* off_name;
-          char* reg_name;
+          const char *name = XSTR (XEXP (XEXP (addr, 0), 0), 0);
+          const char *off_name;
+          const char *reg_name;
 
           if (ZDA_NAME_P (name))
             {
@@ -2090,7 +2090,7 @@ void
 v850_encode_data_area (decl)
      tree decl;
 {
-  char * str = XSTR (XEXP (DECL_RTL (decl), 0), 0);
+  const char *str = XSTR (XEXP (DECL_RTL (decl), 0), 0);
   int    len = strlen (str);
   char * newstr;
 
@@ -2099,7 +2099,7 @@ v850_encode_data_area (decl)
     {
       if (DECL_SECTION_NAME (decl))
        {
-         char * name = TREE_STRING_POINTER (DECL_SECTION_NAME (decl));
+         const char *name = TREE_STRING_POINTER (DECL_SECTION_NAME (decl));
          
          if (streq (name, ".zdata") || streq (name, ".zbss"))
            v850_set_data_area (decl, DATA_AREA_ZDA);
index e6f17ea..bf8dd2a 100644 (file)
@@ -1,3 +1,9 @@
+2000-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * decl2.c (finish_objects): Constify a char*.
+
+       * method.c (emit_thunk): Likewise.
+
 2000-03-06  Nathan Sidwell  <nathan@codesourcery.com>
 
        * typeck.c (dubious_conversion_warnings): Look through
index 8e66bb6..7f5ba6a 100644 (file)
@@ -2840,7 +2840,7 @@ finish_objects (method_type, initp, body)
      int method_type, initp;
      tree body;
 {
-  char *fnname;
+  const char *fnname;
   tree fn;
 
   /* Finish up. */
index 4a41e5a..6e869f1 100644 (file)
@@ -2098,7 +2098,7 @@ emit_thunk (thunk_fndecl)
 #ifdef ASM_OUTPUT_MI_THUNK
   if (!flag_syntax_only)
     {
-      char *fnname;
+      const char *fnname;
       current_function_decl = thunk_fndecl;
       /* Make sure we build up its RTL before we go onto the
         temporary obstack.  */
index 944d86f..8c2e9fc 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -2252,7 +2252,9 @@ canon_hash (x, mode)
          hash += canon_hash (XVECEXP (x, i, j), 0);
       else if (fmt[i] == 's')
        {
-         register unsigned char *p = (unsigned char *) XSTR (x, i);
+         register const unsigned char *p =
+           (const unsigned char *) XSTR (x, i);
+
          if (p)
            while (*p)
              hash += *p++;
index 4c84c31..ada8c76 100644 (file)
@@ -2627,7 +2627,7 @@ dbxout_block (block, depth, args)
   int ignored;
 
 #if DBX_BLOCKS_FUNCTION_RELATIVE
-  char *begin_label; 
+  const char *begin_label; 
   if (current_function_func_begin_label != NULL_TREE)
     begin_label = IDENTIFIER_POINTER (current_function_func_begin_label);
   else
index 503bee9..1b40462 100644 (file)
@@ -78,7 +78,7 @@ static void notice PARAMS ((const char *s, ...)) ATTRIBUTE_PRINTF_1;
 static void v_message_with_file_and_line PARAMS ((const char *, int, int,
                                                  const char *, va_list));
 static void v_message_with_decl PARAMS ((tree, int, const char *, va_list));
-static void file_and_line_for_asm PARAMS ((rtx, char **, int *));
+static void file_and_line_for_asm PARAMS ((rtx, const char **, int *));
 static void v_error_with_file_and_line PARAMS ((const char *, int,
                                                const char *, va_list));
 static void v_error_with_decl PARAMS ((tree, const char *, va_list));
@@ -574,7 +574,7 @@ v_message_with_decl (decl, warn, msgid, ap)
 static void
 file_and_line_for_asm (insn, pfile, pline)
      rtx insn;
-     char **pfile;
+     const char **pfile;
      int *pline;
 {
   rtx body = PATTERN (insn);
@@ -649,7 +649,7 @@ v_error_for_asm (insn, msgid, ap)
      const char *msgid;
      va_list ap;
 {
-  char *file;
+  const char *file;
   int line;
 
   count_error (0);
@@ -737,7 +737,7 @@ v_warning_for_asm (insn, msgid, ap)
 {
   if (count_error (1))
     {
-      char *file;
+      const char *file;
       int line;
 
       file_and_line_for_asm (insn, &file, &line);
index 9d41379..0c0b7f2 100644 (file)
@@ -383,7 +383,7 @@ static char *type_tag                       PARAMS ((tree));
 static inline void dienum_push         PARAMS ((void));
 static inline void dienum_pop          PARAMS ((void));
 static inline tree member_declared_type PARAMS ((tree));
-static char *function_start_label      PARAMS ((tree));
+static const char *function_start_label        PARAMS ((tree));
 static void output_array_type_die      PARAMS ((void *));
 static void output_set_type_die                PARAMS ((void *));
 #if 0
@@ -3205,12 +3205,12 @@ member_declared_type (member)
    This may be different from the DECL_NAME name used
    in the source file.  */
 
-static char *
+static const char *
 function_start_label (decl)
     register tree decl;
 {
   rtx x;
-  char *fnname;
+  const char *fnname;
 
   x = DECL_RTL (decl);
   if (GET_CODE (x) != MEM)
index 27b8374..3d6f73b 100644 (file)
@@ -3009,7 +3009,7 @@ emit_note_after (subtype, after)
 
 rtx
 emit_line_note_after (file, line, after)
-     char *file;
+     const char *file;
      int line;
      rtx after;
 {
@@ -3208,7 +3208,7 @@ emit_barrier ()
 
 rtx
 emit_line_note (file, line)
-     char *file;
+     const char *file;
      int line;
 {
   set_file_and_line_for_stmt (file, line);
@@ -3228,7 +3228,7 @@ emit_line_note (file, line)
 
 rtx
 emit_note (file, line)
-     char *file;
+     const char *file;
      int line;
 {
   register rtx note;
@@ -3260,7 +3260,7 @@ emit_note (file, line)
 
 rtx
 emit_line_note_force (file, line)
-     char *file;
+     const char *file;
      int line;
 {
   last_linenum = -1;
index 948ecd3..01dd1ba 100644 (file)
@@ -147,7 +147,7 @@ static int high_block_linenum;
 static int high_function_linenum;
 
 /* Filename of last NOTE.  */
-static char *last_filename;
+static const char *last_filename;
 
 /* Number of basic blocks seen so far;
    used if profile_block_flag is set.  */
@@ -1537,7 +1537,7 @@ static int
 asm_insn_count (body)
      rtx body;
 {
-  char *template;
+  const char *template;
   int count = 1;
 
   if (GET_CODE (body) == ASM_INPUT)
@@ -2532,7 +2532,7 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
          {
            unsigned int noperands = asm_noperands (body);
            rtx *ops = (rtx *) alloca (noperands * sizeof (rtx));
-           char *string;
+           const char *string;
 
            /* There's no telling what that did to the condition codes.  */
            CC_STATUS_INIT;
@@ -2972,7 +2972,7 @@ output_source_line (file, insn)
      FILE *file ATTRIBUTE_UNUSED;
      rtx insn;
 {
-  register char *filename = NOTE_SOURCE_FILE (insn);
+  register const char *filename = NOTE_SOURCE_FILE (insn);
 
   /* Remember filename for basic block profiling.
      Filenames are allocated on the permanent obstack
index 9ede7a7..8b26ec2 100644 (file)
@@ -95,7 +95,7 @@ struct emit_status
   /* Line number and source file of the last line-number NOTE emitted.
      This is used to avoid generating duplicates.  */
   int x_last_linenum;
-  char *x_last_filename;
+  const char *x_last_filename;
 
   /* A vector indexed by pseudo reg number.  The allocated length
      of this vector is regno_pointer_flag_length.  Since this
index aaa2f6d..d3e00b8 100644 (file)
@@ -1416,7 +1416,7 @@ hash_expr_1 (x, mode, do_not_record_p)
           final assembler.  This also avoids differences in the dump files
           between various stages.  */
        unsigned int h = 0;
-       unsigned char *p = (unsigned char *) XSTR (x, 0);
+       const unsigned char *p = (const unsigned char *) XSTR (x, 0);
 
        while (*p)
          h += (h << 7) + *p++; /* ??? revisit */
@@ -1488,7 +1488,8 @@ hash_expr_1 (x, mode, do_not_record_p)
 
       else if (fmt[i] == 's')
        {
-         register unsigned char *p = (unsigned char *) XSTR (x, i);
+         register const unsigned char *p =
+           (const unsigned char *) XSTR (x, i);
 
          if (p)
            while (*p)
index 1a3abcd..30160a4 100644 (file)
@@ -91,7 +91,7 @@ static void
 gen_attr (attr)
      rtx attr;
 {
-  char *p;
+  const char *p;
   int is_const = GET_CODE (XEXP (attr, 2)) == CONST;  
 
   printf ("#define HAVE_ATTR_%s\n", XSTR (attr, 0));
@@ -306,7 +306,7 @@ from the machine description file `md'.  */\n\n");
 
       else if (GET_CODE (desc) == DEFINE_FUNCTION_UNIT)
        {
-         char *name = XSTR (desc, 0);
+         const char *name = XSTR (desc, 0);
          int multiplicity = XINT (desc, 1);
          int simultaneity = XINT (desc, 2);
          int ready_cost = MAX (XINT (desc, 4), 1);
index ebf6ea1..a656f1f 100644 (file)
@@ -216,7 +216,7 @@ struct function_unit_op
 
 struct function_unit
 {
-  char *name;                  /* Function unit name.  */
+  const char *name;            /* Function unit name.  */
   struct function_unit *next;  /* Next function unit.  */
   int num;                     /* Ordinal of this unit type.  */
   int multiplicity;            /* Number of units of this type.  */
@@ -316,7 +316,7 @@ static int *insn_alternatives;
    This is the hashed, unique string for the numeral
    whose value is chosen alternative.  */
 
-static char *current_alternative_string;
+static const char *current_alternative_string;
 
 /* Used to simplify expressions.  */
 
@@ -432,7 +432,7 @@ static void write_attr_set  PARAMS ((struct attr_desc *, int, rtx,
 static void write_attr_case    PARAMS ((struct attr_desc *, struct attr_value *,
                                       int, const char *, const char *, int, rtx));
 static void write_unit_name    PARAMS ((const char *, int, const char *));
-static void write_attr_valueq  PARAMS ((struct attr_desc *, char *));
+static void write_attr_valueq  PARAMS ((struct attr_desc *, const char *));
 static void write_attr_value   PARAMS ((struct attr_desc *, rtx));
 static void write_upcase       PARAMS ((const char *));
 static void write_indent       PARAMS ((int));
@@ -443,16 +443,16 @@ static void write_complex_function PARAMS ((struct function_unit *, const char *
 static int write_expr_attr_cache PARAMS ((rtx, struct attr_desc *));
 static void write_toplevel_expr        PARAMS ((rtx));
 static void write_const_num_delay_slots PARAMS ((void));
-static int n_comma_elts                PARAMS ((char *));
-static char *next_comma_elt    PARAMS ((char **));
+static int n_comma_elts                PARAMS ((const char *));
+static char *next_comma_elt    PARAMS ((const char **));
 static struct attr_desc *find_attr PARAMS ((const char *, int));
 static void make_internal_attr PARAMS ((const char *, rtx, int));
 static struct attr_value *find_most_used  PARAMS ((struct attr_desc *));
 static rtx find_single_value   PARAMS ((struct attr_desc *));
 static rtx make_numeric_value  PARAMS ((int));
 static void extend_range       PARAMS ((struct range *, int, int));
-static rtx attr_eq             PARAMS ((char *, char *));
-static char *attr_numeral      PARAMS ((int));
+static rtx attr_eq             PARAMS ((const char *, const char *));
+static const char *attr_numeral        PARAMS ((int));
 static int attr_equal_p                PARAMS ((rtx, rtx));
 static rtx attr_copy_rtx       PARAMS ((rtx));
 
@@ -765,13 +765,13 @@ attr_printf VPARAMS ((register int len, const char *fmt, ...))
 
 static rtx
 attr_eq (name, value)
-     char *name, *value;
+     const char *name, *value;
 {
   return attr_rtx (EQ_ATTR, attr_string (name, strlen (name)),
                   attr_string (value, strlen (value)));
 }
 
-static char *
+static const char *
 attr_numeral (n)
      int n;
 {
@@ -932,7 +932,7 @@ check_attr_test (exp, is_const)
 {
   struct attr_desc *attr;
   struct attr_value *av;
-  char *name_ptr, *p;
+  const char *name_ptr, *p;
   rtx orexp, newexp;
 
   switch (GET_CODE (exp))
@@ -1079,7 +1079,7 @@ check_attr_value (exp, attr)
      struct attr_desc *attr;
 {
   struct attr_value *av;
-  char *p;
+  const char *p;
   int i;
 
   switch (GET_CODE (exp))
@@ -1217,7 +1217,7 @@ convert_set_attr_alternative (exp, num_alt, insn_index)
 
   for (i = 0; i < num_alt - 1; i++)
     {
-      char *p;
+      const char *p;
       p = attr_numeral (i);
 
       XVECEXP (condexp, 0, 2 * i) = attr_eq (alternative_name, p);
@@ -1245,7 +1245,7 @@ convert_set_attr (exp, num_alt, insn_index)
      int insn_index;
 {
   rtx newexp;
-  char *name_ptr;
+  const char *name_ptr;
   char *p;
   int n;
 
@@ -2761,7 +2761,7 @@ compute_alternative_mask (exp, code)
      rtx exp;
      enum rtx_code code;
 {
-  char *string;
+  const char *string;
   if (GET_CODE (exp) == code)
     return compute_alternative_mask (XEXP (exp, 0), code)
           | compute_alternative_mask (XEXP (exp, 1), code);
@@ -3608,7 +3608,7 @@ simplify_by_exploding (exp)
     {
       /* Pull the first attribute value from the list and record that
         attribute as another dimension in the attribute space.  */
-      char *name = XSTR (XEXP (list, 0), 0);
+      const char *name = XSTR (XEXP (list, 0), 0);
       rtx *prev;
 
       if ((space[ndim].attr = find_attr (name, 0)) == 0
@@ -4140,7 +4140,7 @@ gen_attr (exp)
 {
   struct attr_desc *attr;
   struct attr_value *av;
-  char *name_ptr;
+  const char *name_ptr;
   char *p;
 
   /* Make a new attribute structure.  Check for duplicate by looking at
@@ -4374,7 +4374,7 @@ gen_unit (def)
 {
   struct function_unit *unit;
   struct function_unit_op *op;
-  char *name = XSTR (def, 0);
+  const char *name = XSTR (def, 0);
   int multiplicity = XINT (def, 1);
   int simultaneity = XINT (def, 2);
   rtx condexp = XEXP (def, 3);
@@ -5253,7 +5253,7 @@ write_unit_name (prefix, num, suffix)
 static void
 write_attr_valueq (attr, s)
      struct attr_desc *attr;
-     char *s;
+     const char *s;
 {
   if (attr->is_numeric)
     {
@@ -5673,7 +5673,7 @@ write_complex_function (unit, name, connection)
 
 static int
 n_comma_elts (s)
-     char *s;
+     const char *s;
 {
   int n;
 
@@ -5693,10 +5693,10 @@ n_comma_elts (s)
 
 static char *
 next_comma_elt (pstr)
-     char **pstr;
+     const char **pstr;
 {
   char *out_str;
-  char *p;
+  const char *p;
 
   if (**pstr == '\0')
     return NULL;
index 085c745..d1f19e0 100644 (file)
@@ -134,8 +134,8 @@ static void
 gen_insn (insn)
      rtx insn;
 {
-  char *name = XSTR (insn, 0);
-  char *p;
+  const char *name = XSTR (insn, 0);
+  const char *p;
   struct obstack *obstack_ptr;
   int len;
 
index 96b1d27..2eec459 100644 (file)
@@ -115,7 +115,7 @@ type_from_format (c)
       return "HOST_WIDE_INT ";
 
     case 's':
-      return "char *";
+      return "const char *";
 
     case 'e':  case 'u':
       return "rtx ";
index 2fd1a4f..ac5debb 100644 (file)
@@ -128,7 +128,7 @@ static void
 gen_insn (insn)
      rtx insn;
 {
-  char *name = XSTR (insn, 0);
+  const char *name = XSTR (insn, 0);
   int m1 = 0, m2 = 0, op = 0;
   size_t pindex;
   int i;
index 2170174..2935f66 100644 (file)
@@ -103,7 +103,7 @@ struct obstack *rtl_obstack = &obstack;
 #define obstack_chunk_alloc xmalloc
 #define obstack_chunk_free free
 
-static int n_occurrences PARAMS ((int, char *));
+static int n_occurrences PARAMS ((int, const char *));
 static void strip_whitespace PARAMS ((char *));
 
 /* insns in the machine description are assigned sequential code numbers
@@ -185,13 +185,12 @@ static void scan_operands PARAMS ((struct data *, rtx, int, int));
 static int compare_operands PARAMS ((struct operand_data *,
                                   struct operand_data *));
 static void place_operands PARAMS ((struct data *));
-static void process_template PARAMS ((struct data *, char *));
+static void process_template PARAMS ((struct data *, const char *));
 static void validate_insn_alternatives PARAMS ((struct data *));
 static void gen_insn PARAMS ((rtx));
 static void gen_peephole PARAMS ((rtx));
 static void gen_expand PARAMS ((rtx));
 static void gen_split PARAMS ((rtx));
-static int n_occurrences PARAMS ((int, char *));
 \f
 const char *
 get_insn_name (index)
@@ -637,9 +636,9 @@ place_operands (d)
 static void
 process_template (d, template)
     struct data *d;
-    char *template;
+    const char *template;
 {
-  register char *cp;
+  register const char *cp;
   register int i;
 
   /* Templates starting with * contain straight code to be run.  */
@@ -969,7 +968,7 @@ main (argc, argv)
 static int
 n_occurrences (c, s)
      int c;
-     char *s;
+     const char *s;
 {
   int n = 0;
   while (*s)
index 7dcf64e..a7490f3 100644 (file)
@@ -730,7 +730,7 @@ ggc_alloc_obj (size, zero)
 
 int
 ggc_set_mark (p)
-     void *p;
+     const void *p;
 {
   page_entry *entry;
   unsigned bit, word;
@@ -746,7 +746,7 @@ ggc_set_mark (p)
 
   /* Calculate the index of the object on the page; this is its bit
      position in the in_use_p bitmap.  */
-  bit = (((char *) p) - entry->page) >> entry->order;
+  bit = (((const char *) p) - entry->page) >> entry->order;
   word = bit / HOST_BITS_PER_LONG;
   mask = (unsigned long) 1 << (bit % HOST_BITS_PER_LONG);
   
@@ -770,7 +770,7 @@ ggc_set_mark (p)
 
 void
 ggc_mark_if_gcable (p)
-     void *p;
+     const void *p;
 {
   if (p && ggc_allocated_p (p))
     ggc_set_mark (p);
@@ -780,7 +780,7 @@ ggc_mark_if_gcable (p)
 
 size_t
 ggc_get_size (p)
-     void *p;
+     const void *p;
 {
   page_entry *pe = lookup_page_table_entry (p);
   return 1 << pe->order;
index 6608d8c..6d1545c 100644 (file)
@@ -217,11 +217,11 @@ ggc_alloc_obj (size, zero)
 
 int
 ggc_set_mark (p)
-     void *p;
+     const void *p;
 {
   struct ggc_mem *x;
 
-  x = (struct ggc_mem *) ((char *)p - offsetof (struct ggc_mem, u));
+  x = (struct ggc_mem *) ((const char *)p - offsetof (struct ggc_mem, u));
 #ifdef GGC_ALWAYS_VERIFY
   if (! tree_lookup (x))
     abort ();
@@ -241,14 +241,14 @@ ggc_set_mark (p)
 
 void
 ggc_mark_if_gcable (p)
-     void *p;
+     const void *p;
 {
   struct ggc_mem *x;
 
   if (p == NULL)
     return;
 
-  x = (struct ggc_mem *) ((char *)p - offsetof (struct ggc_mem, u));
+  x = (struct ggc_mem *) ((const char *)p - offsetof (struct ggc_mem, u));
   if (! tree_lookup (x))
     return;
 
@@ -264,10 +264,10 @@ ggc_mark_if_gcable (p)
 
 size_t
 ggc_get_size (p)
-     void *p;
+     const void *p;
 {
   struct ggc_mem *x 
-    = (struct ggc_mem *) ((char *)p - offsetof (struct ggc_mem, u));
+    = (struct ggc_mem *) ((const char *)p - offsetof (struct ggc_mem, u));
   return x->size;
 }
 
index 781c15a..32f4096 100644 (file)
--- a/gcc/ggc.h
+++ b/gcc/ggc.h
@@ -94,20 +94,20 @@ extern void ggc_mark_tree_children PARAMS ((union tree_node *));
 
 #define ggc_mark_string(EXPR)                  \
   do {                                         \
-    char *s__ = (EXPR);                                \
+    const char *s__ = (EXPR);                  \
     if (s__ != NULL)                           \
       ggc_set_mark (s__);                      \
   } while (0)
 
 #define ggc_mark(EXPR)                         \
   do {                                         \
-    void *a__ = (EXPR);                                \
+    const void *a__ = (EXPR);                  \
     if (a__ != NULL)                           \
       ggc_set_mark (a__);                      \
   } while (0)
 
 /* Mark, but only if it was allocated in collectable memory.  */
-extern void ggc_mark_if_gcable PARAMS ((void *));
+extern void ggc_mark_if_gcable PARAMS ((const void *));
 
 /* A GC implementation must provide these functions.  */
 
@@ -151,7 +151,7 @@ void ggc_collect PARAMS ((void));
    returns zero if the object was not previously marked; non-zero if
    the object was already marked, or if, for any other reason,
    pointers in this data structure should not be traversed.  */
-int ggc_set_mark PARAMS ((void *));
+int ggc_set_mark PARAMS ((const void *));
 
 /* Callbacks to the languages.  */
 
@@ -200,7 +200,7 @@ typedef struct ggc_statistics
 } ggc_statistics;
 
 /* Return the number of bytes allocated at the indicated address.  */
-size_t ggc_get_size PARAMS ((void *));
+size_t ggc_get_size PARAMS ((const void *));
 
 /* Used by the various collectors to gather and print statistics that
    do not depend on the collector in use.  */
index 71da53a..1817904 100644 (file)
@@ -161,7 +161,7 @@ static void finish_objc                             PARAMS ((void));
 
 static void synth_module_prologue              PARAMS ((void));
 static tree build_constructor                  PARAMS ((tree, tree));
-static char *build_module_descriptor           PARAMS ((void));
+static const char *build_module_descriptor      PARAMS ((void));
 static tree init_module_descriptor             PARAMS ((tree));
 static tree build_objc_method_call             PARAMS ((int, tree, tree,
                                                       tree, tree, tree));
@@ -1681,7 +1681,7 @@ init_module_descriptor (type)
 
    struct objc_module { ... } _OBJC_MODULE = { ... };   */
 
-static char *
+static const char *
 build_module_descriptor ()
 {
   tree decl_specs, field_decl, field_decl_chain;
@@ -8189,7 +8189,7 @@ finish_objc ()
       || meth_var_names_chain || meth_var_types_chain || sel_ref_chain)
     {
       /* Arrange for Objc data structures to be initialized at run time.  */
-      char *init_name = build_module_descriptor ();
+      const char *init_name = build_module_descriptor ();
       if (init_name)
        assemble_constructor (init_name);
     }
index c1366d1..6474a53 100644 (file)
@@ -4432,7 +4432,7 @@ init_one_libfunc (name)
   if (ggc_p)
     name = ggc_alloc_string (name, -1);
 
-  return gen_rtx_SYMBOL_REF (Pmode, (char *) name);
+  return gen_rtx_SYMBOL_REF (Pmode, name);
 }
 
 /* Mark ARG (which is really an OPTAB *) for GC.  */
index 79084c0..160f124 100644 (file)
@@ -251,7 +251,7 @@ extern void assemble_asm            PARAMS ((tree));
    with defining the name of the function.  DECL describes the function.
    NAME is the function's name.  For the constant pool, we use the current
    constant pool data.  */
-extern void assemble_start_function    PARAMS ((tree, char *));
+extern void assemble_start_function    PARAMS ((tree, const char *));
 
 /* Output assembler code associated with defining the size of the
    function.  DECL describes the function.  NAME is the function's name.  */
index c0ea197..56f8634 100644 (file)
@@ -1405,7 +1405,7 @@ asm_noperands (body)
    If MODES, OPERAND_LOCS, CONSTRAINTS or OPERANDS is 0,
    we don't store that info.  */
 
-char *
+const char *
 decode_asm_operands (body, operands, operand_locs, constraints, modes)
      rtx body;
      rtx *operands;
@@ -1415,7 +1415,7 @@ decode_asm_operands (body, operands, operand_locs, constraints, modes)
 {
   register int i;
   int noperands;
-  char *template = 0;
+  const char *template = 0;
 
   if (GET_CODE (body) == SET && GET_CODE (SET_SRC (body)) == ASM_OPERANDS)
     {
index 52f8152..7fc1a1c 100644 (file)
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -87,7 +87,7 @@ typedef union rtunion_def
 {
   HOST_WIDE_INT rtwint;
   int rtint;
-  char *rtstr;
+  const char *rtstr;
   struct rtx_def *rtx;
   struct rtvec_def *rtvec;
   enum machine_mode rttype;
@@ -1031,7 +1031,7 @@ extern rtx emit_jump_insn_after           PARAMS ((rtx, rtx));
 extern rtx emit_barrier_after          PARAMS ((rtx));
 extern rtx emit_label_after            PARAMS ((rtx, rtx));
 extern rtx emit_note_after             PARAMS ((int, rtx));
-extern rtx emit_line_note_after                PARAMS ((char *, int, rtx));
+extern rtx emit_line_note_after                PARAMS ((const char *, int, rtx));
 extern rtx emit_insn                   PARAMS ((rtx));
 extern rtx emit_insns                  PARAMS ((rtx));
 extern rtx emit_insns_before           PARAMS ((rtx, rtx));
@@ -1040,9 +1040,9 @@ extern rtx emit_jump_insn         PARAMS ((rtx));
 extern rtx emit_call_insn              PARAMS ((rtx));
 extern rtx emit_label                  PARAMS ((rtx));
 extern rtx emit_barrier                        PARAMS ((void));
-extern rtx emit_line_note              PARAMS ((char *, int));
-extern rtx emit_note                   PARAMS ((char *, int));
-extern rtx emit_line_note_force                PARAMS ((char *, int));
+extern rtx emit_line_note              PARAMS ((const char *, int));
+extern rtx emit_note                   PARAMS ((const char *, int));
+extern rtx emit_line_note_force                PARAMS ((const char *, int));
 extern rtx make_insn_raw               PARAMS ((rtx));
 extern rtx previous_insn               PARAMS ((rtx));
 extern rtx next_insn                   PARAMS ((rtx));
@@ -1163,7 +1163,7 @@ extern void free_reg_info         PARAMS ((void));
 
 /* recog.c */
 extern int asm_noperands               PARAMS ((rtx));
-extern char *decode_asm_operands       PARAMS ((rtx, rtx *, rtx **,
+extern const char *decode_asm_operands PARAMS ((rtx, rtx *, rtx **,
                                               const char **,
                                               enum machine_mode *));
 
index 17fa655..f10e1e2 100644 (file)
@@ -3683,7 +3683,7 @@ rest_of_compilation (decl)
   TIMEVAR (final_time,
           {
             rtx x;
-            char *fnname;
+            const char *fnname;
 
             /* Get the function's name, as described by its RTL.
                This may be different from the DECL_NAME name used
index 549ab44..6357562 100644 (file)
@@ -2496,10 +2496,10 @@ extern void check_max_integer_computation_mode  PARAMS ((tree));
 
 /* In emit-rtl.c */
 extern void start_sequence_for_rtl_expr                PARAMS ((tree));
-extern struct rtx_def *emit_line_note_after    PARAMS ((char *, int,
-                                                       struct rtx_def *));
-extern struct rtx_def *emit_line_note          PARAMS ((char *, int));
-extern struct rtx_def *emit_line_note_force    PARAMS ((char *, int));
+extern struct rtx_def *emit_line_note_after    PARAMS ((const char *, int,
+                                                        struct rtx_def *));
+extern struct rtx_def *emit_line_note          PARAMS ((const char *, int));
+extern struct rtx_def *emit_line_note_force    PARAMS ((const char *, int));
 
 /* In calls.c */
 extern void special_function_p         PARAMS ((tree, int *, int *,
index b903220..7805c1d 100644 (file)
@@ -178,17 +178,18 @@ static void output_constructor            PARAMS ((tree, int));
 static void remove_from_pending_weak_list      PARAMS ((char *));
 #endif
 #ifdef ASM_OUTPUT_BSS
-static void asm_output_bss             PARAMS ((FILE *, tree, char *, int, int));
+static void asm_output_bss             PARAMS ((FILE *, tree, const char *, int, int));
 #endif
 #ifdef BSS_SECTION_ASM_OP
 #ifdef ASM_OUTPUT_ALIGNED_BSS
-static void asm_output_aligned_bss     PARAMS ((FILE *, tree, char *, int, int));
+static void asm_output_aligned_bss     PARAMS ((FILE *, tree, const char *,
+                                                int, int));
 #endif
 #endif /* BSS_SECTION_ASM_OP */
 static void mark_pool_constant          PARAMS ((struct pool_constant *));
 static void mark_pool_sym_hash_table   PARAMS ((struct pool_sym **));
 static void mark_const_hash_entry      PARAMS ((void *));
-static void asm_emit_uninitialised     PARAMS ((tree, char *, int, int));
+static void asm_emit_uninitialised     PARAMS ((tree, const char*, int, int));
 \f
 static enum in_section { no_section, in_text, in_data, in_named
 #ifdef BSS_SECTION_ASM_OP
@@ -377,7 +378,7 @@ static void
 asm_output_bss (file, decl, name, size, rounded)
      FILE *file;
      tree decl ATTRIBUTE_UNUSED;
-     char *name;
+     const char *name;
      int size ATTRIBUTE_UNUSED, rounded;
 {
   ASM_GLOBALIZE_LABEL (file, name);
@@ -405,7 +406,7 @@ static void
 asm_output_aligned_bss (file, decl, name, size, align)
      FILE *file;
      tree decl;
-     char *name;
+     const char *name;
      int size, align;
 {
   ASM_GLOBALIZE_LABEL (file, name);
@@ -997,7 +998,7 @@ assemble_gc_entry (name)
 void
 assemble_start_function (decl, fnname)
      tree decl;
-     char *fnname;
+     const char *fnname;
 {
   int align;
 
@@ -1239,7 +1240,7 @@ assemble_string (p, size)
 static void
 asm_emit_uninitialised (decl, name, size, rounded)
      tree decl;
-     char * name;
+     const char * name;
      int size ATTRIBUTE_UNUSED;
      int rounded ATTRIBUTE_UNUSED;
 {
@@ -1328,7 +1329,7 @@ assemble_variable (decl, top_level, at_end, dont_output_data)
      int at_end ATTRIBUTE_UNUSED;
      int dont_output_data;
 {
-  register char *name;
+  register const char *name;
   unsigned int align;
   tree size_tree = NULL_TREE;
   int reloc = 0;
@@ -2375,7 +2376,7 @@ static int
 const_hash (exp)
      tree exp;
 {
-  register char *p;
+  register const char *p;
   register int len, hi, i;
   register enum tree_code code = TREE_CODE (exp);
 
@@ -2406,9 +2407,12 @@ const_hash (exp)
     case CONSTRUCTOR:
       if (TREE_CODE (TREE_TYPE (exp)) == SET_TYPE)
        {
+         char *tmp;
+
          len = int_size_in_bytes (TREE_TYPE (exp));
-         p = (char *) alloca (len);
-         get_set_constructor_bytes (exp, (unsigned char *) p, len);
+         tmp = (char *) alloca (len);
+         get_set_constructor_bytes (exp, (unsigned char *) tmp, len);
+         p = tmp;
          break;
        }
       else
@@ -2509,7 +2513,7 @@ compare_constant_1 (exp, p)
      tree exp;
      char *p;
 {
-  register char *strp;
+  register const char *strp;
   register int len;
   register enum tree_code code = TREE_CODE (exp);
 
@@ -2566,9 +2570,10 @@ compare_constant_1 (exp, p)
       if (TREE_CODE (TREE_TYPE (exp)) == SET_TYPE)
        {
          int xlen = len = int_size_in_bytes (TREE_TYPE (exp));
+         unsigned char *tmp = (unsigned char *) alloca (len);
 
-         strp = (char *) alloca (len);
-         get_set_constructor_bytes (exp, (unsigned char *) strp, len);
+         get_set_constructor_bytes (exp, (unsigned char *) tmp, len);
+         strp = tmp;
          if (bcmp ((char *) &xlen, p, sizeof xlen))
            return 0;
 
@@ -3683,7 +3688,7 @@ find_pool_constant (f, addr)
      rtx addr;
 {
   struct pool_sym *sym;
-  char *label = XSTR (addr, 0);
+  const char *label = XSTR (addr, 0);
 
   for (sym = f->varasm->x_const_rtx_sym_hash_table[SYMHASH (label)]; sym; sym = sym->next)
     if (sym->label == label)
@@ -3873,7 +3878,7 @@ mark_constant_pool ()
   for (pool = first_pool; pool; pool = pool->next)
     {
       struct pool_sym *sym;
-      char *label;
+      const char *label;
 
       /* skip unmarked entries; no insn refers to them. */
       if (!pool->mark)
@@ -4702,7 +4707,7 @@ void
 assemble_alias (decl, target)
      tree decl, target ATTRIBUTE_UNUSED;
 {
-  char *name;
+  const char *name;
 
   make_decl_rtl (decl, (char *) 0, 1);
   name = XSTR (XEXP (DECL_RTL (decl), 0), 0);
index 9188539..5e912be 100644 (file)
@@ -103,7 +103,7 @@ Boston, MA 02111-1307, USA.  */
   if (current_sym_addr && current_sym_code == N_FUN            \
       && GET_CODE (current_sym_addr) == SYMBOL_REF)            \
     {                                                          \
-      char *_p = XSTR (current_sym_addr, 0);                   \
+      const char *_p = XSTR (current_sym_addr, 0);             \
       if (*_p == '*')                                          \
        fprintf (asmfile, "%s", _p+1);                          \
       else                                                     \