]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
alpha.c (alpha_mangle_type, [...]): Constify.
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>
Fri, 24 Aug 2007 19:00:59 +0000 (19:00 +0000)
committerKaveh Ghazi <ghazi@gcc.gnu.org>
Fri, 24 Aug 2007 19:00:59 +0000 (19:00 +0000)
* config/alpha/alpha.c (alpha_mangle_type, decl_has_samegp,
alpha_in_small_data_p, alpha_split_complex_arg,
alpha_stdarg_optimize_hook, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
Constify.
* config/arm/arm-protos.h (arm_mangle_type): Likewise.
* config/arm/arm.c (arm_comp_type_attributes, arm_mangle_type):
Likewise.
* config/bfin/bfin.c (funkind, bfin_comp_type_attributes,
TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
* config/darwin-protos.h (darwin_binds_local_p): Likewise.
* config/darwin.c (darwin_binds_local_p): Likewise.
* config/frv/frv.c (frv_string_begins_with, frv_in_small_data_p):
Likewise.
* config/i386/i386-protos.h (i386_pe_binds_local_p,
i386_pe_valid_dllimport_attribute_p): Likewise.
* config/i386/i386.c (ix86_function_regparm,
ix86_comp_type_attributes, ix86_ms_bitfield_layout_p,
x86_can_output_mi_thunk, ix86_mangle_type,
TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
* config/i386/winnt.c (i386_pe_valid_dllimport_attribute_p,
i386_pe_binds_local_p): Likewise.
* config/ia64/ia64.c
(ia64_first_cycle_multipass_dfa_lookahead_guard_spec,
ia64_needs_block_p, ia64_in_small_data_p, ia64_mangle_type,
ia64_invalid_conversion, ia64_invalid_unary_op,
ia64_invalid_binary_op, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
Likewise.
* config/m32c/m32c.c (m32c_comp_type_attributes): Likewise.
* config/m32r/m32r.c (m32r_in_small_data_p): Likewise.
* config/m68k/m68k.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
* config/mips/mips.c (mips_use_blocks_for_constant_p,
mips_in_small_data_p, mips_use_anchors_for_symbol_p,
mips_comp_type_attributes, TARGET_ASM_CAN_OUTPUT_MI_THUNK,
mips_near_type_p, mips_far_type_p, mips_global_symbol_p,
mips_symbol_binds_local_p, mips_classify_symbol): Likewise.
* config/pa/pa.c (pa_commutative_p): Likewise.
* config/rs6000/rs6000-protos.h (rs6000_elf_in_small_data_p):
Likewise.
* config/rs6000/rs6000.c (rs6000_invalid_within_doloop,
rs6000_ms_bitfield_layout_p, rs6000_mangle_type,
rs6000_use_blocks_for_constant_p,
rs6000_vector_alignment_reachable, rs6000_is_opaque_type,
invalid_arg_for_unprototyped_fn, TARGET_ASM_CAN_OUTPUT_MI_THUNK,
TARGET_SPLIT_COMPLEX_ARG, rs6000_elf_in_small_data_p): Likewise.
* config/s390/s390.c (s390_mangle_type,
TARGET_ASM_CAN_OUTPUT_MI_THUNK, TARGET_INVALID_WITHIN_DOLOOP):
Likewise.
* config/score/score.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK,
th_in_small_data_p): Likewise.
* config/sh/sh.c (sh_ms_bitfield_layout_p,
sh_dwarf_calling_convention, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
Likewise.
* config/sparc/sparc.c (sparc_can_output_mi_thunk,
sparc_mangle_type): Likewise.
* config/spu/spu.c (spu_vector_alignment_reachable): Likewise.
* config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): Likewise.
* emit-rtl.c (const_fixed_htab_hash, const_fixed_htab_eq):
Likewise.
* hooks.c (hook_bool_mode_const_rtx_false,
hook_bool_mode_const_rtx_true,
hook_bool_const_tree_hwi_hwi_const_tree_false,
hook_bool_const_tree_hwi_hwi_const_tree_true,
hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
hook_constcharptr_const_tree_null,
hook_constcharptr_const_rtx_null,
hook_constcharptr_const_tree_const_tree_null,
hook_constcharptr_int_const_tree_null,
hook_constcharptr_int_const_tree_const_tree_null): New.
(hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
hook_bool_tree_hwi_hwi_tree_false,
hook_bool_tree_hwi_hwi_tree_true, hook_int_tree_0,
hook_int_tree_tree_1, hook_constcharptr_tree_null,
hook_constcharptr_rtx_null, hook_constcharptr_tree_tree_null,
hook_constcharptr_int_tree_null,
hook_constcharptr_int_tree_tree_null): Delete.
(default_can_output_mi_thunk_no_vcall): Constify.
* hooks.h (hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
hook_bool_tree_hwi_hwi_tree_false,
hook_bool_tree_hwi_hwi_tree_true, hook_int_tree_0,
hook_int_tree_tree_1, hook_constcharptr_tree_null,
hook_constcharptr_rtx_null, hook_constcharptr_tree_tree_null,
hook_constcharptr_int_tree_null,
hook_constcharptr_int_tree_tree_null): Delete.
(hook_bool_mode_const_rtx_false, hook_bool_mode_const_rtx_true,
hook_bool_const_tree_hwi_hwi_const_tree_false,
hook_bool_const_tree_hwi_hwi_const_tree_true,
hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
hook_constcharptr_const_tree_null,
hook_constcharptr_const_rtx_null,
hook_constcharptr_const_tree_const_tree_null,
hook_constcharptr_int_const_tree_null,
hook_constcharptr_int_const_tree_const_tree_null): New.
(default_can_output_mi_thunk_no_vcall): Constify.
* integrate.c (function_attribute_inlinable_p): Likewise.
* integrate.h (function_attribute_inlinable_p): Likewise.
* jump.c (rtx_renumbered_equal_p): Likewise.
* output.h (decl_readonly_section, categorize_decl_for_section,
default_use_anchors_for_symbol_p, default_binds_local_p,
default_binds_local_p_1): Likewise.
* rtl.h (rtx_renumbered_equal_p, decl_default_tls_model):
Likewise.
* target-def.h (TARGET_ASM_CAN_OUTPUT_MI_THUNK,
TARGET_VALID_DLLIMPORT_ATTRIBUTE_P, TARGET_VECTOR_OPAQUE_P,
TARGET_COMMUTATIVE_P, TARGET_USE_BLOCKS_FOR_CONSTANT_P,
TARGET_COMP_TYPE_ATTRIBUTES,
TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P,
TARGET_MS_BITFIELD_LAYOUT_P, TARGET_MANGLE_TYPE,
TARGET_IN_SMALL_DATA_P, TARGET_INVALID_CONVERSION,
TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP,
TARGET_DWARF_CALLING_CONVENTION): Likewise.
* target.h (can_output_mi_thunk, needs_block_p,
first_cycle_multipass_dfa_lookahead_guard_spec,
vector_alignment_reachable, comp_type_attributes,
function_attribute_inlinable_p, ms_bitfield_layout_p, mangle_type,
commutative_p, use_blocks_for_constant_p,
use_anchors_for_symbol_p, in_small_data_p, binds_local_p,
vector_opaque_p, dwarf_calling_convention, stdarg_optimize_hook,
invalid_within_doloop, valid_dllimport_attribute_p,
split_complex_arg, invalid_arg_for_unprototyped_fn,
invalid_conversion, invalid_unary_op, invalid_binary_op):
Likewise.
* targhooks.c (default_invalid_within_doloop,
hook_invalid_arg_for_unprototyped_fn,
default_builtin_vector_alignment_reachable): Likewise.
(hook_bool_rtx_commutative_p): Delete.
(hook_bool_const_rtx_commutative_p): New.
* targhooks.h (default_invalid_within_doloop,
default_builtin_vector_alignment_reachable,
hook_invalid_arg_for_unprototyped_fn): Constify.
(hook_bool_rtx_commutative_p): Delete.
(hook_bool_const_rtx_commutative_p): New.
* varasm.c (bss_initializer_p, decl_default_tls_model,
categorize_decl_for_section, decl_readonly_section,
default_use_anchors_for_symbol_p, default_binds_local_p,
default_binds_local_p_1): Constify.

From-SVN: r127785

38 files changed:
gcc/ChangeLog
gcc/config/alpha/alpha.c
gcc/config/arm/arm-protos.h
gcc/config/arm/arm.c
gcc/config/bfin/bfin.c
gcc/config/darwin-protos.h
gcc/config/darwin.c
gcc/config/frv/frv.c
gcc/config/i386/i386-protos.h
gcc/config/i386/i386.c
gcc/config/i386/winnt.c
gcc/config/ia64/ia64.c
gcc/config/m32c/m32c.c
gcc/config/m32r/m32r.c
gcc/config/m68k/m68k.c
gcc/config/mips/mips.c
gcc/config/pa/pa.c
gcc/config/rs6000/rs6000-protos.h
gcc/config/rs6000/rs6000.c
gcc/config/s390/s390.c
gcc/config/score/score.c
gcc/config/sh/sh.c
gcc/config/sparc/sparc.c
gcc/config/spu/spu.c
gcc/config/xtensa/xtensa.c
gcc/emit-rtl.c
gcc/hooks.c
gcc/hooks.h
gcc/integrate.c
gcc/integrate.h
gcc/jump.c
gcc/output.h
gcc/rtl.h
gcc/target-def.h
gcc/target.h
gcc/targhooks.c
gcc/targhooks.h
gcc/varasm.c

index d37b42b60ed8e234151e2763a7e92d5fcf7a5f7d..789d74ec0dd0085223e8bb53705772e32ed38490 100644 (file)
@@ -1,3 +1,141 @@
+2007-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * config/alpha/alpha.c (alpha_mangle_type, decl_has_samegp,
+       alpha_in_small_data_p, alpha_split_complex_arg,
+       alpha_stdarg_optimize_hook, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
+       Constify.
+       * config/arm/arm-protos.h (arm_mangle_type): Likewise.
+       * config/arm/arm.c (arm_comp_type_attributes, arm_mangle_type):
+       Likewise.
+       * config/bfin/bfin.c (funkind, bfin_comp_type_attributes,
+       TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
+       * config/darwin-protos.h (darwin_binds_local_p): Likewise.
+       * config/darwin.c (darwin_binds_local_p): Likewise.
+       * config/frv/frv.c (frv_string_begins_with, frv_in_small_data_p):
+       Likewise.
+       * config/i386/i386-protos.h (i386_pe_binds_local_p,
+       i386_pe_valid_dllimport_attribute_p): Likewise.
+       * config/i386/i386.c (ix86_function_regparm,
+       ix86_comp_type_attributes, ix86_ms_bitfield_layout_p,
+       x86_can_output_mi_thunk, ix86_mangle_type,
+       TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
+       * config/i386/winnt.c (i386_pe_valid_dllimport_attribute_p,
+       i386_pe_binds_local_p): Likewise.
+       * config/ia64/ia64.c
+       (ia64_first_cycle_multipass_dfa_lookahead_guard_spec,
+       ia64_needs_block_p, ia64_in_small_data_p, ia64_mangle_type,
+       ia64_invalid_conversion, ia64_invalid_unary_op,
+       ia64_invalid_binary_op, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
+       Likewise.
+       * config/m32c/m32c.c (m32c_comp_type_attributes): Likewise.
+       * config/m32r/m32r.c (m32r_in_small_data_p): Likewise.
+       * config/m68k/m68k.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
+       * config/mips/mips.c (mips_use_blocks_for_constant_p,
+       mips_in_small_data_p, mips_use_anchors_for_symbol_p,
+       mips_comp_type_attributes, TARGET_ASM_CAN_OUTPUT_MI_THUNK,
+       mips_near_type_p, mips_far_type_p, mips_global_symbol_p,
+       mips_symbol_binds_local_p, mips_classify_symbol): Likewise.
+       * config/pa/pa.c (pa_commutative_p): Likewise.
+       * config/rs6000/rs6000-protos.h (rs6000_elf_in_small_data_p):
+       Likewise.
+       * config/rs6000/rs6000.c (rs6000_invalid_within_doloop,
+       rs6000_ms_bitfield_layout_p, rs6000_mangle_type,
+       rs6000_use_blocks_for_constant_p,
+       rs6000_vector_alignment_reachable, rs6000_is_opaque_type,
+       invalid_arg_for_unprototyped_fn, TARGET_ASM_CAN_OUTPUT_MI_THUNK,
+       TARGET_SPLIT_COMPLEX_ARG, rs6000_elf_in_small_data_p): Likewise.
+       * config/s390/s390.c (s390_mangle_type,
+       TARGET_ASM_CAN_OUTPUT_MI_THUNK, TARGET_INVALID_WITHIN_DOLOOP):
+       Likewise.
+       * config/score/score.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK,
+       th_in_small_data_p): Likewise.
+       * config/sh/sh.c (sh_ms_bitfield_layout_p,
+       sh_dwarf_calling_convention, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
+       Likewise.
+       * config/sparc/sparc.c (sparc_can_output_mi_thunk,
+       sparc_mangle_type): Likewise.
+       * config/spu/spu.c (spu_vector_alignment_reachable): Likewise.
+       * config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): Likewise.
+       * emit-rtl.c (const_fixed_htab_hash, const_fixed_htab_eq):
+       Likewise.
+       * hooks.c (hook_bool_mode_const_rtx_false,
+       hook_bool_mode_const_rtx_true,
+       hook_bool_const_tree_hwi_hwi_const_tree_false,
+       hook_bool_const_tree_hwi_hwi_const_tree_true,
+       hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
+       hook_constcharptr_const_tree_null,
+       hook_constcharptr_const_rtx_null,
+       hook_constcharptr_const_tree_const_tree_null,
+       hook_constcharptr_int_const_tree_null,
+       hook_constcharptr_int_const_tree_const_tree_null): New.
+       (hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
+       hook_bool_tree_hwi_hwi_tree_false,
+       hook_bool_tree_hwi_hwi_tree_true, hook_int_tree_0,
+       hook_int_tree_tree_1, hook_constcharptr_tree_null,
+       hook_constcharptr_rtx_null, hook_constcharptr_tree_tree_null,
+       hook_constcharptr_int_tree_null,
+       hook_constcharptr_int_tree_tree_null): Delete.
+       (default_can_output_mi_thunk_no_vcall): Constify.
+       * hooks.h (hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
+       hook_bool_tree_hwi_hwi_tree_false,
+       hook_bool_tree_hwi_hwi_tree_true, hook_int_tree_0,
+       hook_int_tree_tree_1, hook_constcharptr_tree_null,
+       hook_constcharptr_rtx_null, hook_constcharptr_tree_tree_null,
+       hook_constcharptr_int_tree_null,
+       hook_constcharptr_int_tree_tree_null): Delete.
+       (hook_bool_mode_const_rtx_false, hook_bool_mode_const_rtx_true,
+       hook_bool_const_tree_hwi_hwi_const_tree_false,
+       hook_bool_const_tree_hwi_hwi_const_tree_true,
+       hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
+       hook_constcharptr_const_tree_null,
+       hook_constcharptr_const_rtx_null,
+       hook_constcharptr_const_tree_const_tree_null,
+       hook_constcharptr_int_const_tree_null,
+       hook_constcharptr_int_const_tree_const_tree_null): New.
+       (default_can_output_mi_thunk_no_vcall): Constify.
+       * integrate.c (function_attribute_inlinable_p): Likewise.
+       * integrate.h (function_attribute_inlinable_p): Likewise.
+       * jump.c (rtx_renumbered_equal_p): Likewise.
+       * output.h (decl_readonly_section, categorize_decl_for_section,
+       default_use_anchors_for_symbol_p, default_binds_local_p,
+       default_binds_local_p_1): Likewise.
+       * rtl.h (rtx_renumbered_equal_p, decl_default_tls_model):
+       Likewise.
+       * target-def.h (TARGET_ASM_CAN_OUTPUT_MI_THUNK,
+       TARGET_VALID_DLLIMPORT_ATTRIBUTE_P, TARGET_VECTOR_OPAQUE_P,
+       TARGET_COMMUTATIVE_P, TARGET_USE_BLOCKS_FOR_CONSTANT_P,
+       TARGET_COMP_TYPE_ATTRIBUTES,
+       TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P,
+       TARGET_MS_BITFIELD_LAYOUT_P, TARGET_MANGLE_TYPE,
+       TARGET_IN_SMALL_DATA_P, TARGET_INVALID_CONVERSION,
+       TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP,
+       TARGET_DWARF_CALLING_CONVENTION): Likewise.
+       * target.h (can_output_mi_thunk, needs_block_p,
+       first_cycle_multipass_dfa_lookahead_guard_spec,
+       vector_alignment_reachable, comp_type_attributes,
+       function_attribute_inlinable_p, ms_bitfield_layout_p, mangle_type,
+       commutative_p, use_blocks_for_constant_p,
+       use_anchors_for_symbol_p, in_small_data_p, binds_local_p,
+       vector_opaque_p, dwarf_calling_convention, stdarg_optimize_hook,
+       invalid_within_doloop, valid_dllimport_attribute_p,
+       split_complex_arg, invalid_arg_for_unprototyped_fn,
+       invalid_conversion, invalid_unary_op, invalid_binary_op):
+       Likewise.
+       * targhooks.c (default_invalid_within_doloop,
+       hook_invalid_arg_for_unprototyped_fn,
+       default_builtin_vector_alignment_reachable): Likewise.
+       (hook_bool_rtx_commutative_p): Delete.
+       (hook_bool_const_rtx_commutative_p): New.
+       * targhooks.h (default_invalid_within_doloop,
+       default_builtin_vector_alignment_reachable,
+       hook_invalid_arg_for_unprototyped_fn): Constify.
+       (hook_bool_rtx_commutative_p): Delete.
+       (hook_bool_const_rtx_commutative_p): New.
+       * varasm.c (bss_initializer_p, decl_default_tls_model,
+       categorize_decl_for_section, decl_readonly_section,
+       default_use_anchors_for_symbol_p, default_binds_local_p,
+       default_binds_local_p_1): Constify.
+
 2007-08-24  Jie Zhang  <jie.zhang@analog.com>
 
        * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
index 4b4eb05cb6b8c3b27958cb64b517bd5bc6428e87..48696b5ddbdbe40cc90c003ca2a902c2a663a0da 100644 (file)
@@ -240,7 +240,7 @@ alpha_handle_option (size_t code, const char *arg, int value)
 /* Implement TARGET_MANGLE_TYPE.  */
 
 static const char *
-alpha_mangle_type (tree type)
+alpha_mangle_type (const_tree type)
 {
   if (TYPE_MAIN_VARIANT (type) == long_double_type_node
       && TARGET_LONG_DOUBLE_128)
@@ -717,7 +717,7 @@ tls_symbolic_operand_type (rtx symbol)
    function in the current unit of translation.  */
 
 static bool
-decl_has_samegp (tree decl)
+decl_has_samegp (const_tree decl)
 {
   /* Functions that are not local can be overridden, and thus may
      not share the same gp.  */
@@ -740,7 +740,7 @@ decl_has_samegp (tree decl)
 /* Return true if EXP should be placed in the small data section.  */
 
 static bool
-alpha_in_small_data_p (tree exp)
+alpha_in_small_data_p (const_tree exp)
 {
   /* We want to merge strings, so we never consider them small data.  */
   if (TREE_CODE (exp) == STRING_CST)
@@ -5762,7 +5762,7 @@ function_value (const_tree valtype, const_tree func ATTRIBUTE_UNUSED,
    should not split these values.  */
 
 static bool
-alpha_split_complex_arg (tree type)
+alpha_split_complex_arg (const_tree type)
 {
   return TYPE_MODE (type) != TCmode;
 }
@@ -5864,7 +5864,7 @@ va_list_skip_additions (tree lhs)
    current statement.  */
 
 static bool
-alpha_stdarg_optimize_hook (struct stdarg_info *si, tree lhs, tree rhs)
+alpha_stdarg_optimize_hook (struct stdarg_info *si, const_tree lhs, const_tree rhs)
 {
   tree base, offset, arg1, arg2;
   int offset_arg = 1;
@@ -10650,7 +10650,7 @@ alpha_init_libfuncs (void)
 #undef TARGET_ASM_OUTPUT_MI_THUNK
 #define TARGET_ASM_OUTPUT_MI_THUNK alpha_output_mi_thunk_osf
 #undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
-#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_true
+#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_const_tree_hwi_hwi_const_tree_true
 #undef TARGET_STDARG_OPTIMIZE_HOOK
 #define TARGET_STDARG_OPTIMIZE_HOOK alpha_stdarg_optimize_hook
 #endif
index 775cd92e8658a60ff0d4994db88b59bd7a8a9b54..fd81903eae151c57061f6dd58bfde52c6b730a03 100644 (file)
@@ -214,6 +214,6 @@ extern void arm_pr_long_calls (struct cpp_reader *);
 extern void arm_pr_no_long_calls (struct cpp_reader *);
 extern void arm_pr_long_calls_off (struct cpp_reader *);
 
-extern const char *arm_mangle_type (tree);
+extern const char *arm_mangle_type (const_tree);
 
 #endif /* ! GCC_ARM_PROTOS_H */
index b466dafe71df302e9cf9a3dd612b29d42a00367f..fca424aa5772d4ba8d73fa3d63aca0957370d2e1 100644 (file)
@@ -116,7 +116,7 @@ static tree arm_handle_notshared_attribute (tree *, tree, tree, int, bool *);
 static void arm_output_function_epilogue (FILE *, HOST_WIDE_INT);
 static void arm_output_function_prologue (FILE *, HOST_WIDE_INT);
 static void thumb1_output_function_prologue (FILE *, HOST_WIDE_INT);
-static int arm_comp_type_attributes (tree, tree);
+static int arm_comp_type_attributes (const_tree, const_tree);
 static void arm_set_default_type_attributes (tree);
 static int arm_adjust_cost (rtx, rtx, rtx, int);
 static int count_insns_for_constant (HOST_WIDE_INT, int);
@@ -3185,7 +3185,7 @@ arm_handle_notshared_attribute (tree *node,
    are compatible, and 2 if they are nearly compatible (which causes a
    warning to be generated).  */
 static int
-arm_comp_type_attributes (tree type1, tree type2)
+arm_comp_type_attributes (const_tree type1, const_tree type2)
 {
   int l1, l2, s1, s2;
 
@@ -18966,7 +18966,7 @@ static arm_mangle_map_entry arm_mangle_map[] = {
 };
 
 const char *
-arm_mangle_type (tree type)
+arm_mangle_type (const_tree type)
 {
   arm_mangle_map_entry *pos = arm_mangle_map;
 
index ac64215e26c42a875f561eb4fb6714210efd95f2..2d27c3244b65925b9c3250f0b9cba951ee98078d 100644 (file)
@@ -140,7 +140,8 @@ conditional_register_usage (void)
 /* Examine machine-dependent attributes of function type FUNTYPE and return its
    type.  See the definition of E_FUNKIND.  */
 
-static e_funkind funkind (tree funtype)
+static e_funkind
+funkind (const_tree funtype)
 {
   tree attrs = TYPE_ATTRIBUTES (funtype);
   if (lookup_attribute ("interrupt_handler", attrs))
@@ -4578,7 +4579,7 @@ handle_int_attribute (tree *node, tree name,
    warning to be generated).  */
 
 static int
-bfin_comp_type_attributes (tree type1, tree type2)
+bfin_comp_type_attributes (const_tree type1, const_tree type2)
 {
   e_funkind kind1, kind2;
 
@@ -5376,7 +5377,7 @@ bfin_expand_builtin (tree exp, rtx target ATTRIBUTE_UNUSED,
 #undef TARGET_ASM_OUTPUT_MI_THUNK
 #define TARGET_ASM_OUTPUT_MI_THUNK bfin_output_mi_thunk
 #undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
-#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_true
+#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_const_tree_hwi_hwi_const_tree_true
 
 #undef TARGET_SCHED_ADJUST_COST
 #define TARGET_SCHED_ADJUST_COST bfin_adjust_cost
index 5a0a2c457124df7ab93dd1ad71656ce3bea69136..a8ce17c01110a1d3f80723e5a17bf7a14374ceb8 100644 (file)
@@ -84,7 +84,7 @@ extern void darwin_asm_output_dwarf_delta (FILE *, int, const char *,
                                           const char *);
 extern void darwin_asm_output_dwarf_offset (FILE *, int, const char *,
                                            section *);
-extern bool darwin_binds_local_p (tree);
+extern bool darwin_binds_local_p (const_tree);
 extern void darwin_cpp_builtins (struct cpp_reader *);
 extern void darwin_asm_output_anchor (rtx symbol);
 extern bool darwin_kextabi_p (void);
index 1996624f22e5ca9aba2a960d16a301fe792b5594..92ffb821cbb0ad831fcbd3890f7d083932feff98 100644 (file)
@@ -1671,7 +1671,7 @@ darwin_file_end (void)
    functions at dynamic-link time, except for vtables in kexts.  */
 
 bool
-darwin_binds_local_p (tree decl)
+darwin_binds_local_p (const_tree decl)
 {
   return default_binds_local_p_1 (decl,
                                  TARGET_KEXTABI && DARWIN_VTABLE_P (decl));
index 92674bba8e1dfdd539674ab0b63f4da4b0d75652..9c31b8bb5007774227cd8916815782953073d27b 100644 (file)
@@ -270,7 +270,7 @@ frv_cpu_t frv_cpu_type = CPU_TYPE;  /* value of -mcpu= */
 
 static bool frv_handle_option                  (size_t, const char *, int);
 static int frv_default_flags_for_cpu           (void);
-static int frv_string_begins_with              (tree, const char *);
+static int frv_string_begins_with              (const_tree, const char *);
 static FRV_INLINE bool frv_small_data_reloc_p  (rtx, int);
 static void frv_print_operand_memory_reference_reg
                                                (FILE *, rtx);
@@ -358,7 +358,7 @@ static bool frv_assemble_integer            (rtx, unsigned, int);
 static void frv_init_builtins                  (void);
 static rtx frv_expand_builtin                  (tree, rtx, rtx, enum machine_mode, int);
 static void frv_init_libfuncs                  (void);
-static bool frv_in_small_data_p                        (tree);
+static bool frv_in_small_data_p                        (const_tree);
 static void frv_asm_output_mi_thunk
   (FILE *, tree, HOST_WIDE_INT, HOST_WIDE_INT, tree);
 static void frv_setup_incoming_varargs         (CUMULATIVE_ARGS *,
@@ -833,9 +833,9 @@ frv_optimization_options (int level, int size ATTRIBUTE_UNUSED)
 /* Return true if NAME (a STRING_CST node) begins with PREFIX.  */
 
 static int
-frv_string_begins_with (tree name, const char *prefix)
+frv_string_begins_with (const_tree name, const char *prefix)
 {
-  int prefix_len = strlen (prefix);
+  const int prefix_len = strlen (prefix);
 
   /* Remember: NAME's length includes the null terminator.  */
   return (TREE_STRING_LENGTH (name) > prefix_len
@@ -9430,10 +9430,10 @@ frv_expand_builtin (tree exp,
 }
 
 static bool
-frv_in_small_data_p (tree decl)
+frv_in_small_data_p (const_tree decl)
 {
   HOST_WIDE_INT size;
-  tree section_name;
+  const_tree section_name;
 
   /* Don't apply the -G flag to internal compiler structures.  We
      should leave such structures in the main data section, partly
index 76c8f84a94b5f8a351eed105f7a355a6b42e04c4..a12a4f114f14057cfd9a2e181ff1757a430796b7 100644 (file)
@@ -211,9 +211,9 @@ extern void i386_pe_declare_function_type (FILE *, const char *, int);
 extern void i386_pe_record_external_function (tree, const char *);
 extern void i386_pe_maybe_record_exported_symbol (tree, const char *, int);
 extern void i386_pe_encode_section_info (tree, rtx, int);
-extern bool i386_pe_binds_local_p (tree);
+extern bool i386_pe_binds_local_p (const_tree);
 extern const char *i386_pe_strip_name_encoding_full (const char *);
-extern bool i386_pe_valid_dllimport_attribute_p (tree);
+extern bool i386_pe_valid_dllimport_attribute_p (const_tree);
 extern unsigned int i386_pe_section_type_flags (tree, const char *, int);
 extern void i386_pe_asm_named_section (const char *, unsigned int, tree);
 extern void i386_pe_asm_output_aligned_decl_common (FILE *, tree,
index 9fcceef1273a0e69e8e2db85b9a029b1f5e5b7ab..42684db4499d78ab95fc0f8b85bed9f804af429e 100644 (file)
@@ -1574,7 +1574,7 @@ static bool ext_80387_constants_init = 0;
 \f
 static struct machine_function * ix86_init_machine_status (void);
 static rtx ix86_function_value (const_tree, const_tree, bool);
-static int ix86_function_regparm (tree, tree);
+static int ix86_function_regparm (const_tree, const_tree);
 static void ix86_compute_frame_layout (struct ix86_frame *);
 static bool ix86_expand_vector_init_one_nonzero (bool, enum machine_mode,
                                                 rtx, rtx, int);
@@ -2905,7 +2905,7 @@ ix86_handle_cconv_attribute (tree *node, tree name,
    warning to be generated).  */
 
 static int
-ix86_comp_type_attributes (tree type1, tree type2)
+ix86_comp_type_attributes (const_tree type1, const_tree type2)
 {
   /* Check for mismatch of non-default calling convention.  */
   const char *const rtdstr = TARGET_RTD ? "cdecl" : "stdcall";
@@ -2938,7 +2938,7 @@ ix86_comp_type_attributes (tree type1, tree type2)
    or considering a libcall.  */
 
 static int
-ix86_function_regparm (tree type, tree decl)
+ix86_function_regparm (const_tree type, const_tree decl)
 {
   tree attr;
   int regparm = ix86_regparm;
@@ -2957,7 +2957,8 @@ ix86_function_regparm (tree type, tree decl)
   if (decl && TREE_CODE (decl) == FUNCTION_DECL
       && flag_unit_at_a_time && !profile_flag)
     {
-      struct cgraph_local_info *i = cgraph_local_info (decl);
+      /* FIXME: remove this CONST_CAST when cgraph.[ch] is constified.  */
+      struct cgraph_local_info *i = cgraph_local_info ((tree)CONST_CAST(decl));
       if (i && i->local)
        {
          int local_regparm, globals = 0, regno;
@@ -21150,7 +21151,7 @@ ix86_handle_struct_attribute (tree *node, tree name,
 }
 
 static bool
-ix86_ms_bitfield_layout_p (tree record_type)
+ix86_ms_bitfield_layout_p (const_tree record_type)
 {
   return (TARGET_MS_BITFIELD_LAYOUT &&
          !lookup_attribute ("gcc_struct", TYPE_ATTRIBUTES (record_type)))
@@ -21192,9 +21193,9 @@ x86_this_parameter (tree function)
 /* Determine whether x86_output_mi_thunk can succeed.  */
 
 static bool
-x86_can_output_mi_thunk (tree thunk ATTRIBUTE_UNUSED,
+x86_can_output_mi_thunk (const_tree thunk ATTRIBUTE_UNUSED,
                         HOST_WIDE_INT delta ATTRIBUTE_UNUSED,
-                        HOST_WIDE_INT vcall_offset, tree function)
+                        HOST_WIDE_INT vcall_offset, const_tree function)
 {
   /* 64-bit can handle anything.  */
   if (TARGET_64BIT)
@@ -22834,7 +22835,7 @@ i386_solaris_elf_named_section (const char *name, unsigned int flags,
 /* Return the mangling of TYPE if it is an extended fundamental type.  */
 
 static const char *
-ix86_mangle_type (tree type)
+ix86_mangle_type (const_tree type)
 {
   type = TYPE_MAIN_VARIANT (type);
 
@@ -23580,7 +23581,7 @@ static const struct attribute_spec ix86_attribute_table[] =
 #undef TARGET_CANNOT_FORCE_CONST_MEM
 #define TARGET_CANNOT_FORCE_CONST_MEM ix86_cannot_force_const_mem
 #undef TARGET_USE_BLOCKS_FOR_CONSTANT_P
-#define TARGET_USE_BLOCKS_FOR_CONSTANT_P hook_bool_mode_rtx_true
+#define TARGET_USE_BLOCKS_FOR_CONSTANT_P hook_bool_mode_const_rtx_true
 
 #undef TARGET_DELEGITIMIZE_ADDRESS
 #define TARGET_DELEGITIMIZE_ADDRESS ix86_delegitimize_address
index 8de14adbc4a567c6dad4fa89279cacf0d9bb6dcb..26fe33670b872950fee65cd75d523c17cfc8aa47 100644 (file)
@@ -146,7 +146,7 @@ i386_pe_determine_dllimport_p (tree decl)
 /* Handle the -mno-fun-dllimport target switch.  */
 
 bool
-i386_pe_valid_dllimport_attribute_p (tree decl)
+i386_pe_valid_dllimport_attribute_p (const_tree decl)
 {
    if (TARGET_NOP_FUN_DLLIMPORT && TREE_CODE (decl) == FUNCTION_DECL)
      return false;
@@ -328,7 +328,7 @@ i386_pe_encode_section_info (tree decl, rtx rtl, int first)
 }
 
 bool
-i386_pe_binds_local_p (tree exp)
+i386_pe_binds_local_p (const_tree exp)
 {
   /* PE does not do dynamic binding.  Indeed, the only kind of
      non-local reference comes from a dllimport'd symbol.  */
index 14b4689f8c8dbbcafdb30016eeeb5a134a6bef25..46f75c5a205c73fe00271f4de6da9c6851d3ce5e 100644 (file)
@@ -169,14 +169,14 @@ static void ia64_dependencies_evaluation_hook (rtx, rtx);
 static void ia64_init_dfa_pre_cycle_insn (void);
 static rtx ia64_dfa_pre_cycle_insn (void);
 static int ia64_first_cycle_multipass_dfa_lookahead_guard (rtx);
-static bool ia64_first_cycle_multipass_dfa_lookahead_guard_spec (rtx);
+static bool ia64_first_cycle_multipass_dfa_lookahead_guard_spec (const_rtx);
 static int ia64_dfa_new_cycle (FILE *, int, rtx, int, int, int *);
 static void ia64_h_i_d_extended (void);
 static int ia64_mode_to_int (enum machine_mode);
 static void ia64_set_sched_flags (spec_info_t);
 static int ia64_speculate_insn (rtx, ds_t, rtx *);
 static rtx ia64_gen_spec_insn (rtx, ds_t, int, bool, bool);
-static bool ia64_needs_block_p (rtx);
+static bool ia64_needs_block_p (const_rtx);
 static rtx ia64_gen_check (rtx, rtx, bool);
 static int ia64_spec_check_p (rtx);
 static int ia64_spec_check_src_p (rtx);
@@ -211,7 +211,7 @@ static void emit_all_insn_group_barriers (FILE *);
 static void final_emit_insn_group_barriers (FILE *);
 static void emit_predicate_relation_info (void);
 static void ia64_reorg (void);
-static bool ia64_in_small_data_p (tree);
+static bool ia64_in_small_data_p (const_tree);
 static void process_epilogue (FILE *, rtx, bool, bool);
 static int process_set (FILE *, rtx, rtx, bool, bool);
 
@@ -278,10 +278,10 @@ static tree ia64_gimplify_va_arg (tree, tree, tree *, tree *);
 static bool ia64_scalar_mode_supported_p (enum machine_mode mode);
 static bool ia64_vector_mode_supported_p (enum machine_mode mode);
 static bool ia64_cannot_force_const_mem (rtx);
-static const char *ia64_mangle_type (tree);
-static const char *ia64_invalid_conversion (tree, tree);
-static const char *ia64_invalid_unary_op (int, tree);
-static const char *ia64_invalid_binary_op (int, tree, tree);
+static const char *ia64_mangle_type (const_tree);
+static const char *ia64_invalid_conversion (const_tree, const_tree);
+static const char *ia64_invalid_unary_op (int, const_tree);
+static const char *ia64_invalid_binary_op (int, const_tree, const_tree);
 static enum machine_mode ia64_c_mode_for_suffix (char);
 \f
 /* Table of valid machine attributes.  */
@@ -396,7 +396,7 @@ static const struct attribute_spec ia64_attribute_table[] =
 #undef TARGET_ASM_OUTPUT_MI_THUNK
 #define TARGET_ASM_OUTPUT_MI_THUNK ia64_output_mi_thunk
 #undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
-#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_true
+#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_const_tree_hwi_hwi_const_tree_true
 
 #undef TARGET_ASM_FILE_START
 #define TARGET_ASM_FILE_START ia64_file_start
@@ -6578,7 +6578,7 @@ ia64_first_cycle_multipass_dfa_lookahead_guard (rtx insn)
    can be chosen.  */
 
 static bool
-ia64_first_cycle_multipass_dfa_lookahead_guard_spec (rtx insn)
+ia64_first_cycle_multipass_dfa_lookahead_guard_spec (const_rtx insn)
 {
   gcc_assert (insn  && INSN_P (insn));
   /* Size of ALAT is 32.  As far as we perform conservative data speculation,
@@ -7039,7 +7039,7 @@ enum { SPEC_GEN_CHECK_MUTATION_OFFSET = 5 * SPEC_N };
 
 /* Return nonzero, if INSN needs branchy recovery check.  */
 static bool
-ia64_needs_block_p (rtx insn)
+ia64_needs_block_p (const_rtx insn)
 {
   int check_no;
 
@@ -8714,7 +8714,7 @@ ia64_eh_uses (int regno)
    types which can't go in sdata/sbss.  */
 
 static bool
-ia64_in_small_data_p (tree exp)
+ia64_in_small_data_p (const_tree exp)
 {
   if (TARGET_NO_SDATA)
     return false;
@@ -9768,7 +9768,7 @@ ia64_profile_hook (int labelno)
 /* Return the mangling of TYPE if it is an extended fundamental type.  */
 
 static const char *
-ia64_mangle_type (tree type)
+ia64_mangle_type (const_tree type)
 {
   type = TYPE_MAIN_VARIANT (type);
 
@@ -9793,7 +9793,7 @@ ia64_mangle_type (tree type)
 /* Return the diagnostic message string if conversion from FROMTYPE to
    TOTYPE is not allowed, NULL otherwise.  */
 static const char *
-ia64_invalid_conversion (tree fromtype, tree totype)
+ia64_invalid_conversion (const_tree fromtype, const_tree totype)
 {
   /* Reject nontrivial conversion to or from __fpreg.  */
   if (TYPE_MODE (fromtype) == RFmode
@@ -9809,7 +9809,7 @@ ia64_invalid_conversion (tree fromtype, tree totype)
 /* Return the diagnostic message string if the unary operation OP is
    not permitted on TYPE, NULL otherwise.  */
 static const char *
-ia64_invalid_unary_op (int op, tree type)
+ia64_invalid_unary_op (int op, const_tree type)
 {
   /* Reject operations on __fpreg other than unary + or &.  */
   if (TYPE_MODE (type) == RFmode
@@ -9822,7 +9822,7 @@ ia64_invalid_unary_op (int op, tree type)
 /* Return the diagnostic message string if the binary operation OP is
    not permitted on TYPE1 and TYPE2, NULL otherwise.  */
 static const char *
-ia64_invalid_binary_op (int op ATTRIBUTE_UNUSED, tree type1, tree type2)
+ia64_invalid_binary_op (int op ATTRIBUTE_UNUSED, const_tree type1, const_tree type2)
 {
   /* Reject operations on __fpreg.  */
   if (TYPE_MODE (type1) == RFmode || TYPE_MODE (type2) == RFmode)
index fabf999057f19004c7169f2ea0d3fb762c4fbac7..de9831102720119daaf9c9037063b3326de9fcae 100644 (file)
@@ -64,7 +64,7 @@ static tree interrupt_handler (tree *, tree, tree, int, bool *);
 static tree function_vector_handler (tree *, tree, tree, int, bool *);
 static int interrupt_p (tree node);
 static bool m32c_asm_integer (rtx, unsigned int, int);
-static int m32c_comp_type_attributes (tree, tree);
+static int m32c_comp_type_attributes (const_tree, const_tree);
 static bool m32c_fixed_condition_code_regs (unsigned int *, unsigned int *);
 static struct machine_function *m32c_init_machine_status (void);
 static void m32c_insert_attributes (tree, tree *);
@@ -2829,8 +2829,8 @@ static const struct attribute_spec m32c_attribute_table[] = {
 #undef TARGET_COMP_TYPE_ATTRIBUTES
 #define TARGET_COMP_TYPE_ATTRIBUTES m32c_comp_type_attributes
 static int
-m32c_comp_type_attributes (tree type1 ATTRIBUTE_UNUSED,
-                          tree type2 ATTRIBUTE_UNUSED)
+m32c_comp_type_attributes (const_tree type1 ATTRIBUTE_UNUSED,
+                          const_tree type2 ATTRIBUTE_UNUSED)
 {
   /* 0=incompatible 1=compatible 2=warning */
   return 1;
index ab459b6008c734c76b2dd7fcfc8afe6cecc73e47..1edd6597211deb16ad105d3ed5728fbe94ae23bf 100644 (file)
@@ -80,7 +80,7 @@ static int    m32r_adjust_priority (rtx, int);
 static int    m32r_issue_rate (void);
 
 static void m32r_encode_section_info (tree, rtx, int);
-static bool m32r_in_small_data_p (tree);
+static bool m32r_in_small_data_p (const_tree);
 static bool m32r_return_in_memory (const_tree, const_tree);
 static void m32r_setup_incoming_varargs (CUMULATIVE_ARGS *, enum machine_mode,
                                         tree, int *, int);
@@ -445,9 +445,9 @@ m32r_encode_section_info (tree decl, rtx rtl, int first)
    the object doesn't fit the linker will give an error.  */
 
 static bool
-m32r_in_small_data_p (tree decl)
+m32r_in_small_data_p (const_tree decl)
 {
-  tree section;
+  const_tree section;
 
   if (TREE_CODE (decl) != VAR_DECL)
     return false;
index 11c0a4a8cb0a0de7370a6d3e61a71f1e194b16cc..395161fff6622192bb657590f7e782d7cc0c23a6 100644 (file)
@@ -177,7 +177,7 @@ int m68k_last_compare_had_fp_operands;
 #undef TARGET_ASM_OUTPUT_MI_THUNK
 #define TARGET_ASM_OUTPUT_MI_THUNK m68k_output_mi_thunk
 #undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
-#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_true
+#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_const_tree_hwi_hwi_const_tree_true
 
 #undef TARGET_ASM_FILE_START_APP_OFF
 #define TARGET_ASM_FILE_START_APP_OFF true
index f6b56f7868c6e8995a0406f17697a600b57889a1..0dd25fc2f70eb6ba23f621864abfa98034e67dff 100644 (file)
@@ -291,7 +291,7 @@ static bool mips_valid_base_register_p (rtx, enum machine_mode, int);
 static bool mips_classify_address (struct mips_address_info *, rtx,
                                   enum machine_mode, int);
 static bool mips_cannot_force_const_mem (rtx);
-static bool mips_use_blocks_for_constant_p (enum machine_mode, rtx);
+static bool mips_use_blocks_for_constant_p (enum machine_mode, const_rtx);
 static int mips_symbol_insns (enum mips_symbol_type, enum machine_mode);
 static bool mips16_unextended_reference_p (enum machine_mode mode, rtx, rtx);
 static rtx mips_force_temporary (rtx, rtx);
@@ -344,8 +344,8 @@ static int symbolic_expression_p (rtx);
 static section *mips_select_rtx_section (enum machine_mode, rtx,
                                         unsigned HOST_WIDE_INT);
 static section *mips_function_rodata_section (tree);
-static bool mips_in_small_data_p (tree);
-static bool mips_use_anchors_for_symbol_p (rtx);
+static bool mips_in_small_data_p (const_tree);
+static bool mips_use_anchors_for_symbol_p (const_rtx);
 static int mips_fpr_return_fields (const_tree, tree *);
 static bool mips_return_in_msb (const_tree);
 static rtx mips_return_fpr_pair (enum machine_mode mode,
@@ -423,7 +423,7 @@ static rtx mips_expand_builtin_compare (enum mips_builtin_type,
 static rtx mips_expand_builtin_bposge (enum mips_builtin_type, rtx);
 static void mips_encode_section_info (tree, rtx, int);
 static void mips_extra_live_on_entry (bitmap);
-static int mips_comp_type_attributes (tree, tree);
+static int mips_comp_type_attributes (const_tree, const_tree);
 static int mips_mode_rep_extended (enum machine_mode, enum machine_mode);
 static bool mips_offset_within_alignment_p (rtx, HOST_WIDE_INT);
 static void mips_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED;
@@ -1292,7 +1292,7 @@ static const unsigned char mips16e_save_restore_regs[] = {
 #undef TARGET_ASM_OUTPUT_MI_THUNK
 #define TARGET_ASM_OUTPUT_MI_THUNK mips_output_mi_thunk
 #undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
-#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_true
+#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_const_tree_hwi_hwi_const_tree_true
 
 #undef TARGET_SETUP_INCOMING_VARARGS
 #define TARGET_SETUP_INCOMING_VARARGS mips_setup_incoming_varargs
@@ -1357,13 +1357,13 @@ struct gcc_target targetm = TARGET_INITIALIZER;
    attributes on the given TYPE.  */
 
 static bool
-mips_near_type_p (tree type)
+mips_near_type_p (const_tree type)
 {
   return lookup_attribute ("near", TYPE_ATTRIBUTES (type)) != NULL;
 }
 
 static bool
-mips_far_type_p (tree type)
+mips_far_type_p (const_tree type)
 {
   return (lookup_attribute ("long_call", TYPE_ATTRIBUTES (type)) != NULL
          || lookup_attribute ("far", TYPE_ATTRIBUTES (type)) != NULL);
@@ -1375,7 +1375,7 @@ mips_far_type_p (tree type)
    warning to be generated).  */
 
 static int
-mips_comp_type_attributes (tree type1, tree type2)
+mips_comp_type_attributes (const_tree type1, const_tree type2)
 {
   /* Check for mismatch of non-default calling convention.  */
   if (TREE_CODE (type1) != FUNCTION_TYPE)
@@ -1412,11 +1412,10 @@ mips_split_plus (rtx x, rtx *base_ptr, HOST_WIDE_INT *offset_ptr)
    (in the STB_GLOBAL sense).  */
 
 static bool
-mips_global_symbol_p (rtx x)
+mips_global_symbol_p (const_rtx x)
 {
-  tree decl;
+  const_tree const decl = SYMBOL_REF_DECL (x);
 
-  decl = SYMBOL_REF_DECL (x);
   if (!decl)
     return !SYMBOL_REF_LOCAL_P (x);
 
@@ -1429,7 +1428,7 @@ mips_global_symbol_p (rtx x)
 /* Return true if SYMBOL_REF X binds locally.  */
 
 static bool
-mips_symbol_binds_local_p (rtx x)
+mips_symbol_binds_local_p (const_rtx x)
 {
   return (SYMBOL_REF_DECL (x)
          ? targetm.binds_local_p (SYMBOL_REF_DECL (x))
@@ -1440,7 +1439,7 @@ mips_symbol_binds_local_p (rtx x)
    LABEL_REF X in context CONTEXT.  */
 
 static enum mips_symbol_type
-mips_classify_symbol (rtx x, enum mips_symbol_context context)
+mips_classify_symbol (const_rtx x, enum mips_symbol_context context)
 {
   if (TARGET_RTP_PIC)
     return SYMBOL_GOT_DISP;
@@ -1789,7 +1788,7 @@ mips_cannot_force_const_mem (rtx x)
 
 static bool
 mips_use_blocks_for_constant_p (enum machine_mode mode ATTRIBUTE_UNUSED,
-                               rtx x ATTRIBUTE_UNUSED)
+                               const_rtx x ATTRIBUTE_UNUSED)
 {
   return !TARGET_MIPS16_PCREL_LOADS;
 }
@@ -8367,7 +8366,7 @@ mips_function_rodata_section (tree decl)
    mips_classify_symbol decide when to use %gp_rel(...)($gp) accesses.  */
 
 static bool
-mips_in_small_data_p (tree decl)
+mips_in_small_data_p (const_tree decl)
 {
   HOST_WIDE_INT size;
 
@@ -8416,7 +8415,7 @@ mips_in_small_data_p (tree decl)
    where the PC acts as an anchor.  */
 
 static bool
-mips_use_anchors_for_symbol_p (rtx symbol)
+mips_use_anchors_for_symbol_p (const_rtx symbol)
 {
   switch (mips_classify_symbol (symbol, SYMBOL_CONTEXT_MEM))
     {
index cc9bb106aefa2418455368f23260e5dc4c54280c..24b798e1265243b24b6c07756d9c0073956407cf 100644 (file)
@@ -126,7 +126,7 @@ static void pa_init_builtins (void);
 static rtx hppa_builtin_saveregs (void);
 static tree hppa_gimplify_va_arg_expr (tree, tree, tree *, tree *);
 static bool pa_scalar_mode_supported_p (enum machine_mode);
-static bool pa_commutative_p (rtx x, int outer_code);
+static bool pa_commutative_p (const_rtx x, int outer_code);
 static void copy_fp_args (rtx) ATTRIBUTE_UNUSED;
 static int length_fp_args (rtx) ATTRIBUTE_UNUSED;
 static inline void pa_file_start_level (void) ATTRIBUTE_UNUSED;
@@ -8135,7 +8135,7 @@ pa_function_ok_for_sibcall (tree decl, tree exp ATTRIBUTE_UNUSED)
    space register selection rules for memory addresses.  Therefore, we
    don't consider a + b == b + a, as this might be inside a MEM.  */
 static bool
-pa_commutative_p (rtx x, int outer_code)
+pa_commutative_p (const_rtx x, int outer_code)
 {
   return (COMMUTATIVE_P (x)
          && (TARGET_NO_SPACE_REGS
index 94b23a54f6049a01341872f5bb8252aef1670d05..c73da36eb9a6bff628e19dc51b3315013943f8c3 100644 (file)
@@ -128,7 +128,7 @@ extern rtx rs6000_libcall_value (enum machine_mode);
 extern rtx rs6000_va_arg (tree, tree);
 extern int function_ok_for_sibcall (tree);
 extern void rs6000_elf_declare_function_name (FILE *, const char *, tree);
-extern bool rs6000_elf_in_small_data_p (tree);
+extern bool rs6000_elf_in_small_data_p (const_tree);
 #ifdef ARGS_SIZE_RTX
 /* expr.h defines ARGS_SIZE_RTX and `enum direction' */
 extern enum direction function_arg_padding (enum machine_mode, const_tree);
index 4a96b7b1da53558c94d882a8e0ca25330ce65b7d..dbf7e785a65567a044fb1ffccdbb13a04c7f0ac6 100644 (file)
@@ -702,7 +702,7 @@ struct processor_costs power6_cost = {
 
 \f
 static bool rs6000_function_ok_for_sibcall (tree, tree);
-static const char *rs6000_invalid_within_doloop (rtx);
+static const char *rs6000_invalid_within_doloop (const_rtx);
 static rtx rs6000_generate_compare (enum rtx_code);
 static void rs6000_emit_stack_tie (void);
 static void rs6000_frame_related (rtx, rtx, HOST_WIDE_INT, rtx, rtx);
@@ -728,10 +728,10 @@ static void rs6000_assemble_visibility (tree, int);
 static int rs6000_ra_ever_killed (void);
 static tree rs6000_handle_longcall_attribute (tree *, tree, tree, int, bool *);
 static tree rs6000_handle_altivec_attribute (tree *, tree, tree, int, bool *);
-static bool rs6000_ms_bitfield_layout_p (tree);
+static bool rs6000_ms_bitfield_layout_p (const_tree);
 static tree rs6000_handle_struct_attribute (tree *, tree, tree, int, bool *);
 static void rs6000_eliminate_indexed_memrefs (rtx operands[2]);
-static const char *rs6000_mangle_type (tree);
+static const char *rs6000_mangle_type (const_tree);
 extern const struct attribute_spec rs6000_attribute_table[];
 static void rs6000_set_default_type_attributes (tree);
 static bool rs6000_reg_live_or_pic_offset_p (int);
@@ -753,7 +753,7 @@ static section *rs6000_elf_select_rtx_section (enum machine_mode, rtx,
 static void rs6000_elf_encode_section_info (tree, rtx, int)
      ATTRIBUTE_UNUSED;
 #endif
-static bool rs6000_use_blocks_for_constant_p (enum machine_mode, rtx);
+static bool rs6000_use_blocks_for_constant_p (enum machine_mode, const_rtx);
 #if TARGET_XCOFF
 static void rs6000_xcoff_asm_output_anchor (rtx);
 static void rs6000_xcoff_asm_globalize_label (FILE *, const char *);
@@ -805,7 +805,7 @@ static tree rs6000_builtin_mul_widen_odd (tree);
 static tree rs6000_builtin_conversion (enum tree_code, tree);
 
 static void def_builtin (int, const char *, tree, int);
-static bool rs6000_vector_alignment_reachable (tree, bool);
+static bool rs6000_vector_alignment_reachable (const_tree, bool);
 static void rs6000_init_builtins (void);
 static rtx rs6000_expand_unop_builtin (enum insn_code, tree, rtx);
 static rtx rs6000_expand_binop_builtin (enum insn_code, tree, rtx);
@@ -850,7 +850,7 @@ static void compute_save_world_info (rs6000_stack_t *info_ptr);
 static void is_altivec_return_reg (rtx, void *);
 static rtx generate_set_vrsave (rtx, rs6000_stack_t *, int);
 int easy_vector_constant (rtx, enum machine_mode);
-static bool rs6000_is_opaque_type (tree);
+static bool rs6000_is_opaque_type (const_tree);
 static rtx rs6000_dwarf_register_span (rtx);
 static void rs6000_init_dwarf_reg_sizes_extra (tree);
 static rtx rs6000_legitimize_tls_address (rtx, enum tls_model);
@@ -883,7 +883,7 @@ static bool rs6000_pass_by_reference (CUMULATIVE_ARGS *, enum machine_mode,
                                      const_tree, bool);
 static int rs6000_arg_partial_bytes (CUMULATIVE_ARGS *, enum machine_mode,
                                     tree, bool);
-static const char *invalid_arg_for_unprototyped_fn (tree, tree, tree);
+static const char *invalid_arg_for_unprototyped_fn (const_tree, const_tree, const_tree);
 #if TARGET_MACHO
 static void macho_branch_islands (void);
 static int no_previous_def (tree function_name);
@@ -1100,7 +1100,7 @@ static const char alt_reg_names[][8] =
 #define TARGET_ASM_OUTPUT_MI_THUNK rs6000_output_mi_thunk
 
 #undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
-#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_true
+#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_const_tree_hwi_hwi_const_tree_true
 
 #undef TARGET_FUNCTION_OK_FOR_SIBCALL
 #define TARGET_FUNCTION_OK_FOR_SIBCALL rs6000_function_ok_for_sibcall
@@ -1141,7 +1141,7 @@ static const char alt_reg_names[][8] =
 #undef TARGET_PRETEND_OUTGOING_VARARGS_NAMED
 #define TARGET_PRETEND_OUTGOING_VARARGS_NAMED hook_bool_CUMULATIVE_ARGS_true
 #undef TARGET_SPLIT_COMPLEX_ARG
-#define TARGET_SPLIT_COMPLEX_ARG hook_bool_tree_true
+#define TARGET_SPLIT_COMPLEX_ARG hook_bool_const_tree_true
 #undef TARGET_MUST_PASS_IN_STACK
 #define TARGET_MUST_PASS_IN_STACK rs6000_must_pass_in_stack
 #undef TARGET_PASS_BY_REFERENCE
@@ -1914,7 +1914,7 @@ rs6000_builtin_mul_widen_odd (tree type)
    how may iterations are required to reach desired alignment.  */
 
 static bool
-rs6000_vector_alignment_reachable (tree type ATTRIBUTE_UNUSED, bool is_packed)
+rs6000_vector_alignment_reachable (const_tree type ATTRIBUTE_UNUSED, bool is_packed)
 {
   if (is_packed)
     return false;
@@ -14119,7 +14119,7 @@ rs6000_function_ok_for_sibcall (tree decl, tree exp ATTRIBUTE_UNUSED)
    PowerPC uses the COUNT register for branch on table instructions.  */
 
 static const char *
-rs6000_invalid_within_doloop (rtx insn)
+rs6000_invalid_within_doloop (const_rtx insn)
 {
   if (CALL_P (insn))
     return "Function call in the loop.";
@@ -19003,7 +19003,7 @@ rs6000_handle_altivec_attribute (tree *node,
    elements; we must teach the compiler how to mangle them.  */
 
 static const char *
-rs6000_mangle_type (tree type)
+rs6000_mangle_type (const_tree type)
 {
   type = TYPE_MAIN_VARIANT (type);
 
@@ -19133,7 +19133,7 @@ rs6000_handle_struct_attribute (tree *node, tree name,
 }
 
 static bool
-rs6000_ms_bitfield_layout_p (tree record_type)
+rs6000_ms_bitfield_layout_p (const_tree record_type)
 {
   return (TARGET_USE_MS_BITFIELD_LAYOUT &&
           !lookup_attribute ("gcc_struct", TYPE_ATTRIBUTES (record_type)))
@@ -19235,7 +19235,7 @@ rs6000_elf_encode_section_info (tree decl, rtx rtl, int first)
 }
 
 bool
-rs6000_elf_in_small_data_p (tree decl)
+rs6000_elf_in_small_data_p (const_tree decl)
 {
   if (rs6000_sdata == SDATA_NONE)
     return false;
@@ -19279,7 +19279,7 @@ rs6000_elf_in_small_data_p (tree decl)
 /* Implement TARGET_USE_BLOCKS_FOR_CONSTANT_P.  */
 
 static bool
-rs6000_use_blocks_for_constant_p (enum machine_mode mode, rtx x)
+rs6000_use_blocks_for_constant_p (enum machine_mode mode, const_rtx x)
 {
   return !ASM_OUTPUT_SPECIAL_POOL_ENTRY_P (x, mode);
 }
@@ -20965,7 +20965,7 @@ rs6000_initial_elimination_offset (int from, int to)
 /* Return true if TYPE is a SPE or AltiVec opaque type.  */
 
 static bool
-rs6000_is_opaque_type (tree type)
+rs6000_is_opaque_type (const_tree type)
 {
   return (type == opaque_V2SI_type_node
              || type == opaque_V2SF_type_node
@@ -21092,7 +21092,7 @@ rs6000_vector_mode_supported_p (enum machine_mode mode)
 
 /* Target hook for invalid_arg_for_unprototyped_fn. */
 static const char *
-invalid_arg_for_unprototyped_fn (tree typelist, tree funcdecl, tree val)
+invalid_arg_for_unprototyped_fn (const_tree typelist, const_tree funcdecl, const_tree val)
 {
   return (!rs6000_darwin64_abi
          && typelist == 0
index 7ac92a42a74b0828605d03779d7b8c8d407abd12..c93fe997abbc5b9298a4c21a846de22159ee4257 100644 (file)
@@ -4370,7 +4370,7 @@ s390_output_dwarf_dtprel (FILE *file, int size, rtx x)
 /* Implement TARGET_MANGLE_TYPE.  */
 
 static const char *
-s390_mangle_type (tree type)
+s390_mangle_type (const_tree type)
 {
   if (TYPE_MAIN_VARIANT (type) == long_double_type_node
       && TARGET_LONG_DOUBLE_128)
@@ -9290,7 +9290,7 @@ s390_reorg (void)
 #undef TARGET_ASM_OUTPUT_MI_THUNK
 #define TARGET_ASM_OUTPUT_MI_THUNK s390_output_mi_thunk
 #undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
-#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_true
+#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_const_tree_hwi_hwi_const_tree_true
 
 #undef  TARGET_SCHED_ADJUST_PRIORITY
 #define TARGET_SCHED_ADJUST_PRIORITY s390_adjust_priority
@@ -9334,7 +9334,7 @@ s390_reorg (void)
 #define TARGET_CC_MODES_COMPATIBLE s390_cc_modes_compatible
 
 #undef TARGET_INVALID_WITHIN_DOLOOP
-#define TARGET_INVALID_WITHIN_DOLOOP hook_constcharptr_rtx_null
+#define TARGET_INVALID_WITHIN_DOLOOP hook_constcharptr_const_rtx_null
 
 #ifdef HAVE_AS_TLS
 #undef TARGET_ASM_OUTPUT_DWARF_DTPREL
index 2f21444c2ab32fb75712846465a9749ac88ce558..6dba9903b7efab34347678903d32398aa26804eb 100644 (file)
@@ -101,7 +101,7 @@ static int score_address_cost (rtx);
 #define TARGET_ASM_OUTPUT_MI_THUNK      th_output_mi_thunk
 
 #undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
-#define TARGET_ASM_CAN_OUTPUT_MI_THUNK  hook_bool_tree_hwi_hwi_tree_true
+#define TARGET_ASM_CAN_OUTPUT_MI_THUNK  hook_bool_const_tree_hwi_hwi_const_tree_true
 
 #undef TARGET_PROMOTE_FUNCTION_ARGS
 #define TARGET_PROMOTE_FUNCTION_ARGS    hook_bool_const_tree_true
@@ -427,7 +427,7 @@ th_select_rtx_section (enum machine_mode mode, rtx x,
 
 /* Implement TARGET_IN_SMALL_DATA_P.  */
 static bool
-th_in_small_data_p (tree decl)
+th_in_small_data_p (const_tree decl)
 {
   HOST_WIDE_INT size;
 
index 655c4d4ca795053a91df9bfbb09483aef3a8cd1a..941aadb9f009f1564f41af49c78543fa0d8c8ff3 100644 (file)
@@ -214,7 +214,7 @@ static bool sh_function_ok_for_sibcall (tree, tree);
 static bool sh_cannot_modify_jumps_p (void);
 static int sh_target_reg_class (void);
 static bool sh_optimize_target_register_callee_saved (bool);
-static bool sh_ms_bitfield_layout_p (tree);
+static bool sh_ms_bitfield_layout_p (const_tree);
 
 static void sh_init_builtins (void);
 static void sh_media_init_builtins (void);
@@ -255,7 +255,7 @@ static bool sh_callee_copies (CUMULATIVE_ARGS *, enum machine_mode,
                              const_tree, bool);
 static int sh_arg_partial_bytes (CUMULATIVE_ARGS *, enum machine_mode,
                                 tree, bool);
-static int sh_dwarf_calling_convention (tree);
+static int sh_dwarf_calling_convention (const_tree);
 
 \f
 /* Initialize the GCC target structure.  */
@@ -281,7 +281,7 @@ static int sh_dwarf_calling_convention (tree);
 #define TARGET_ASM_OUTPUT_MI_THUNK sh_output_mi_thunk
 
 #undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
-#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_true
+#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_const_tree_hwi_hwi_const_tree_true
 
 #undef TARGET_ASM_FILE_START
 #define TARGET_ASM_FILE_START sh_file_start
@@ -9346,7 +9346,7 @@ sh_optimize_target_register_callee_saved (bool after_prologue_epilogue_gen)
 }
 
 static bool
-sh_ms_bitfield_layout_p (tree record_type ATTRIBUTE_UNUSED)
+sh_ms_bitfield_layout_p (const_tree record_type ATTRIBUTE_UNUSED)
 {
   return (TARGET_SH5 || TARGET_HITACHI || sh_attr_renesas_p (record_type));
 }
@@ -9774,7 +9774,7 @@ sh_vector_mode_supported_p (enum machine_mode mode)
 /* Implements target hook dwarf_calling_convention.  Return an enum
    of dwarf_calling_convention.  */
 int
-sh_dwarf_calling_convention (tree func)
+sh_dwarf_calling_convention (const_tree func)
 {
   if (sh_attr_renesas_p (func))
     return DW_CC_GNU_renesas_sh;
index a219ee9bf69bb9be2341a12d92e7fd6b820797b5..3ad1a7f3cdf5c1e2eedc340b02929705792b31e7 100644 (file)
@@ -372,8 +372,8 @@ static int sparc_vis_mul8x16 (int, int);
 static tree sparc_handle_vis_mul8x16 (int, tree, tree, tree);
 static void sparc_output_mi_thunk (FILE *, tree, HOST_WIDE_INT,
                                   HOST_WIDE_INT, tree);
-static bool sparc_can_output_mi_thunk (tree, HOST_WIDE_INT,
-                                      HOST_WIDE_INT, tree);
+static bool sparc_can_output_mi_thunk (const_tree, HOST_WIDE_INT,
+                                      HOST_WIDE_INT, const_tree);
 static struct machine_function * sparc_init_machine_status (void);
 static bool sparc_cannot_force_const_mem (rtx);
 static rtx sparc_tls_get_addr (void);
@@ -395,7 +395,7 @@ static void sparc_dwarf_handle_frame_unspec (const char *, rtx, int);
 static void sparc_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED;
 static void sparc_file_end (void);
 #ifdef TARGET_ALTERNATE_LONG_DOUBLE_MANGLING
-static const char *sparc_mangle_type (tree);
+static const char *sparc_mangle_type (const_tree);
 #endif
 #ifdef SUBTARGET_ATTRIBUTE_TABLE
 const struct attribute_spec sparc_attribute_table[];
@@ -8788,10 +8788,10 @@ sparc_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
    assembler code for the thunk function specified by the arguments
    it is passed, and false otherwise.  */
 static bool
-sparc_can_output_mi_thunk (tree thunk_fndecl ATTRIBUTE_UNUSED,
+sparc_can_output_mi_thunk (const_tree thunk_fndecl ATTRIBUTE_UNUSED,
                           HOST_WIDE_INT delta ATTRIBUTE_UNUSED,
                           HOST_WIDE_INT vcall_offset,
-                          tree function ATTRIBUTE_UNUSED)
+                          const_tree function ATTRIBUTE_UNUSED)
 {
   /* Bound the loop used in the default method above.  */
   return (vcall_offset >= -32768 || ! fixed_regs[5]);
@@ -8890,7 +8890,7 @@ sparc_file_end (void)
 /* Implement TARGET_MANGLE_TYPE.  */
 
 static const char *
-sparc_mangle_type (tree type)
+sparc_mangle_type (const_tree type)
 {
   if (!TARGET_64BIT
       && TYPE_MAIN_VARIANT (type) == long_double_type_node
index 4a9a139a3dea3df6c7b2a2dcb48a02f720a1cf69..eda0de03813e38f0c46bf5fed04a4c2c26f405cc 100644 (file)
@@ -135,7 +135,7 @@ static tree spu_builtin_mul_widen_even (tree);
 static tree spu_builtin_mul_widen_odd (tree);
 static tree spu_builtin_mask_for_load (void);
 static int spu_builtin_vectorization_cost (bool);
-static bool spu_vector_alignment_reachable (tree, bool);
+static bool spu_vector_alignment_reachable (const_tree, bool);
 
 extern const char *reg_names[];
 rtx spu_compare_op0, spu_compare_op1;
@@ -5485,7 +5485,7 @@ spu_builtin_vectorization_cost (bool runtime_test)
    how may iterations are required to reach desired alignment.  */
 
 static bool
-spu_vector_alignment_reachable (tree type ATTRIBUTE_UNUSED, bool is_packed)
+spu_vector_alignment_reachable (const_tree type ATTRIBUTE_UNUSED, bool is_packed)
 {
   if (is_packed)
     return false;
index cc37a7f38e7944610fb6dc18129551c1a4211eac..2b307997c438f980bacdd902bfbd51b633bd3d24 100644 (file)
@@ -188,7 +188,7 @@ static const int reg_nonleaf_alloc_order[FIRST_PSEUDO_REGISTER] =
 #undef TARGET_RETURN_IN_MEMORY
 #define TARGET_RETURN_IN_MEMORY xtensa_return_in_memory
 #undef TARGET_SPLIT_COMPLEX_ARG
-#define TARGET_SPLIT_COMPLEX_ARG hook_bool_tree_true
+#define TARGET_SPLIT_COMPLEX_ARG hook_bool_const_tree_true
 #undef TARGET_MUST_PASS_IN_STACK
 #define TARGET_MUST_PASS_IN_STACK must_pass_in_stack_var_size
 
index dcbeef029484604300338575997f3050bc292518..2a98a4669c2b4a4d269608d988dd2926b778ebc3 100644 (file)
@@ -259,7 +259,7 @@ const_double_htab_eq (const void *x, const void *y)
 static hashval_t
 const_fixed_htab_hash (const void *x)
 {
-  rtx value = (rtx) x;
+  const_rtx const value = (const_rtx) x;
   hashval_t h;
 
   h = fixed_hash (CONST_FIXED_VALUE (value));
@@ -274,7 +274,7 @@ const_fixed_htab_hash (const void *x)
 static int
 const_fixed_htab_eq (const void *x, const void *y)
 {
-  rtx a = (rtx)x, b = (rtx)y;
+  const_rtx const a = (const_rtx) x, b = (const_rtx) y;
 
   if (GET_MODE (a) != GET_MODE (b))
     return 0;
index fe6f8ddc961216bddfacadc93ad827efe4b148e0..289275e84415d156fcb6619bff1c0eb0be525d88 100644 (file)
@@ -71,16 +71,16 @@ hook_bool_mode_false (enum machine_mode mode ATTRIBUTE_UNUSED)
 
 /* Generic hook that takes (enum machine_mode, rtx) and returns false.  */
 bool
-hook_bool_mode_rtx_false (enum machine_mode mode ATTRIBUTE_UNUSED,
-                         rtx value ATTRIBUTE_UNUSED)
+hook_bool_mode_const_rtx_false (enum machine_mode mode ATTRIBUTE_UNUSED,
+                               const_rtx value ATTRIBUTE_UNUSED)
 {
   return false;
 }
 
 /* Generic hook that takes (enum machine_mode, rtx) and returns true.  */
 bool
-hook_bool_mode_rtx_true (enum machine_mode mode ATTRIBUTE_UNUSED,
-                        rtx value ATTRIBUTE_UNUSED)
+hook_bool_mode_const_rtx_true (enum machine_mode mode ATTRIBUTE_UNUSED,
+                              const_rtx value ATTRIBUTE_UNUSED)
 {
   return true;
 }
@@ -93,19 +93,19 @@ hook_void_FILEptr_constcharptr (FILE *a ATTRIBUTE_UNUSED, const char *b ATTRIBUT
 
 /* Used for the TARGET_ASM_CAN_OUTPUT_MI_THUNK hook.  */
 bool
-hook_bool_tree_hwi_hwi_tree_false (tree a ATTRIBUTE_UNUSED,
-                                  HOST_WIDE_INT b ATTRIBUTE_UNUSED,
-                                  HOST_WIDE_INT c ATTRIBUTE_UNUSED,
-                                  tree d ATTRIBUTE_UNUSED)
+hook_bool_const_tree_hwi_hwi_const_tree_false (const_tree a ATTRIBUTE_UNUSED,
+                                              HOST_WIDE_INT b ATTRIBUTE_UNUSED,
+                                              HOST_WIDE_INT c ATTRIBUTE_UNUSED,
+                                              const_tree d ATTRIBUTE_UNUSED)
 {
   return false;
 }
 
 bool
-hook_bool_tree_hwi_hwi_tree_true (tree a ATTRIBUTE_UNUSED,
-                                 HOST_WIDE_INT b ATTRIBUTE_UNUSED,
-                                 HOST_WIDE_INT c ATTRIBUTE_UNUSED,
-                                 tree d ATTRIBUTE_UNUSED)
+hook_bool_const_tree_hwi_hwi_const_tree_true (const_tree a ATTRIBUTE_UNUSED,
+                                             HOST_WIDE_INT b ATTRIBUTE_UNUSED,
+                                             HOST_WIDE_INT c ATTRIBUTE_UNUSED,
+                                             const_tree d ATTRIBUTE_UNUSED)
 {
   return true;
 }
@@ -126,23 +126,23 @@ hook_bool_size_t_constcharptr_int_true (size_t a ATTRIBUTE_UNUSED,
 }
 
 bool
-default_can_output_mi_thunk_no_vcall (tree a ATTRIBUTE_UNUSED,
+default_can_output_mi_thunk_no_vcall (const_tree a ATTRIBUTE_UNUSED,
                                      HOST_WIDE_INT b ATTRIBUTE_UNUSED,
                                      HOST_WIDE_INT c,
-                                     tree d ATTRIBUTE_UNUSED)
+                                     const_tree d ATTRIBUTE_UNUSED)
 {
   return c == 0;
 }
 
 int
-hook_int_tree_0 (tree a ATTRIBUTE_UNUSED)
+hook_int_const_tree_0 (const_tree a ATTRIBUTE_UNUSED)
 {
   return 0;
 }
 
 /* ??? Used for comp_type_attributes, which ought to return bool.  */
 int
-hook_int_tree_tree_1 (tree a ATTRIBUTE_UNUSED, tree b ATTRIBUTE_UNUSED)
+hook_int_const_tree_const_tree_1 (const_tree a ATTRIBUTE_UNUSED, const_tree b ATTRIBUTE_UNUSED)
 {
   return 1;
 }
@@ -272,7 +272,7 @@ hook_tree_tree_tree_tree_3rd_identity (tree a ATTRIBUTE_UNUSED,
 
 /* Generic hook that takes a tree and returns a NULL string.  */
 const char *
-hook_constcharptr_tree_null (tree t ATTRIBUTE_UNUSED)
+hook_constcharptr_const_tree_null (const_tree t ATTRIBUTE_UNUSED)
 {
   return NULL;
 }
@@ -293,29 +293,29 @@ hook_tree_tree_tree_null (tree t0 ATTRIBUTE_UNUSED, tree t1 ATTRIBUTE_UNUSED)
 
 /* Generic hook that takes a rtx and returns a NULL string.  */
 const char *
-hook_constcharptr_rtx_null (rtx r ATTRIBUTE_UNUSED)
+hook_constcharptr_const_rtx_null (const_rtx r ATTRIBUTE_UNUSED)
 {
   return NULL;
 }
 
 const char *
-hook_constcharptr_tree_tree_null (tree t0 ATTRIBUTE_UNUSED,
-                                 tree t1 ATTRIBUTE_UNUSED)
+hook_constcharptr_const_tree_const_tree_null (const_tree t0 ATTRIBUTE_UNUSED,
+                                             const_tree t1 ATTRIBUTE_UNUSED)
 {
   return NULL;
 }
 
 const char *
-hook_constcharptr_int_tree_null (int i ATTRIBUTE_UNUSED,
-                                tree t0 ATTRIBUTE_UNUSED)
+hook_constcharptr_int_const_tree_null (int i ATTRIBUTE_UNUSED,
+                                      const_tree t0 ATTRIBUTE_UNUSED)
 {
   return NULL;
 }
 
 const char *
-hook_constcharptr_int_tree_tree_null (int i ATTRIBUTE_UNUSED,
-                                     tree t0 ATTRIBUTE_UNUSED,
-                                     tree t1 ATTRIBUTE_UNUSED)
+hook_constcharptr_int_const_tree_const_tree_null (int i ATTRIBUTE_UNUSED,
+                                                 const_tree t0 ATTRIBUTE_UNUSED,
+                                                 const_tree t1 ATTRIBUTE_UNUSED)
 {
   return NULL;
 }
index 61269f3ea43a28012156e3ca659babf52cd5d449..838a4223fe31112310ec3eb446f8f9acb1ba4444 100644 (file)
@@ -28,16 +28,20 @@ extern bool hook_bool_void_false (void);
 extern bool hook_bool_void_true (void);
 extern bool hook_bool_bool_false (bool);
 extern bool hook_bool_mode_false (enum machine_mode);
-extern bool hook_bool_mode_rtx_false (enum machine_mode, rtx);
-extern bool hook_bool_mode_rtx_true (enum machine_mode, rtx);
+extern bool hook_bool_mode_const_rtx_false (enum machine_mode, const_rtx);
+extern bool hook_bool_mode_const_rtx_true (enum machine_mode, const_rtx);
 extern bool hook_bool_tree_false (tree);
 extern bool hook_bool_const_tree_false (const_tree);
 extern bool hook_bool_tree_true (tree);
 extern bool hook_bool_const_tree_true (const_tree);
-extern bool hook_bool_tree_hwi_hwi_tree_false (tree, HOST_WIDE_INT, HOST_WIDE_INT,
-                                       tree);
-extern bool hook_bool_tree_hwi_hwi_tree_true (tree, HOST_WIDE_INT, HOST_WIDE_INT,
-                                      tree);
+extern bool hook_bool_const_tree_hwi_hwi_const_tree_false (const_tree,
+                                                          HOST_WIDE_INT,
+                                                          HOST_WIDE_INT,
+                                                          const_tree);
+extern bool hook_bool_const_tree_hwi_hwi_const_tree_true (const_tree,
+                                                         HOST_WIDE_INT,
+                                                         HOST_WIDE_INT,
+                                                         const_tree);
 extern bool hook_bool_rtx_false (rtx);
 extern bool hook_bool_uintp_uintp_false (unsigned int *, unsigned int *);
 extern bool hook_bool_rtx_int_int_intp_false (rtx, int, int, int *);
@@ -52,8 +56,8 @@ extern void hook_void_FILEptr_constcharptr (FILE *, const char *);
 extern void hook_void_tree (tree);
 extern void hook_void_tree_treeptr (tree, tree *);
 
-extern int hook_int_tree_0 (tree);
-extern int hook_int_tree_tree_1 (tree, tree);
+extern int hook_int_const_tree_0 (const_tree);
+extern int hook_int_const_tree_const_tree_1 (const_tree, const_tree);
 extern int hook_int_rtx_0 (rtx);
 extern int hook_int_size_t_constcharptr_int_0 (size_t, const char *, int);
 extern int hook_int_void_no_regs (void);
@@ -64,16 +68,16 @@ extern tree hook_tree_tree_tree_bool_null (tree, tree, bool);
 
 extern unsigned hook_uint_uint_constcharptrptr_0 (unsigned, const char **);
 
-extern bool default_can_output_mi_thunk_no_vcall (tree, HOST_WIDE_INT,
-                                          HOST_WIDE_INT, tree);
+extern bool default_can_output_mi_thunk_no_vcall (const_tree, HOST_WIDE_INT,
+                                                 HOST_WIDE_INT, const_tree);
 
 extern rtx hook_rtx_rtx_identity (rtx);
 extern rtx hook_rtx_rtx_null (rtx);
 extern rtx hook_rtx_tree_int_null (tree, int);
 
-extern const char *hook_constcharptr_tree_null (tree);
-extern const char *hook_constcharptr_rtx_null (rtx);
-extern const char *hook_constcharptr_tree_tree_null (tree, tree);
-extern const char *hook_constcharptr_int_tree_null (int, tree);
-extern const char *hook_constcharptr_int_tree_tree_null (int, tree, tree);
+extern const char *hook_constcharptr_const_tree_null (const_tree);
+extern const char *hook_constcharptr_const_rtx_null (const_rtx);
+extern const char *hook_constcharptr_const_tree_const_tree_null (const_tree, const_tree);
+extern const char *hook_constcharptr_int_const_tree_null (int, const_tree);
+extern const char *hook_constcharptr_int_const_tree_const_tree_null (int, const_tree, const_tree);
 #endif
index ed5be51815b8f11b5050630211300ed05b19aa3d..7eb29f20303fc0c507c9d60cd4a6173d7ac9fafb 100644 (file)
@@ -69,15 +69,15 @@ static void set_block_abstract_flags (tree, int);
 /* Return false if the function FNDECL cannot be inlined on account of its
    attributes, true otherwise.  */
 bool
-function_attribute_inlinable_p (tree fndecl)
+function_attribute_inlinable_p (const_tree fndecl)
 {
   if (targetm.attribute_table)
     {
-      tree a;
+      const_tree a;
 
       for (a = DECL_ATTRIBUTES (fndecl); a; a = TREE_CHAIN (a))
        {
-         tree name = TREE_PURPOSE (a);
+         const_tree name = TREE_PURPOSE (a);
          int i;
 
          for (i = 0; targetm.attribute_table[i].name != NULL; i++)
index 12dfc90d0f86494eeafb39320aae27b9372f4704..c074047084d5d9ec2a0214764986edf391b9c50a 100644 (file)
@@ -32,5 +32,5 @@ extern void allocate_initial_values (rtx *);
 /* Check whether there's any attribute in a function declaration that
    makes the function uninlinable.  Returns false if it finds any,
    true otherwise.  */
-extern bool function_attribute_inlinable_p (tree);
+extern bool function_attribute_inlinable_p (const_tree);
 
index d0092f42988eb85919fa7b4f9b6c44c807dc072f..bda82a221bc8a1adb9f49fb04ae7f76d72ad8fbe 100644 (file)
@@ -1419,7 +1419,7 @@ invert_jump (rtx jump, rtx nlabel, int delete_unused)
    reversed.  */
 
 int
-rtx_renumbered_equal_p (rtx x, rtx y)
+rtx_renumbered_equal_p (const_rtx x, const_rtx y)
 {
   int i;
   const enum rtx_code code = GET_CODE (x);
index 87d5a8610ffc25bd14003bfb3e7be795307692b9..ae8404e7fe11dc8081e5ace592c10486264e1872 100644 (file)
@@ -378,7 +378,7 @@ extern bool first_function_block_is_cold;
 
 /* Decide whether DECL needs to be in a writable section.
    RELOC is the same as for SELECT_SECTION.  */
-extern bool decl_readonly_section (tree, int);
+extern bool decl_readonly_section (const_tree, int);
 
 /* This can be used to compute RELOC for the function above, when
    given a constant expression.  */
@@ -579,7 +579,7 @@ extern unsigned int default_section_type_flags (tree, const char *, int);
 extern bool have_global_bss_p (void);
 extern void default_no_named_section (const char *, unsigned int, tree);
 extern void default_elf_asm_named_section (const char *, unsigned int, tree);
-extern enum section_category categorize_decl_for_section (tree, int);
+extern enum section_category categorize_decl_for_section (const_tree, int);
 extern void default_coff_asm_named_section (const char *, unsigned int, tree);
 extern void default_pe_asm_named_section (const char *, unsigned int, tree);
 
@@ -602,9 +602,9 @@ extern section *default_elf_select_rtx_section (enum machine_mode, rtx,
 extern void default_encode_section_info (tree, rtx, int);
 extern const char *default_strip_name_encoding (const char *);
 extern void default_asm_output_anchor (rtx);
-extern bool default_use_anchors_for_symbol_p (rtx);
-extern bool default_binds_local_p (tree);
-extern bool default_binds_local_p_1 (tree, int);
+extern bool default_use_anchors_for_symbol_p (const_rtx);
+extern bool default_binds_local_p (const_tree);
+extern bool default_binds_local_p_1 (const_tree, int);
 extern void default_globalize_label (FILE *, const char *);
 extern void default_globalize_decl_name (FILE *, tree);
 extern void default_emit_unwind_label (FILE *, tree, int, int);
index cf4a0052f519eef9f3db22873e9ac62bbf4acda6..386013fdfdeff05123b2216b3b38ceb260eb06f5 100644 (file)
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -2036,7 +2036,7 @@ extern int only_sets_cc0_p (const_rtx);
 extern int sets_cc0_p (const_rtx);
 extern int invert_jump_1 (rtx, rtx);
 extern int invert_jump (rtx, rtx, int);
-extern int rtx_renumbered_equal_p (rtx, rtx);
+extern int rtx_renumbered_equal_p (const_rtx, const_rtx);
 extern int true_regnum (const_rtx);
 extern unsigned int reg_or_subregno (const_rtx);
 extern int redirect_jump_1 (rtx, rtx);
@@ -2218,7 +2218,7 @@ extern rtx emit_library_call_value (rtx, rtx, enum libcall_type,
 
 /* In varasm.c */
 extern void init_varasm_once (void);
-extern enum tls_model decl_default_tls_model (tree);
+extern enum tls_model decl_default_tls_model (const_tree);
   
 /* In rtl.c */
 extern void traverse_md_constants (int (*) (void **, void *), void *);
index aad7620ca718ca949476d4efbda68010a85ac183..0ffad7c836a46a03b975b24c08ebebe54b45af75 100644 (file)
 #endif
 
 #define TARGET_ASM_OUTPUT_MI_THUNK NULL
-#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_false
+#define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_const_tree_hwi_hwi_const_tree_false
 
 #if !defined(TARGET_HAVE_CTORS_DTORS)
 # if defined(TARGET_ASM_CONSTRUCTOR) && defined(TARGET_ASM_DESTRUCTOR)
 #endif
 
 #ifndef TARGET_VALID_DLLIMPORT_ATTRIBUTE_P
-#define TARGET_VALID_DLLIMPORT_ATTRIBUTE_P hook_bool_tree_true
+#define TARGET_VALID_DLLIMPORT_ATTRIBUTE_P hook_bool_const_tree_true
 #endif
 
 #ifndef TARGET_HAVE_TLS
 #endif
 
 #ifndef TARGET_VECTOR_OPAQUE_P
-#define TARGET_VECTOR_OPAQUE_P hook_bool_tree_false
+#define TARGET_VECTOR_OPAQUE_P hook_bool_const_tree_false
 #endif
 
 /* In hooks.c.  */
 #define TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED hook_bool_bool_false
 #define TARGET_CANNOT_FORCE_CONST_MEM hook_bool_rtx_false
 #define TARGET_CANNOT_COPY_INSN_P NULL
-#define TARGET_COMMUTATIVE_P hook_bool_rtx_commutative_p
+#define TARGET_COMMUTATIVE_P hook_bool_const_rtx_commutative_p
 #define TARGET_DELEGITIMIZE_ADDRESS hook_rtx_rtx_identity
-#define TARGET_USE_BLOCKS_FOR_CONSTANT_P hook_bool_mode_rtx_false
+#define TARGET_USE_BLOCKS_FOR_CONSTANT_P hook_bool_mode_const_rtx_false
 #define TARGET_MIN_ANCHOR_OFFSET 0
 #define TARGET_MAX_ANCHOR_OFFSET 0
 #define TARGET_USE_ANCHORS_FOR_SYMBOL_P default_use_anchors_for_symbol_p
 #define TARGET_FUNCTION_OK_FOR_SIBCALL hook_bool_tree_tree_false
-#define TARGET_COMP_TYPE_ATTRIBUTES hook_int_tree_tree_1
+#define TARGET_COMP_TYPE_ATTRIBUTES hook_int_const_tree_const_tree_1
 #ifndef TARGET_SET_DEFAULT_TYPE_ATTRIBUTES
 #define TARGET_SET_DEFAULT_TYPE_ATTRIBUTES hook_void_tree
 #endif
 #define TARGET_INSERT_ATTRIBUTES hook_void_tree_treeptr
-#define TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P hook_bool_tree_false
-#define TARGET_MS_BITFIELD_LAYOUT_P hook_bool_tree_false
+#define TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P hook_bool_const_tree_false
+#define TARGET_MS_BITFIELD_LAYOUT_P hook_bool_const_tree_false
 #define TARGET_ALIGN_ANON_BITFIELD hook_bool_void_false
 #define TARGET_NARROW_VOLATILE_BITFIELD hook_bool_void_false
 #define TARGET_RTX_COSTS hook_bool_rtx_int_int_intp_false
-#define TARGET_MANGLE_TYPE hook_constcharptr_tree_null
+#define TARGET_MANGLE_TYPE hook_constcharptr_const_tree_null
 #define TARGET_ALLOCATE_INITIAL_VALUE NULL
 
 #ifndef TARGET_INIT_LIBFUNCS
 #endif
 
 #ifndef TARGET_IN_SMALL_DATA_P
-#define TARGET_IN_SMALL_DATA_P hook_bool_tree_false
+#define TARGET_IN_SMALL_DATA_P hook_bool_const_tree_false
 #endif
 
 #ifndef TARGET_MANGLE_DECL_ASSEMBLER_NAME
 #define TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN hook_invalid_arg_for_unprototyped_fn
 #endif
 
-#define TARGET_INVALID_CONVERSION hook_constcharptr_tree_tree_null
-#define TARGET_INVALID_UNARY_OP hook_constcharptr_int_tree_null
-#define TARGET_INVALID_BINARY_OP hook_constcharptr_int_tree_tree_null
+#define TARGET_INVALID_CONVERSION hook_constcharptr_const_tree_const_tree_null
+#define TARGET_INVALID_UNARY_OP hook_constcharptr_int_const_tree_null
+#define TARGET_INVALID_BINARY_OP hook_constcharptr_int_const_tree_const_tree_null
 
 #define TARGET_FIXED_CONDITION_CODE_REGS hook_bool_uintp_uintp_false
 
 
 #define TARGET_MD_ASM_CLOBBERS hook_tree_tree_tree_tree_3rd_identity
 
-#define TARGET_DWARF_CALLING_CONVENTION hook_int_tree_0
+#define TARGET_DWARF_CALLING_CONVENTION hook_int_const_tree_0
 
 #define TARGET_DWARF_HANDLE_FRAME_UNSPEC 0
 
index ad92d93e7ecfbc5e2c06eff296654bf3cb5addb1..e6cb8322e09c87e7437a96990e8f33a17da8e522 100644 (file)
@@ -208,9 +208,9 @@ struct gcc_target
        too much undo-able setup involved in invoking output_mi_thunk.
        Could be fixed by making output_mi_thunk emit rtl instead of
        text to the output file.  */
-    bool (* can_output_mi_thunk) (tree thunk_decl, HOST_WIDE_INT delta,
+    bool (* can_output_mi_thunk) (const_tree thunk_decl, HOST_WIDE_INT delta,
                                  HOST_WIDE_INT vcall_offset,
-                                 tree function_decl);
+                                 const_tree function_decl);
 
     /* Output any boilerplate text needed at the beginning of a
        translation unit.  */
@@ -373,7 +373,7 @@ struct gcc_target
        by the insn scheduler.  It should return true if the check instruction
        corresponding to the instruction passed as the parameter needs a
        recovery block.  */
-    bool (* needs_block_p) (rtx);
+    bool (* needs_block_p) (const_rtx);
 
     /* The following member value is a pointer to a function called
        by the insn scheduler.  It should return a pattern for the check
@@ -391,7 +391,7 @@ struct gcc_target
        passed as the parameter, the insn will not be chosen to be
        issued.  This hook is used to discard speculative instructions,
        that stand at the first position of the ready list.  */
-    bool (* first_cycle_multipass_dfa_lookahead_guard_spec) (rtx);
+    bool (* first_cycle_multipass_dfa_lookahead_guard_spec) (const_rtx);
 
     /* The following member value is a pointer to a function that provides
        information about the speculation capabilities of the target.
@@ -428,7 +428,7 @@ struct gcc_target
 
     /* Return true if vector alignment is reachable (by peeling N
        iterations) for the given type.  */
-    bool (* vector_alignment_reachable) (tree, bool);
+    bool (* vector_alignment_reachable) (const_tree, bool);
   } vectorize;
 
   /* The initial value of target_flags.  */
@@ -467,7 +467,7 @@ struct gcc_target
   /* Return zero if the attributes on TYPE1 and TYPE2 are incompatible,
      one if they are compatible and two if they are nearly compatible
      (which causes a warning to be generated).  */
-  int (* comp_type_attributes) (tree type1, tree type2);
+  int (* comp_type_attributes) (const_tree type1, const_tree type2);
 
   /* Assign default attributes to the newly defined TYPE.  */
   void (* set_default_type_attributes) (tree type);
@@ -477,11 +477,11 @@ struct gcc_target
 
   /* Return true if FNDECL (which has at least one machine attribute)
      can be inlined despite its machine attributes, false otherwise.  */
-  bool (* function_attribute_inlinable_p) (tree fndecl);
+  bool (* function_attribute_inlinable_p) (const_tree fndecl);
 
   /* Return true if bitfields in RECORD_TYPE should follow the
      Microsoft Visual C++ bitfield layout rules.  */
-  bool (* ms_bitfield_layout_p) (tree record_type);
+  bool (* ms_bitfield_layout_p) (const_tree record_type);
 
   /* True if the target supports decimal floating point.  */
   bool (* decimal_float_supported_p) (void);
@@ -519,7 +519,7 @@ struct gcc_target
   /* For a vendor-specific TYPE, return a pointer to a statically-allocated
      string containing the C++ mangling for TYPE.  In all other cases, return
      NULL.  */
-  const char * (* mangle_type) (tree type);
+  const char * (* mangle_type) (const_tree type);
 
   /* Make any adjustments to libfunc names needed for this target.  */
   void (* init_libfuncs) (void);
@@ -550,20 +550,20 @@ struct gcc_target
   bool (* cannot_copy_insn_p) (rtx);
 
   /* True if X is considered to be commutative.  */
-  bool (* commutative_p) (rtx, int);
+  bool (* commutative_p) (const_rtx, int);
 
   /* Given an address RTX, undo the effects of LEGITIMIZE_ADDRESS.  */
   rtx (* delegitimize_address) (rtx);
 
   /* True if the given constant can be put into an object_block.  */
-  bool (* use_blocks_for_constant_p) (enum machine_mode, rtx);
+  bool (* use_blocks_for_constant_p) (enum machine_mode, const_rtx);
 
   /* The minimum and maximum byte offsets for anchored addresses.  */
   HOST_WIDE_INT min_anchor_offset;
   HOST_WIDE_INT max_anchor_offset;
 
   /* True if section anchors can be used to access the given symbol.  */
-  bool (* use_anchors_for_symbol_p) (rtx);
+  bool (* use_anchors_for_symbol_p) (const_rtx);
 
   /* True if it is OK to do sibling call optimization for the specified
      call expression EXP.  DECL will be the called function, or NULL if
@@ -571,11 +571,11 @@ struct gcc_target
   bool (*function_ok_for_sibcall) (tree decl, tree exp);
 
   /* True if EXP should be placed in a "small data" section.  */
-  bool (* in_small_data_p) (tree);
+  bool (* in_small_data_p) (const_tree);
 
   /* True if EXP names an object for which name resolution must resolve
      to the current module.  */
-  bool (* binds_local_p) (tree);
+  bool (* binds_local_p) (const_tree);
 
   /* Modify and return the identifier of a DECL's external name,
      originally identified by ID, as required by the target,
@@ -621,7 +621,7 @@ struct gcc_target
   bool (* vector_mode_supported_p) (enum machine_mode mode);
 
   /* True if a vector is opaque.  */
-  bool (* vector_opaque_p) (tree);
+  bool (* vector_opaque_p) (const_tree);
 
   /* Compute a (partial) cost for rtx X.  Return true if the complete
      cost has been computed, and false if subexpressions should be
@@ -712,7 +712,7 @@ struct gcc_target
      enum dwarf_calling_convention, but because of forward declarations
      and not wanting to include dwarf2.h everywhere target.h is included
      the function is being declared as an int.  */
-  int (* dwarf_calling_convention) (tree);
+  int (* dwarf_calling_convention) (const_tree);
 
   /* This target hook allows the backend to emit frame-related insns that
      contain UNSPECs or UNSPEC_VOLATILEs.  The call frame debugging info
@@ -727,7 +727,7 @@ struct gcc_target
      from VA_ARG_EXPR.  LHS is left hand side of MODIFY_EXPR, RHS
      is right hand side.  Returns true if the statements doesn't need
      to be checked for va_list references.  */
-  bool (* stdarg_optimize_hook) (struct stdarg_info *ai, tree lhs, tree rhs);
+  bool (* stdarg_optimize_hook) (struct stdarg_info *ai, const_tree lhs, const_tree rhs);
 
   /* This target hook allows the operating system to override the DECL
      that represents the external variable that contains the stack
@@ -740,12 +740,12 @@ struct gcc_target
 
   /* Returns NULL if target supports the insn within a doloop block,
      otherwise it returns an error message.  */
-  const char * (*invalid_within_doloop) (rtx);
+  const char * (*invalid_within_doloop) (const_rtx);
 
   /* DECL is a variable or function with __attribute__((dllimport))
      specified.  Use this hook if the target needs to add extra validation
      checks to  handle_dll_attribute ().  */
-  bool (* valid_dllimport_attribute_p) (tree decl);
+  bool (* valid_dllimport_attribute_p) (const_tree decl);
 
   /* Functions relating to calls - argument passing, returns, etc.  */
   struct calls {
@@ -775,7 +775,7 @@ struct gcc_target
 
     /* Given a complex type T, return true if a parameter of type T
        should be passed as two scalars.  */
-    bool (* split_complex_arg) (tree type);
+    bool (* split_complex_arg) (const_tree type);
 
     /* Return true if type T, mode MODE, may not be passed in registers,
        but must be passed on the stack.  */
@@ -797,8 +797,9 @@ struct gcc_target
 
     /* Return the diagnostic message string if function without a prototype
        is not allowed for this 'val' argument; NULL otherwise. */
-    const char *(*invalid_arg_for_unprototyped_fn) (tree typelist,
-                                                   tree funcdecl, tree val);
+    const char *(*invalid_arg_for_unprototyped_fn) (const_tree typelist,
+                                                   const_tree funcdecl,
+                                                   const_tree val);
 
     /* Return an rtx for the return value location of the function
        specified by FN_DECL_OR_TYPE with a return type of RET_TYPE.  */
@@ -812,15 +813,15 @@ struct gcc_target
 
   /* Return the diagnostic message string if conversion from FROMTYPE
      to TOTYPE is not allowed, NULL otherwise.  */
-  const char *(*invalid_conversion) (tree fromtype, tree totype);
+  const char *(*invalid_conversion) (const_tree fromtype, const_tree totype);
 
   /* Return the diagnostic message string if the unary operation OP is
      not permitted on TYPE, NULL otherwise.  */
-  const char *(*invalid_unary_op) (int op, tree type);
+  const char *(*invalid_unary_op) (int op, const_tree type);
 
   /* Return the diagnostic message string if the binary operation OP
      is not permitted on TYPE1 and TYPE2, NULL otherwise.  */
-  const char *(*invalid_binary_op) (int op, tree type1, tree type2);
+  const char *(*invalid_binary_op) (int op, const_tree type1, const_tree type2);
 
   /* Return the class for a secondary reload, and fill in extra information.  */
   enum reg_class (*secondary_reload) (bool, rtx, enum reg_class,
index 57cf0e52f3c9f01e1fd3411470d1830b6534b453..b4469403c53980b6c50d25fa4c3f26ca9f417cea 100644 (file)
@@ -336,7 +336,7 @@ default_fixed_point_supported_p (void)
    these cases.  */
 
 const char *
-default_invalid_within_doloop (rtx insn)
+default_invalid_within_doloop (const_rtx insn)
 {
   if (CALL_P (insn))
     return "Function call in loop.";
@@ -412,9 +412,9 @@ hook_void_bitmap (bitmap regs ATTRIBUTE_UNUSED)
 
 const char *
 hook_invalid_arg_for_unprototyped_fn (
-       tree typelist ATTRIBUTE_UNUSED,
-       tree funcdecl ATTRIBUTE_UNUSED,
-       tree val ATTRIBUTE_UNUSED)
+       const_tree typelist ATTRIBUTE_UNUSED,
+       const_tree funcdecl ATTRIBUTE_UNUSED,
+       const_tree val ATTRIBUTE_UNUSED)
 {
   return NULL;
 }
@@ -510,7 +510,8 @@ default_hidden_stack_protect_fail (void)
 }
 
 bool
-hook_bool_rtx_commutative_p (rtx x, int outer_code ATTRIBUTE_UNUSED)
+hook_bool_const_rtx_commutative_p (const_rtx x,
+                                  int outer_code ATTRIBUTE_UNUSED)
 {
   return COMMUTATIVE_P (x);
 }
@@ -665,7 +666,7 @@ tree default_mangle_decl_assembler_name (tree decl ATTRIBUTE_UNUSED,
 }
 
 bool
-default_builtin_vector_alignment_reachable (tree type, bool is_packed)
+default_builtin_vector_alignment_reachable (const_tree type, bool is_packed)
 {
   if (is_packed)
     return false;
index 2df1dabaceb4bae3c6884cca04b753d0c6a72c6e..62d4ea4d748e5692ff5892dd10ad69ef5ea4d213 100644 (file)
@@ -57,7 +57,7 @@ extern bool default_scalar_mode_supported_p (enum machine_mode);
 extern bool default_decimal_float_supported_p (void);
 extern bool default_fixed_point_supported_p (void);
 
-extern const char * default_invalid_within_doloop (rtx);
+extern const char * default_invalid_within_doloop (const_rtx);
 
 extern tree default_builtin_vectorized_function
   (enum built_in_function, tree, tree);
@@ -66,7 +66,7 @@ extern tree default_builtin_vectorized_conversion (enum tree_code, tree);
 
 extern tree default_builtin_reciprocal (enum built_in_function, bool, bool);
 
-extern bool default_builtin_vector_alignment_reachable (tree, bool);
+extern bool default_builtin_vector_alignment_reachable (const_tree, bool);
 
 /* These are here, and not in hooks.[ch], because not all users of
    hooks.h include tm.h, and thus we don't have CUMULATIVE_ARGS.  */
@@ -81,8 +81,8 @@ extern bool hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true
 extern int hook_int_CUMULATIVE_ARGS_mode_tree_bool_0
   (CUMULATIVE_ARGS *, enum machine_mode, tree, bool);
 extern const char *hook_invalid_arg_for_unprototyped_fn
-  (tree, tree, tree);
-extern bool hook_bool_rtx_commutative_p (rtx, int);
+  (const_tree, const_tree, const_tree);
+extern bool hook_bool_const_rtx_commutative_p (const_rtx, int);
 extern rtx default_function_value (const_tree, const_tree, bool);
 extern rtx default_internal_arg_pointer (void);
 extern enum reg_class default_secondary_reload (bool, rtx, enum reg_class,
index 7b31c753c5285e3f83bcba8ad8f4aa383b3a1e33..29e6649db0af3c0d76d487c635e00b07c19381b4 100644 (file)
@@ -1056,7 +1056,7 @@ decode_reg_name (const char *asmspec)
 /* Return true if DECL's initializer is suitable for a BSS section.  */
 
 static bool
-bss_initializer_p (tree decl)
+bss_initializer_p (const_tree decl)
 {
   return (DECL_INITIAL (decl) == NULL
          || DECL_INITIAL (decl) == error_mark_node
@@ -5544,7 +5544,7 @@ init_varasm_once (void)
 }
 
 enum tls_model
-decl_default_tls_model (tree decl)
+decl_default_tls_model (const_tree decl)
 {
   enum tls_model kind;
   bool is_local;
@@ -5784,7 +5784,7 @@ default_select_section (tree decl, int reloc,
 }
 
 enum section_category
-categorize_decl_for_section (tree decl, int reloc)
+categorize_decl_for_section (const_tree decl, int reloc)
 {
   enum section_category ret;
 
@@ -5866,7 +5866,7 @@ categorize_decl_for_section (tree decl, int reloc)
 }
 
 bool
-decl_readonly_section (tree decl, int reloc)
+decl_readonly_section (const_tree decl, int reloc)
 {
   switch (categorize_decl_for_section (decl, reloc))
     {
@@ -6154,7 +6154,7 @@ default_asm_output_anchor (rtx symbol)
 /* The default implementation of TARGET_USE_ANCHORS_FOR_SYMBOL_P.  */
 
 bool
-default_use_anchors_for_symbol_p (rtx symbol)
+default_use_anchors_for_symbol_p (const_rtx symbol)
 {
   section *sect;
   tree decl;
@@ -6193,13 +6193,13 @@ default_use_anchors_for_symbol_p (rtx symbol)
    wrt cross-module name binding.  */
 
 bool
-default_binds_local_p (tree exp)
+default_binds_local_p (const_tree exp)
 {
   return default_binds_local_p_1 (exp, flag_shlib);
 }
 
 bool
-default_binds_local_p_1 (tree exp, int shlib)
+default_binds_local_p_1 (const_tree exp, int shlib)
 {
   bool local_p;