mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-11 03:50:27 +08:00
c-common.c (fname_as_string, [...]): Constify.
* c-common.c (fname_as_string, c_type_hash): Constify. * c-typeck.c (free_all_tagged_tu_seen_up_to): Likewise. * cgraph.c (edge_hash, edge_eq): Likewise. * dwarf2out.c (decl_die_table_eq, decl_loc_table_eq): Likewise. * emit-rtl.c (mem_attrs_htab_eq, reg_attrs_htab_hash, reg_attrs_htab_eq): Likewise. * except.c (t2r_eq, t2r_hash, ttypes_filter_eq, ehl_hash, ehl_eq): Likewise. * genautomata.c (const_reserv_sets_t, const_unit_decl_t, const_decl_t, const_state_t, const_automata_list_el_t): New. (first_out_arc, DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL, DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV, automaton_decl_hash, automaton_decl_eq_p, insn_decl_hash, insn_decl_eq_p, decl_hash, decl_eq_p, alt_state_cmp, reserv_sets_cmp, reserv_sets_eq, state_hash, state_eq_p, automata_list_hash, automata_list_eq_p, compare_states_for_equiv, compare_max_occ_cycle_nums, out_state_arcs_num, compare_transition_els_num, units_cmp, state_reservs_cmp): Constify. * genmodes.c (cmp_modes): Likewise. * ggc-common.c (saving_htab_hash, saving_htab_eq): Likewise. * gimplify.c (compare_case_labels): Likewise. * ipa-type-escape.c (get_name_of_type, type_brand_s): Likewise. * loop-unroll.c (si_info_hash, ve_info_hash): Likewise. * matrix-reorg.c (mtt_info_hash): Likewise. * postreload-gcse.c (hash_expr_for_htab, expr_equiv_p): Likewise. * rtl-factoring.c (const_p_hash_bucket, const_p_hash_elem): New. (htab_hash_bucket, htab_hash_elem): Constify. * tree-browser.c (TB_parent_eq): Likewise. * tree-scalar-evolution.c (hash_scev_info): Likewise. * tree-ssa-alias.c (sort_tags_by_id): Likewise. * tree-ssa-coalesce.c (const_coalesce_pair_p): New. (coalesce_pair_map_hash, coalesce_pair_map_eq, compare_pairs): Constify. * tree-ssa-dom.c (avail_expr_hash, avail_expr_eq): Likewise. * tree-ssa-pre.c (const_expr_pred_trans_t): New. (expr_pred_trans_hash, expr_pred_trans_eq): Constify. * tree-ssa-sccvn.c (const_vn_binary_op_t, const_vn_unary_op_t, const_vn_phi_t, const_vn_reference_op_t, const_vn_reference_t): New. (vn_reference_op_eq, vn_reference_hash, vn_reference_eq, vn_unary_op_hash, vn_unary_op_eq, vn_binary_op_hash, vn_binary_op_eq, vn_phi_hash, vn_phi_eq): Constify. * tree-ssa-threadupdate.c (redirection_data_hash, redirection_data_eq): Likewise. * tree-ssa-uncprop.c (equiv_hash, equiv_eq): Likewise. * tree-ssa.c (var_ann_eq): Likewise. * tree-vrp.c (compare_case_labels): Likewise. * tree.c (int_cst_hash_hash, int_cst_hash_eq, tree_map_base_marked_p, type_hash_marked_p, tree_check_failed, tree_not_check_failed, tree_class_check_failed, tree_range_check_failed, tree_not_class_check_failed, omp_clause_check_failed, omp_clause_range_check_failed, tree_contains_struct_check_failed, tree_operand_check_failed): Likewise. * tree.h (tree_contains_struct_check_failed, tree_check_failed, tree_not_check_failed, tree_class_check_failed, tree_range_check_failed, tree_not_class_check_failed, tree_operand_check_failed, omp_clause_operand_check_failed, tree_operand_length): Likewise. * var-tracking.c (const_variable): New. (variable_htab_hash, variable_htab_eq): Constify. * varasm.c (const_desc_hash): Likewise. cp: * decl.c (typename_hash, typename_compare): Constify. * mangle.c (hash_type, compare_type): Likewise. * pt.c (eq_local_specializations, hash_local_specialization): Likewise. * tree.c (cplus_array_hash, cplus_array_compare, list_hash_eq, list_hash): Likewise. * typeck2.c (pat_compare): Likewise. fortran: * gfortran.h (generate_isocbinding_symbol): Constify. * symbol.c (gen_special_c_interop_ptr, gen_cptr_param, generate_isocbinding_symbol): Likewise. java: * class.c (java_treetreehash_hash, java_treetreehash_compare): Constify. * expr.c (type_assertion_eq): Likewise. * jcf-io.c (compare_path): Likewise. * jcf-parse.c (cmpstringp): Likewise. * verify-impl.c (get_one_type, compute_argument_types, compute_return_type): Likewise. objc: * objc-act.c (volatilized_hash, volatilized_eq, string_hash, string_eq): Constify. From-SVN: r126925
This commit is contained in:
parent
39f86293e5
commit
741ac90383
@ -1,3 +1,69 @@
|
||||
2007-07-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* c-common.c (fname_as_string, c_type_hash): Constify.
|
||||
* c-typeck.c (free_all_tagged_tu_seen_up_to): Likewise.
|
||||
* cgraph.c (edge_hash, edge_eq): Likewise.
|
||||
* dwarf2out.c (decl_die_table_eq, decl_loc_table_eq): Likewise.
|
||||
* emit-rtl.c (mem_attrs_htab_eq, reg_attrs_htab_hash,
|
||||
reg_attrs_htab_eq): Likewise.
|
||||
* except.c (t2r_eq, t2r_hash, ttypes_filter_eq, ehl_hash, ehl_eq):
|
||||
Likewise.
|
||||
* genautomata.c (const_reserv_sets_t, const_unit_decl_t,
|
||||
const_decl_t, const_state_t, const_automata_list_el_t): New.
|
||||
(first_out_arc, DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL,
|
||||
DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV,
|
||||
automaton_decl_hash, automaton_decl_eq_p, insn_decl_hash,
|
||||
insn_decl_eq_p, decl_hash, decl_eq_p, alt_state_cmp,
|
||||
reserv_sets_cmp, reserv_sets_eq, state_hash, state_eq_p,
|
||||
automata_list_hash, automata_list_eq_p, compare_states_for_equiv,
|
||||
compare_max_occ_cycle_nums, out_state_arcs_num,
|
||||
compare_transition_els_num, units_cmp, state_reservs_cmp):
|
||||
Constify.
|
||||
* genmodes.c (cmp_modes): Likewise.
|
||||
* ggc-common.c (saving_htab_hash, saving_htab_eq): Likewise.
|
||||
* gimplify.c (compare_case_labels): Likewise.
|
||||
* ipa-type-escape.c (get_name_of_type, type_brand_s): Likewise.
|
||||
* loop-unroll.c (si_info_hash, ve_info_hash): Likewise.
|
||||
* matrix-reorg.c (mtt_info_hash): Likewise.
|
||||
* postreload-gcse.c (hash_expr_for_htab, expr_equiv_p): Likewise.
|
||||
* rtl-factoring.c (const_p_hash_bucket, const_p_hash_elem): New.
|
||||
(htab_hash_bucket, htab_hash_elem): Constify.
|
||||
* tree-browser.c (TB_parent_eq): Likewise.
|
||||
* tree-scalar-evolution.c (hash_scev_info): Likewise.
|
||||
* tree-ssa-alias.c (sort_tags_by_id): Likewise.
|
||||
* tree-ssa-coalesce.c (const_coalesce_pair_p): New.
|
||||
(coalesce_pair_map_hash, coalesce_pair_map_eq, compare_pairs):
|
||||
Constify.
|
||||
* tree-ssa-dom.c (avail_expr_hash, avail_expr_eq): Likewise.
|
||||
* tree-ssa-pre.c (const_expr_pred_trans_t): New.
|
||||
(expr_pred_trans_hash, expr_pred_trans_eq): Constify.
|
||||
* tree-ssa-sccvn.c (const_vn_binary_op_t, const_vn_unary_op_t,
|
||||
const_vn_phi_t, const_vn_reference_op_t, const_vn_reference_t):
|
||||
New.
|
||||
(vn_reference_op_eq, vn_reference_hash, vn_reference_eq,
|
||||
vn_unary_op_hash, vn_unary_op_eq, vn_binary_op_hash,
|
||||
vn_binary_op_eq, vn_phi_hash, vn_phi_eq): Constify.
|
||||
* tree-ssa-threadupdate.c (redirection_data_hash,
|
||||
redirection_data_eq): Likewise.
|
||||
* tree-ssa-uncprop.c (equiv_hash, equiv_eq): Likewise.
|
||||
* tree-ssa.c (var_ann_eq): Likewise.
|
||||
* tree-vrp.c (compare_case_labels): Likewise.
|
||||
* tree.c (int_cst_hash_hash, int_cst_hash_eq,
|
||||
tree_map_base_marked_p, type_hash_marked_p, tree_check_failed,
|
||||
tree_not_check_failed, tree_class_check_failed,
|
||||
tree_range_check_failed, tree_not_class_check_failed,
|
||||
omp_clause_check_failed, omp_clause_range_check_failed,
|
||||
tree_contains_struct_check_failed, tree_operand_check_failed):
|
||||
Likewise.
|
||||
* tree.h (tree_contains_struct_check_failed, tree_check_failed,
|
||||
tree_not_check_failed, tree_class_check_failed,
|
||||
tree_range_check_failed, tree_not_class_check_failed,
|
||||
tree_operand_check_failed, omp_clause_operand_check_failed,
|
||||
tree_operand_length): Likewise.
|
||||
* var-tracking.c (const_variable): New.
|
||||
(variable_htab_hash, variable_htab_eq): Constify.
|
||||
* varasm.c (const_desc_hash): Likewise.
|
||||
|
||||
2007-07-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* expr.c (handled_component_p): Constify.
|
||||
|
@ -780,7 +780,7 @@ fname_as_string (int pretty_p)
|
||||
if (cpp_interpret_string (parse_in, &strname, 1, &cstr, false))
|
||||
{
|
||||
XDELETEVEC (namep);
|
||||
return (char *) cstr.text;
|
||||
return (const char *) cstr.text;
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -3011,7 +3011,7 @@ c_type_hash (const void *p)
|
||||
{
|
||||
int i = 0;
|
||||
int shift, size;
|
||||
tree t = (tree) p;
|
||||
const_tree const t = (const_tree) p;
|
||||
tree t2;
|
||||
switch (TREE_CODE (t))
|
||||
{
|
||||
|
@ -1024,8 +1024,8 @@ free_all_tagged_tu_seen_up_to (const struct tagged_tu_seen_cache *tu_til)
|
||||
const struct tagged_tu_seen_cache *tu = tagged_tu_seen_base;
|
||||
while (tu != tu_til)
|
||||
{
|
||||
const struct tagged_tu_seen_cache *tu1
|
||||
= (const struct tagged_tu_seen_cache*)tu;
|
||||
const struct tagged_tu_seen_cache *const tu1
|
||||
= (const struct tagged_tu_seen_cache *) tu;
|
||||
tu = tu1->next;
|
||||
free ((void *)tu1);
|
||||
}
|
||||
|
@ -246,7 +246,7 @@ cgraph_node_for_asm (tree asmname)
|
||||
static hashval_t
|
||||
edge_hash (const void *x)
|
||||
{
|
||||
return htab_hash_pointer (((struct cgraph_edge *) x)->call_stmt);
|
||||
return htab_hash_pointer (((const struct cgraph_edge *) x)->call_stmt);
|
||||
}
|
||||
|
||||
/* Return nonzero if decl_id of die_struct X is the same as UID of decl *Y. */
|
||||
@ -254,7 +254,7 @@ edge_hash (const void *x)
|
||||
static int
|
||||
edge_eq (const void *x, const void *y)
|
||||
{
|
||||
return ((struct cgraph_edge *) x)->call_stmt == y;
|
||||
return ((const struct cgraph_edge *) x)->call_stmt == y;
|
||||
}
|
||||
|
||||
/* Return callgraph edge representing CALL_EXPR statement. */
|
||||
|
@ -1,3 +1,13 @@
|
||||
2007-07-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* decl.c (typename_hash, typename_compare): Constify.
|
||||
* mangle.c (hash_type, compare_type): Likewise.
|
||||
* pt.c (eq_local_specializations, hash_local_specialization):
|
||||
Likewise.
|
||||
* tree.c (cplus_array_hash, cplus_array_compare, list_hash_eq,
|
||||
list_hash): Likewise.
|
||||
* typeck2.c (pat_compare): Likewise.
|
||||
|
||||
2007-07-24 Nathan Sidwell <nathan@codesourcery.com>
|
||||
|
||||
* method.c (implicitly_declare_fn): Increase alignment if member
|
||||
|
@ -2716,7 +2716,7 @@ static hashval_t
|
||||
typename_hash (const void* k)
|
||||
{
|
||||
hashval_t hash;
|
||||
tree t = (tree) k;
|
||||
const_tree const t = (const_tree) k;
|
||||
|
||||
hash = (htab_hash_pointer (TYPE_CONTEXT (t))
|
||||
^ htab_hash_pointer (DECL_NAME (TYPE_NAME (t))));
|
||||
@ -2738,11 +2738,8 @@ typedef struct typename_info {
|
||||
static int
|
||||
typename_compare (const void * k1, const void * k2)
|
||||
{
|
||||
tree t1;
|
||||
const typename_info *t2;
|
||||
|
||||
t1 = (tree) k1;
|
||||
t2 = (const typename_info *) k2;
|
||||
const_tree const t1 = (const_tree) k1;
|
||||
const typename_info *const t2 = (const typename_info *) k2;
|
||||
|
||||
return (DECL_NAME (TYPE_NAME (t1)) == t2->name
|
||||
&& TYPE_CONTEXT (t1) == t2->scope
|
||||
|
@ -2836,7 +2836,7 @@ static GTY ((param_is (union tree_node))) htab_t conv_type_names;
|
||||
static hashval_t
|
||||
hash_type (const void *val)
|
||||
{
|
||||
return (hashval_t) TYPE_UID (TREE_TYPE ((tree) val));
|
||||
return (hashval_t) TYPE_UID (TREE_TYPE ((const_tree) val));
|
||||
}
|
||||
|
||||
/* Compare VAL1 (a node in the table) with VAL2 (a TYPE). */
|
||||
@ -2844,7 +2844,7 @@ hash_type (const void *val)
|
||||
static int
|
||||
compare_type (const void *val1, const void *val2)
|
||||
{
|
||||
return TREE_TYPE ((tree) val1) == (tree) val2;
|
||||
return TREE_TYPE ((const_tree) val1) == (const_tree) val2;
|
||||
}
|
||||
|
||||
/* Return an identifier for the mangled unqualified name for a
|
||||
|
@ -1302,7 +1302,7 @@ reregister_specialization (tree spec, tree tmpl, tree new_spec)
|
||||
static int
|
||||
eq_local_specializations (const void *p1, const void *p2)
|
||||
{
|
||||
return TREE_VALUE ((tree) p1) == (tree) p2;
|
||||
return TREE_VALUE ((const_tree) p1) == (const_tree) p2;
|
||||
}
|
||||
|
||||
/* Hash P1, an entry in the local specializations table. */
|
||||
@ -1310,7 +1310,7 @@ eq_local_specializations (const void *p1, const void *p2)
|
||||
static hashval_t
|
||||
hash_local_specialization (const void* p1)
|
||||
{
|
||||
return htab_hash_pointer (TREE_VALUE ((tree) p1));
|
||||
return htab_hash_pointer (TREE_VALUE ((const_tree) p1));
|
||||
}
|
||||
|
||||
/* Like register_specialization, but for local declarations. We are
|
||||
|
@ -489,7 +489,7 @@ static hashval_t
|
||||
cplus_array_hash (const void* k)
|
||||
{
|
||||
hashval_t hash;
|
||||
tree t = (tree) k;
|
||||
const_tree const t = (const_tree) k;
|
||||
|
||||
hash = (htab_hash_pointer (TREE_TYPE (t))
|
||||
^ htab_hash_pointer (TYPE_DOMAIN (t)));
|
||||
@ -508,8 +508,8 @@ typedef struct cplus_array_info {
|
||||
static int
|
||||
cplus_array_compare (const void * k1, const void * k2)
|
||||
{
|
||||
tree t1 = (tree) k1;
|
||||
const cplus_array_info *t2 = (const cplus_array_info*) k2;
|
||||
const_tree const t1 = (const_tree) k1;
|
||||
const cplus_array_info *const t2 = (const cplus_array_info*) k2;
|
||||
|
||||
if (!comptypes (TREE_TYPE (t1), t2->type, COMPARE_STRUCTURAL))
|
||||
return 0;
|
||||
@ -967,8 +967,8 @@ struct list_proxy
|
||||
static int
|
||||
list_hash_eq (const void* entry, const void* data)
|
||||
{
|
||||
tree t = (tree) entry;
|
||||
struct list_proxy *proxy = (struct list_proxy *) data;
|
||||
const_tree const t = (const_tree) entry;
|
||||
const struct list_proxy *const proxy = (const struct list_proxy *) data;
|
||||
|
||||
return (TREE_VALUE (t) == proxy->value
|
||||
&& TREE_PURPOSE (t) == proxy->purpose
|
||||
@ -1003,7 +1003,7 @@ list_hash_pieces (tree purpose, tree value, tree chain)
|
||||
static hashval_t
|
||||
list_hash (const void* p)
|
||||
{
|
||||
tree t = (tree) p;
|
||||
const_tree const t = (const_tree) p;
|
||||
return list_hash_pieces (TREE_PURPOSE (t),
|
||||
TREE_VALUE (t),
|
||||
TREE_CHAIN (t));
|
||||
|
@ -149,9 +149,9 @@ pat_calc_hash (const void* val)
|
||||
static int
|
||||
pat_compare (const void* val1, const void* val2)
|
||||
{
|
||||
const struct pending_abstract_type *pat1 =
|
||||
const struct pending_abstract_type *const pat1 =
|
||||
(const struct pending_abstract_type *) val1;
|
||||
tree type2 = (tree)val2;
|
||||
const_tree const type2 = (const_tree)val2;
|
||||
|
||||
return (pat1->type == type2);
|
||||
}
|
||||
|
@ -5694,7 +5694,7 @@ decl_die_table_hash (const void *x)
|
||||
static int
|
||||
decl_die_table_eq (const void *x, const void *y)
|
||||
{
|
||||
return (((const_dw_die_ref) x)->decl_id == DECL_UID ((const tree) y));
|
||||
return (((const_dw_die_ref) x)->decl_id == DECL_UID ((const_tree) y));
|
||||
}
|
||||
|
||||
/* Return the DIE associated with a given declaration. */
|
||||
@ -5719,7 +5719,7 @@ decl_loc_table_hash (const void *x)
|
||||
static int
|
||||
decl_loc_table_eq (const void *x, const void *y)
|
||||
{
|
||||
return (((const var_loc_list *) x)->decl_id == DECL_UID ((const tree) y));
|
||||
return (((const var_loc_list *) x)->decl_id == DECL_UID ((const_tree) y));
|
||||
}
|
||||
|
||||
/* Return the var_loc list associated with a given declaration. */
|
||||
|
@ -263,8 +263,8 @@ mem_attrs_htab_hash (const void *x)
|
||||
static int
|
||||
mem_attrs_htab_eq (const void *x, const void *y)
|
||||
{
|
||||
mem_attrs *p = (mem_attrs *) x;
|
||||
mem_attrs *q = (mem_attrs *) y;
|
||||
const mem_attrs *const p = (const mem_attrs *) x;
|
||||
const mem_attrs *const q = (const mem_attrs *) y;
|
||||
|
||||
return (p->alias == q->alias && p->offset == q->offset
|
||||
&& p->size == q->size && p->align == q->align
|
||||
@ -315,7 +315,7 @@ get_mem_attrs (HOST_WIDE_INT alias, tree expr, rtx offset, rtx size,
|
||||
static hashval_t
|
||||
reg_attrs_htab_hash (const void *x)
|
||||
{
|
||||
reg_attrs *p = (reg_attrs *) x;
|
||||
const reg_attrs *const p = (const reg_attrs *) x;
|
||||
|
||||
return ((p->offset * 1000) ^ (long) p->decl);
|
||||
}
|
||||
@ -327,8 +327,8 @@ reg_attrs_htab_hash (const void *x)
|
||||
static int
|
||||
reg_attrs_htab_eq (const void *x, const void *y)
|
||||
{
|
||||
reg_attrs *p = (reg_attrs *) x;
|
||||
reg_attrs *q = (reg_attrs *) y;
|
||||
const reg_attrs *const p = (const reg_attrs *) x;
|
||||
const reg_attrs *const q = (const reg_attrs *) y;
|
||||
|
||||
return (p->decl == q->decl && p->offset == q->offset);
|
||||
}
|
||||
|
20
gcc/except.c
20
gcc/except.c
@ -1129,8 +1129,8 @@ eh_region_outermost (struct function *ifun, int region_a, int region_b)
|
||||
static int
|
||||
t2r_eq (const void *pentry, const void *pdata)
|
||||
{
|
||||
tree entry = (tree) pentry;
|
||||
tree data = (tree) pdata;
|
||||
const_tree const entry = (const_tree) pentry;
|
||||
const_tree const data = (const_tree) pdata;
|
||||
|
||||
return TREE_PURPOSE (entry) == data;
|
||||
}
|
||||
@ -1138,7 +1138,7 @@ t2r_eq (const void *pentry, const void *pdata)
|
||||
static hashval_t
|
||||
t2r_hash (const void *pentry)
|
||||
{
|
||||
tree entry = (tree) pentry;
|
||||
const_tree const entry = (const_tree) pentry;
|
||||
return TREE_HASH (TREE_PURPOSE (entry));
|
||||
}
|
||||
|
||||
@ -1183,8 +1183,9 @@ struct ttypes_filter GTY(())
|
||||
static int
|
||||
ttypes_filter_eq (const void *pentry, const void *pdata)
|
||||
{
|
||||
const struct ttypes_filter *entry = (const struct ttypes_filter *) pentry;
|
||||
tree data = (tree) pdata;
|
||||
const struct ttypes_filter *const entry
|
||||
= (const struct ttypes_filter *) pentry;
|
||||
const_tree const data = (const_tree) pdata;
|
||||
|
||||
return entry->t == data;
|
||||
}
|
||||
@ -2131,7 +2132,8 @@ finish_eh_generation (void)
|
||||
static hashval_t
|
||||
ehl_hash (const void *pentry)
|
||||
{
|
||||
struct ehl_map_entry *entry = (struct ehl_map_entry *) pentry;
|
||||
const struct ehl_map_entry *const entry
|
||||
= (const struct ehl_map_entry *) pentry;
|
||||
|
||||
/* 2^32 * ((sqrt(5) - 1) / 2) */
|
||||
const hashval_t scaled_golden_ratio = 0x9e3779b9;
|
||||
@ -2141,8 +2143,10 @@ ehl_hash (const void *pentry)
|
||||
static int
|
||||
ehl_eq (const void *pentry, const void *pdata)
|
||||
{
|
||||
struct ehl_map_entry *entry = (struct ehl_map_entry *) pentry;
|
||||
struct ehl_map_entry *data = (struct ehl_map_entry *) pdata;
|
||||
const struct ehl_map_entry *const entry
|
||||
= (const struct ehl_map_entry *) pentry;
|
||||
const struct ehl_map_entry *const data
|
||||
= (const struct ehl_map_entry *) pdata;
|
||||
|
||||
return entry->label == data->label;
|
||||
}
|
||||
|
@ -1,3 +1,9 @@
|
||||
2007-07-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* gfortran.h (generate_isocbinding_symbol): Constify.
|
||||
* symbol.c (gen_special_c_interop_ptr, gen_cptr_param,
|
||||
generate_isocbinding_symbol): Likewise.
|
||||
|
||||
2007-07-24 Paul Thomas <pault@gcc.gnu.org>
|
||||
|
||||
PR fortran/31205
|
||||
|
@ -2137,7 +2137,7 @@ try verify_c_interop_param (gfc_symbol *);
|
||||
try verify_bind_c_sym (gfc_symbol *, gfc_typespec *, int, gfc_common_head *);
|
||||
try verify_bind_c_derived_type (gfc_symbol *);
|
||||
try verify_com_block_vars_c_interop (gfc_common_head *);
|
||||
void generate_isocbinding_symbol (const char *, iso_c_binding_symbol, char *);
|
||||
void generate_isocbinding_symbol (const char *, iso_c_binding_symbol, const char *);
|
||||
gfc_symbol *get_iso_c_sym (gfc_symbol *, char *, char *, int);
|
||||
int gfc_get_sym_tree (const char *, gfc_namespace *, gfc_symtree **);
|
||||
int gfc_get_ha_symbol (const char *, gfc_symbol **);
|
||||
|
@ -3235,7 +3235,7 @@ gen_special_c_interop_ptr (int ptr_id, const char *ptr_name,
|
||||
current ns. */
|
||||
generate_isocbinding_symbol (module_name, ptr_id == ISOCBINDING_NULL_PTR
|
||||
? ISOCBINDING_PTR : ISOCBINDING_FUNPTR,
|
||||
(char *) (ptr_id == ISOCBINDING_NULL_PTR
|
||||
(const char *) (ptr_id == ISOCBINDING_NULL_PTR
|
||||
? "_gfortran_iso_c_binding_c_ptr"
|
||||
: "_gfortran_iso_c_binding_c_funptr"));
|
||||
|
||||
@ -3356,10 +3356,10 @@ gen_cptr_param (gfc_formal_arglist **head,
|
||||
trying to use one of the iso_c_binding functions that need it. */
|
||||
if (iso_c_sym_id == ISOCBINDING_F_PROCPOINTER)
|
||||
generate_isocbinding_symbol (module_name, ISOCBINDING_FUNPTR,
|
||||
(char *)c_ptr_type);
|
||||
(const char *)c_ptr_type);
|
||||
else
|
||||
generate_isocbinding_symbol (module_name, ISOCBINDING_PTR,
|
||||
(char *)c_ptr_type);
|
||||
(const char *)c_ptr_type);
|
||||
|
||||
gfc_get_ha_symbol (c_ptr_type, &(c_ptr_sym));
|
||||
}
|
||||
@ -3579,9 +3579,9 @@ build_formal_args (gfc_symbol *new_proc_sym,
|
||||
|
||||
void
|
||||
generate_isocbinding_symbol (const char *mod_name, iso_c_binding_symbol s,
|
||||
char *local_name)
|
||||
const char *local_name)
|
||||
{
|
||||
char *name = (local_name && local_name[0]) ? local_name
|
||||
const char *const name = (local_name && local_name[0]) ? local_name
|
||||
: c_interop_kinds_table[s].name;
|
||||
gfc_symtree *tmp_symtree = NULL;
|
||||
gfc_symbol *tmp_sym = NULL;
|
||||
@ -3803,7 +3803,7 @@ generate_isocbinding_symbol (const char *mod_name, iso_c_binding_symbol s,
|
||||
generate_isocbinding_symbol
|
||||
(mod_name, s == ISOCBINDING_FUNLOC
|
||||
? ISOCBINDING_FUNPTR : ISOCBINDING_PTR,
|
||||
(char *)(s == ISOCBINDING_FUNLOC
|
||||
(const char *)(s == ISOCBINDING_FUNLOC
|
||||
? "_gfortran_iso_c_binding_c_funptr"
|
||||
: "_gfortran_iso_c_binding_c_ptr"));
|
||||
tmp_sym->ts.derived =
|
||||
|
@ -130,6 +130,7 @@ typedef unsigned HOST_WIDE_INT set_el_t;
|
||||
/* Reservations of function units are represented by value of the following
|
||||
type. */
|
||||
typedef set_el_t *reserv_sets_t;
|
||||
typedef const set_el_t *const_reserv_sets_t;
|
||||
|
||||
/* The following structure describes a ticker. */
|
||||
struct ticker
|
||||
@ -182,17 +183,21 @@ struct state_ainsn_table;
|
||||
|
||||
/* The following typedefs are for brevity. */
|
||||
typedef struct unit_decl *unit_decl_t;
|
||||
typedef const struct unit_decl *const_unit_decl_t;
|
||||
typedef struct decl *decl_t;
|
||||
typedef const struct decl *const_decl_t;
|
||||
typedef struct regexp *regexp_t;
|
||||
typedef struct unit_set_el *unit_set_el_t;
|
||||
typedef struct pattern_set_el *pattern_set_el_t;
|
||||
typedef struct pattern_reserv *pattern_reserv_t;
|
||||
typedef struct alt_state *alt_state_t;
|
||||
typedef struct state *state_t;
|
||||
typedef const struct state *const_state_t;
|
||||
typedef struct arc *arc_t;
|
||||
typedef struct ainsn *ainsn_t;
|
||||
typedef struct automaton *automaton_t;
|
||||
typedef struct automata_list_el *automata_list_el_t;
|
||||
typedef const struct automata_list_el *const_automata_list_el_t;
|
||||
typedef struct state_ainsn_table *state_ainsn_table_t;
|
||||
|
||||
/* Undefined position. */
|
||||
@ -228,7 +233,7 @@ static int check_presence_pattern_sets (reserv_sets_t,
|
||||
reserv_sets_t, int);
|
||||
static int check_absence_pattern_sets (reserv_sets_t, reserv_sets_t,
|
||||
int);
|
||||
static arc_t first_out_arc (state_t);
|
||||
static arc_t first_out_arc (const_state_t);
|
||||
static arc_t next_out_arc (arc_t);
|
||||
|
||||
|
||||
@ -873,56 +878,56 @@ struct state_ainsn_table
|
||||
#if defined ENABLE_CHECKING && (GCC_VERSION >= 2007)
|
||||
|
||||
#define DECL_UNIT(d) __extension__ \
|
||||
(({ struct decl *const _decl = (d); \
|
||||
(({ __typeof (d) const _decl = (d); \
|
||||
if (_decl->mode != dm_unit) \
|
||||
decl_mode_check_failed (_decl->mode, "dm_unit", \
|
||||
__FILE__, __LINE__, __FUNCTION__); \
|
||||
&(_decl)->decl.unit; }))
|
||||
|
||||
#define DECL_BYPASS(d) __extension__ \
|
||||
(({ struct decl *const _decl = (d); \
|
||||
(({ __typeof (d) const _decl = (d); \
|
||||
if (_decl->mode != dm_bypass) \
|
||||
decl_mode_check_failed (_decl->mode, "dm_bypass", \
|
||||
__FILE__, __LINE__, __FUNCTION__); \
|
||||
&(_decl)->decl.bypass; }))
|
||||
|
||||
#define DECL_AUTOMATON(d) __extension__ \
|
||||
(({ struct decl *const _decl = (d); \
|
||||
(({ __typeof (d) const _decl = (d); \
|
||||
if (_decl->mode != dm_automaton) \
|
||||
decl_mode_check_failed (_decl->mode, "dm_automaton", \
|
||||
__FILE__, __LINE__, __FUNCTION__); \
|
||||
&(_decl)->decl.automaton; }))
|
||||
|
||||
#define DECL_EXCL(d) __extension__ \
|
||||
(({ struct decl *const _decl = (d); \
|
||||
(({ __typeof (d) const _decl = (d); \
|
||||
if (_decl->mode != dm_excl) \
|
||||
decl_mode_check_failed (_decl->mode, "dm_excl", \
|
||||
__FILE__, __LINE__, __FUNCTION__); \
|
||||
&(_decl)->decl.excl; }))
|
||||
|
||||
#define DECL_PRESENCE(d) __extension__ \
|
||||
(({ struct decl *const _decl = (d); \
|
||||
(({ __typeof (d) const _decl = (d); \
|
||||
if (_decl->mode != dm_presence) \
|
||||
decl_mode_check_failed (_decl->mode, "dm_presence", \
|
||||
__FILE__, __LINE__, __FUNCTION__); \
|
||||
&(_decl)->decl.presence; }))
|
||||
|
||||
#define DECL_ABSENCE(d) __extension__ \
|
||||
(({ struct decl *const _decl = (d); \
|
||||
(({ __typeof (d) const _decl = (d); \
|
||||
if (_decl->mode != dm_absence) \
|
||||
decl_mode_check_failed (_decl->mode, "dm_absence", \
|
||||
__FILE__, __LINE__, __FUNCTION__); \
|
||||
&(_decl)->decl.absence; }))
|
||||
|
||||
#define DECL_RESERV(d) __extension__ \
|
||||
(({ struct decl *const _decl = (d); \
|
||||
(({ __typeof (d) const _decl = (d); \
|
||||
if (_decl->mode != dm_reserv) \
|
||||
decl_mode_check_failed (_decl->mode, "dm_reserv", \
|
||||
__FILE__, __LINE__, __FUNCTION__); \
|
||||
&(_decl)->decl.reserv; }))
|
||||
|
||||
#define DECL_INSN_RESERV(d) __extension__ \
|
||||
(({ struct decl *const _decl = (d); \
|
||||
(({ __typeof (d) const _decl = (d); \
|
||||
if (_decl->mode != dm_insn_reserv) \
|
||||
decl_mode_check_failed (_decl->mode, "dm_insn_reserv", \
|
||||
__FILE__, __LINE__, __FUNCTION__); \
|
||||
@ -1737,7 +1742,7 @@ string_hash (const char *string)
|
||||
static hashval_t
|
||||
automaton_decl_hash (const void *automaton_decl)
|
||||
{
|
||||
const decl_t decl = (decl_t) automaton_decl;
|
||||
const_decl_t const decl = (const_decl_t) automaton_decl;
|
||||
|
||||
gcc_assert (decl->mode != dm_automaton
|
||||
|| DECL_AUTOMATON (decl)->name);
|
||||
@ -1752,8 +1757,8 @@ static int
|
||||
automaton_decl_eq_p (const void* automaton_decl_1,
|
||||
const void* automaton_decl_2)
|
||||
{
|
||||
const decl_t decl1 = (decl_t) automaton_decl_1;
|
||||
const decl_t decl2 = (decl_t) automaton_decl_2;
|
||||
const_decl_t const decl1 = (const_decl_t) automaton_decl_1;
|
||||
const_decl_t const decl2 = (const_decl_t) automaton_decl_2;
|
||||
|
||||
gcc_assert (decl1->mode == dm_automaton
|
||||
&& DECL_AUTOMATON (decl1)->name
|
||||
@ -1838,7 +1843,7 @@ finish_automaton_decl_table (void)
|
||||
static hashval_t
|
||||
insn_decl_hash (const void *insn_decl)
|
||||
{
|
||||
const decl_t decl = (decl_t) insn_decl;
|
||||
const_decl_t const decl = (const_decl_t) insn_decl;
|
||||
|
||||
gcc_assert (decl->mode == dm_insn_reserv
|
||||
&& DECL_INSN_RESERV (decl)->name);
|
||||
@ -1851,8 +1856,8 @@ insn_decl_hash (const void *insn_decl)
|
||||
static int
|
||||
insn_decl_eq_p (const void *insn_decl_1, const void *insn_decl_2)
|
||||
{
|
||||
const decl_t decl1 = (decl_t) insn_decl_1;
|
||||
const decl_t decl2 = (decl_t) insn_decl_2;
|
||||
const_decl_t const decl1 = (const_decl_t) insn_decl_1;
|
||||
const_decl_t const decl2 = (const_decl_t) insn_decl_2;
|
||||
|
||||
gcc_assert (decl1->mode == dm_insn_reserv
|
||||
&& DECL_INSN_RESERV (decl1)->name
|
||||
@ -1936,7 +1941,7 @@ finish_insn_decl_table (void)
|
||||
static hashval_t
|
||||
decl_hash (const void *decl)
|
||||
{
|
||||
const decl_t d = (const decl_t) decl;
|
||||
const_decl_t const d = (const_decl_t) decl;
|
||||
|
||||
gcc_assert ((d->mode == dm_unit && DECL_UNIT (d)->name)
|
||||
|| (d->mode == dm_reserv && DECL_RESERV (d)->name));
|
||||
@ -1950,8 +1955,8 @@ decl_hash (const void *decl)
|
||||
static int
|
||||
decl_eq_p (const void *decl_1, const void *decl_2)
|
||||
{
|
||||
const decl_t d1 = (const decl_t) decl_1;
|
||||
const decl_t d2 = (const decl_t) decl_2;
|
||||
const_decl_t const d1 = (const_decl_t) decl_1;
|
||||
const_decl_t const d2 = (const_decl_t) decl_2;
|
||||
|
||||
gcc_assert ((d1->mode == dm_unit && DECL_UNIT (d1)->name)
|
||||
|| (d1->mode == dm_reserv && DECL_RESERV (d1)->name));
|
||||
@ -3182,11 +3187,11 @@ free_alt_states (alt_state_t alt_states_list)
|
||||
static int
|
||||
alt_state_cmp (const void *alt_state_ptr_1, const void *alt_state_ptr_2)
|
||||
{
|
||||
if ((*(alt_state_t *) alt_state_ptr_1)->state->unique_num
|
||||
== (*(alt_state_t *) alt_state_ptr_2)->state->unique_num)
|
||||
if ((*(const alt_state_t *) alt_state_ptr_1)->state->unique_num
|
||||
== (*(const alt_state_t *) alt_state_ptr_2)->state->unique_num)
|
||||
return 0;
|
||||
else if ((*(alt_state_t *) alt_state_ptr_1)->state->unique_num
|
||||
< (*(alt_state_t *) alt_state_ptr_2)->state->unique_num)
|
||||
else if ((*(const alt_state_t *) alt_state_ptr_1)->state->unique_num
|
||||
< (*(const alt_state_t *) alt_state_ptr_2)->state->unique_num)
|
||||
return -1;
|
||||
else
|
||||
return 1;
|
||||
@ -3376,11 +3381,11 @@ reserv_sets_hash_value (reserv_sets_t reservs)
|
||||
|
||||
/* Comparison of given reservation sets. */
|
||||
static int
|
||||
reserv_sets_cmp (reserv_sets_t reservs_1, reserv_sets_t reservs_2)
|
||||
reserv_sets_cmp (const_reserv_sets_t reservs_1, const_reserv_sets_t reservs_2)
|
||||
{
|
||||
int reservs_num;
|
||||
set_el_t *reserv_ptr_1;
|
||||
set_el_t *reserv_ptr_2;
|
||||
const set_el_t *reserv_ptr_1;
|
||||
const set_el_t *reserv_ptr_2;
|
||||
|
||||
gcc_assert (reservs_1 && reservs_2);
|
||||
reservs_num = els_in_reservs;
|
||||
@ -3402,7 +3407,7 @@ reserv_sets_cmp (reserv_sets_t reservs_1, reserv_sets_t reservs_2)
|
||||
|
||||
/* The function checks equality of the reservation sets. */
|
||||
static int
|
||||
reserv_sets_eq (reserv_sets_t reservs_1, reserv_sets_t reservs_2)
|
||||
reserv_sets_eq (const_reserv_sets_t reservs_1, const_reserv_sets_t reservs_2)
|
||||
{
|
||||
return reserv_sets_cmp (reservs_1, reservs_2) == 0;
|
||||
}
|
||||
@ -3654,12 +3659,12 @@ state_hash (const void *state)
|
||||
unsigned int hash_value;
|
||||
alt_state_t alt_state;
|
||||
|
||||
if (((state_t) state)->component_states == NULL)
|
||||
hash_value = reserv_sets_hash_value (((state_t) state)->reservs);
|
||||
if (((const_state_t) state)->component_states == NULL)
|
||||
hash_value = reserv_sets_hash_value (((const_state_t) state)->reservs);
|
||||
else
|
||||
{
|
||||
hash_value = 0;
|
||||
for (alt_state = ((state_t) state)->component_states;
|
||||
for (alt_state = ((const_state_t) state)->component_states;
|
||||
alt_state != NULL;
|
||||
alt_state = alt_state->next_sorted_alt_state)
|
||||
hash_value = (((hash_value >> (sizeof (unsigned) - 1) * CHAR_BIT)
|
||||
@ -3668,7 +3673,7 @@ state_hash (const void *state)
|
||||
}
|
||||
hash_value = (((hash_value >> (sizeof (unsigned) - 1) * CHAR_BIT)
|
||||
| (hash_value << CHAR_BIT))
|
||||
+ ((state_t) state)->automaton->automaton_order_num);
|
||||
+ ((const_state_t) state)->automaton->automaton_order_num);
|
||||
return hash_value;
|
||||
}
|
||||
|
||||
@ -3679,17 +3684,17 @@ state_eq_p (const void *state_1, const void *state_2)
|
||||
alt_state_t alt_state_1;
|
||||
alt_state_t alt_state_2;
|
||||
|
||||
if (((state_t) state_1)->automaton != ((state_t) state_2)->automaton)
|
||||
if (((const_state_t) state_1)->automaton != ((const_state_t) state_2)->automaton)
|
||||
return 0;
|
||||
else if (((state_t) state_1)->component_states == NULL
|
||||
&& ((state_t) state_2)->component_states == NULL)
|
||||
return reserv_sets_eq (((state_t) state_1)->reservs,
|
||||
((state_t) state_2)->reservs);
|
||||
else if (((state_t) state_1)->component_states != NULL
|
||||
&& ((state_t) state_2)->component_states != NULL)
|
||||
else if (((const_state_t) state_1)->component_states == NULL
|
||||
&& ((const_state_t) state_2)->component_states == NULL)
|
||||
return reserv_sets_eq (((const_state_t) state_1)->reservs,
|
||||
((const_state_t) state_2)->reservs);
|
||||
else if (((const_state_t) state_1)->component_states != NULL
|
||||
&& ((const_state_t) state_2)->component_states != NULL)
|
||||
{
|
||||
for (alt_state_1 = ((state_t) state_1)->component_states,
|
||||
alt_state_2 = ((state_t) state_2)->component_states;
|
||||
for (alt_state_1 = ((const_state_t) state_1)->component_states,
|
||||
alt_state_2 = ((const_state_t) state_2)->component_states;
|
||||
alt_state_1 != NULL && alt_state_2 != NULL;
|
||||
alt_state_1 = alt_state_1->next_sorted_alt_state,
|
||||
alt_state_2 = alt_state_2->next_sorted_alt_state)
|
||||
@ -3908,7 +3913,7 @@ add_arc (state_t from_state, state_t to_state, ainsn_t ainsn)
|
||||
|
||||
/* The function returns the first arc starting from STATE. */
|
||||
static arc_t
|
||||
first_out_arc (state_t state)
|
||||
first_out_arc (const_state_t state)
|
||||
{
|
||||
return state->first_out_arc;
|
||||
}
|
||||
@ -3997,10 +4002,10 @@ static hashval_t
|
||||
automata_list_hash (const void *automata_list)
|
||||
{
|
||||
unsigned int hash_value;
|
||||
automata_list_el_t curr_automata_list_el;
|
||||
const_automata_list_el_t curr_automata_list_el;
|
||||
|
||||
hash_value = 0;
|
||||
for (curr_automata_list_el = (automata_list_el_t) automata_list;
|
||||
for (curr_automata_list_el = (const_automata_list_el_t) automata_list;
|
||||
curr_automata_list_el != NULL;
|
||||
curr_automata_list_el = curr_automata_list_el->next_automata_list_el)
|
||||
hash_value = (((hash_value >> (sizeof (unsigned) - 1) * CHAR_BIT)
|
||||
@ -4013,11 +4018,11 @@ automata_list_hash (const void *automata_list)
|
||||
static int
|
||||
automata_list_eq_p (const void *automata_list_1, const void *automata_list_2)
|
||||
{
|
||||
automata_list_el_t automata_list_el_1;
|
||||
automata_list_el_t automata_list_el_2;
|
||||
const_automata_list_el_t automata_list_el_1;
|
||||
const_automata_list_el_t automata_list_el_2;
|
||||
|
||||
for (automata_list_el_1 = (automata_list_el_t) automata_list_1,
|
||||
automata_list_el_2 = (automata_list_el_t) automata_list_2;
|
||||
for (automata_list_el_1 = (const_automata_list_el_t) automata_list_1,
|
||||
automata_list_el_2 = (const_automata_list_el_t) automata_list_2;
|
||||
automata_list_el_1 != NULL && automata_list_el_2 != NULL;
|
||||
automata_list_el_1 = automata_list_el_1->next_automata_list_el,
|
||||
automata_list_el_2 = automata_list_el_2->next_automata_list_el)
|
||||
@ -5717,8 +5722,8 @@ static int
|
||||
compare_states_for_equiv (const void *state_ptr_1,
|
||||
const void *state_ptr_2)
|
||||
{
|
||||
state_t s1 = *(state_t *)state_ptr_1;
|
||||
state_t s2 = *(state_t *)state_ptr_2;
|
||||
const_state_t const s1 = *(const_state_t const*)state_ptr_1;
|
||||
const_state_t const s2 = *(const_state_t const*)state_ptr_2;
|
||||
unsigned int sz, si;
|
||||
if (s1->num_out_arcs < s2->num_out_arcs)
|
||||
return -1;
|
||||
@ -6313,11 +6318,11 @@ static int
|
||||
compare_max_occ_cycle_nums (const void *unit_decl_1,
|
||||
const void *unit_decl_2)
|
||||
{
|
||||
if ((DECL_UNIT (*(decl_t *) unit_decl_1)->max_occ_cycle_num)
|
||||
< (DECL_UNIT (*(decl_t *) unit_decl_2)->max_occ_cycle_num))
|
||||
if ((DECL_UNIT (*(const_decl_t const*) unit_decl_1)->max_occ_cycle_num)
|
||||
< (DECL_UNIT (*(const_decl_t const*) unit_decl_2)->max_occ_cycle_num))
|
||||
return 1;
|
||||
else if ((DECL_UNIT (*(decl_t *) unit_decl_1)->max_occ_cycle_num)
|
||||
== (DECL_UNIT (*(decl_t *) unit_decl_2)->max_occ_cycle_num))
|
||||
else if ((DECL_UNIT (*(const_decl_t const*) unit_decl_1)->max_occ_cycle_num)
|
||||
== (DECL_UNIT (*(const_decl_t const*) unit_decl_2)->max_occ_cycle_num))
|
||||
return 0;
|
||||
else
|
||||
return -1;
|
||||
@ -7226,7 +7231,7 @@ add_vect (state_ainsn_table_t tab, int vect_num, vla_hwint_t vect)
|
||||
|
||||
/* Return number of out arcs of STATE. */
|
||||
static int
|
||||
out_state_arcs_num (state_t state)
|
||||
out_state_arcs_num (const_state_t state)
|
||||
{
|
||||
int result;
|
||||
arc_t arc;
|
||||
@ -7246,11 +7251,11 @@ static int
|
||||
compare_transition_els_num (const void *state_ptr_1,
|
||||
const void *state_ptr_2)
|
||||
{
|
||||
int transition_els_num_1;
|
||||
int transition_els_num_2;
|
||||
const int transition_els_num_1
|
||||
= out_state_arcs_num (*(const_state_t const*) state_ptr_1);
|
||||
const int transition_els_num_2
|
||||
= out_state_arcs_num (*(const_state_t const*) state_ptr_2);
|
||||
|
||||
transition_els_num_1 = out_state_arcs_num (*(state_t *) state_ptr_1);
|
||||
transition_els_num_2 = out_state_arcs_num (*(state_t *) state_ptr_2);
|
||||
if (transition_els_num_1 < transition_els_num_2)
|
||||
return 1;
|
||||
else if (transition_els_num_1 == transition_els_num_2)
|
||||
@ -8238,8 +8243,8 @@ output_print_reservation_func (void)
|
||||
static int
|
||||
units_cmp (const void *unit1, const void *unit2)
|
||||
{
|
||||
const unit_decl_t u1 = *(unit_decl_t *) unit1;
|
||||
const unit_decl_t u2 = *(unit_decl_t *) unit2;
|
||||
const_unit_decl_t const u1 = *(const_unit_decl_t const*) unit1;
|
||||
const_unit_decl_t const u2 = *(const_unit_decl_t const*) unit2;
|
||||
|
||||
return strcmp (u1->name, u2->name);
|
||||
}
|
||||
@ -8641,8 +8646,8 @@ output_state_arcs (state_t state)
|
||||
static int
|
||||
state_reservs_cmp (const void *reservs_ptr_1, const void *reservs_ptr_2)
|
||||
{
|
||||
return reserv_sets_cmp (*(reserv_sets_t *) reservs_ptr_1,
|
||||
*(reserv_sets_t *) reservs_ptr_2);
|
||||
return reserv_sets_cmp (*(const_reserv_sets_t const*) reservs_ptr_1,
|
||||
*(const_reserv_sets_t const*) reservs_ptr_2);
|
||||
}
|
||||
|
||||
/* The following function is used for sorting possible cpu unit
|
||||
|
@ -740,8 +740,8 @@ create_modes (void)
|
||||
static int
|
||||
cmp_modes (const void *a, const void *b)
|
||||
{
|
||||
struct mode_data *m = *(struct mode_data **)a;
|
||||
struct mode_data *n = *(struct mode_data **)b;
|
||||
const struct mode_data *const m = *(const struct mode_data *const*)a;
|
||||
const struct mode_data *const n = *(const struct mode_data *const*)b;
|
||||
|
||||
if (m->bytesize > n->bytesize)
|
||||
return 1;
|
||||
|
@ -305,13 +305,13 @@ gt_pch_note_reorder (void *obj, void *note_ptr_cookie,
|
||||
static hashval_t
|
||||
saving_htab_hash (const void *p)
|
||||
{
|
||||
return POINTER_HASH (((struct ptr_data *)p)->obj);
|
||||
return POINTER_HASH (((const struct ptr_data *)p)->obj);
|
||||
}
|
||||
|
||||
static int
|
||||
saving_htab_eq (const void *p1, const void *p2)
|
||||
{
|
||||
return ((struct ptr_data *)p1)->obj == p2;
|
||||
return ((const struct ptr_data *)p1)->obj == p2;
|
||||
}
|
||||
|
||||
/* Handy state for the traversal functions. */
|
||||
|
@ -1335,8 +1335,8 @@ gimplify_loop_expr (tree *expr_p, tree *pre_p)
|
||||
static int
|
||||
compare_case_labels (const void *p1, const void *p2)
|
||||
{
|
||||
tree case1 = *(tree *)p1;
|
||||
tree case2 = *(tree *)p2;
|
||||
const_tree const case1 = *(const_tree const*)p1;
|
||||
const_tree const case2 = *(const_tree const*)p2;
|
||||
|
||||
return tree_int_cst_compare (CASE_LOW (case1), CASE_LOW (case2));
|
||||
}
|
||||
|
@ -140,14 +140,14 @@ static unsigned int look_for_casts (tree lhs ATTRIBUTE_UNUSED, tree);
|
||||
static bool is_cast_from_non_pointer (tree, tree, void *);
|
||||
|
||||
/* Get the name of TYPE or return the string "<UNNAMED>". */
|
||||
static char*
|
||||
static const char*
|
||||
get_name_of_type (tree type)
|
||||
{
|
||||
tree name = TYPE_NAME (type);
|
||||
|
||||
if (!name)
|
||||
/* Unnamed type, do what you like here. */
|
||||
return (char*)"<UNNAMED>";
|
||||
return "<UNNAMED>";
|
||||
|
||||
/* It will be a TYPE_DECL in the case of a typedef, otherwise, an
|
||||
identifier_node */
|
||||
@ -157,20 +157,20 @@ get_name_of_type (tree type)
|
||||
IDENTIFIER_NODE. (Some decls, most often labels, may have
|
||||
zero as the DECL_NAME). */
|
||||
if (DECL_NAME (name))
|
||||
return (char*)IDENTIFIER_POINTER (DECL_NAME (name));
|
||||
return IDENTIFIER_POINTER (DECL_NAME (name));
|
||||
else
|
||||
/* Unnamed type, do what you like here. */
|
||||
return (char*)"<UNNAMED>";
|
||||
return "<UNNAMED>";
|
||||
}
|
||||
else if (TREE_CODE (name) == IDENTIFIER_NODE)
|
||||
return (char*)IDENTIFIER_POINTER (name);
|
||||
return IDENTIFIER_POINTER (name);
|
||||
else
|
||||
return (char*)"<UNNAMED>";
|
||||
return "<UNNAMED>";
|
||||
}
|
||||
|
||||
struct type_brand_s
|
||||
{
|
||||
char* name;
|
||||
const char* name;
|
||||
int seq;
|
||||
};
|
||||
|
||||
|
@ -1,3 +1,13 @@
|
||||
2007-07-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* class.c (java_treetreehash_hash, java_treetreehash_compare):
|
||||
Constify.
|
||||
* expr.c (type_assertion_eq): Likewise.
|
||||
* jcf-io.c (compare_path): Likewise.
|
||||
* jcf-parse.c (cmpstringp): Likewise.
|
||||
* verify-impl.c (get_one_type, compute_argument_types,
|
||||
compute_return_type): Likewise.
|
||||
|
||||
2007-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
||||
|
||||
PR target/32462
|
||||
|
@ -3048,15 +3048,17 @@ static int java_treetreehash_compare (const void *, const void *);
|
||||
static hashval_t
|
||||
java_treetreehash_hash (const void *k_p)
|
||||
{
|
||||
struct treetreehash_entry *k = (struct treetreehash_entry *) k_p;
|
||||
const struct treetreehash_entry *const k
|
||||
= (const struct treetreehash_entry *) k_p;
|
||||
return JAVA_TREEHASHHASH_H (k->key);
|
||||
}
|
||||
|
||||
static int
|
||||
java_treetreehash_compare (const void * k1_p, const void * k2_p)
|
||||
{
|
||||
struct treetreehash_entry * k1 = (struct treetreehash_entry *) k1_p;
|
||||
tree k2 = (tree) k2_p;
|
||||
const struct treetreehash_entry *const k1
|
||||
= (const struct treetreehash_entry *) k1_p;
|
||||
const_tree const k2 = (const_tree) k2_p;
|
||||
return (k1->key == k2);
|
||||
}
|
||||
|
||||
|
@ -419,8 +419,8 @@ pop_type (tree type)
|
||||
static int
|
||||
type_assertion_eq (const void * k1_p, const void * k2_p)
|
||||
{
|
||||
type_assertion k1 = *(type_assertion *)k1_p;
|
||||
type_assertion k2 = *(type_assertion *)k2_p;
|
||||
const type_assertion k1 = *(const type_assertion *)k1_p;
|
||||
const type_assertion k2 = *(const type_assertion *)k2_p;
|
||||
return (k1.assertion_code == k2.assertion_code
|
||||
&& k1.op1 == k2.op1
|
||||
&& k1.op2 == k2.op2);
|
||||
|
@ -293,7 +293,7 @@ static int
|
||||
compare_path (const void *key, const void *entry)
|
||||
{
|
||||
return strcmp ((const char *) key,
|
||||
(*((const struct dirent **) entry))->d_name);
|
||||
(*((const struct dirent *const*) entry))->d_name);
|
||||
}
|
||||
|
||||
/* Returns nonzero if ENTRY names a .java or .class file. */
|
||||
|
@ -166,7 +166,7 @@ cmpstringp (const void *p1, const void *p2)
|
||||
pointers to char", but strcmp() arguments are "pointers
|
||||
to char", hence the following cast plus dereference */
|
||||
|
||||
return strcmp(*(char **) p1, *(char **) p2);
|
||||
return strcmp(*(const char *const*) p1, *(const char *const*) p2);
|
||||
}
|
||||
|
||||
/* Create an array of strings, one for each source file that we've
|
||||
|
@ -2078,8 +2078,8 @@ check_method_constant (int index, bool is_interface,
|
||||
method_name, method_signature);
|
||||
}
|
||||
|
||||
static char *
|
||||
get_one_type (char *p, type *t)
|
||||
static const char *
|
||||
get_one_type (const char *p, type *t)
|
||||
{
|
||||
const char *start = p;
|
||||
vfy_jclass k;
|
||||
@ -2131,7 +2131,7 @@ static void
|
||||
compute_argument_types (vfy_string signature, type *types)
|
||||
{
|
||||
int i;
|
||||
char *p = (char *) vfy_string_bytes (signature);
|
||||
const char *p = vfy_string_bytes (signature);
|
||||
|
||||
/* Skip `('. */
|
||||
++p;
|
||||
@ -2144,7 +2144,7 @@ compute_argument_types (vfy_string signature, type *types)
|
||||
static type
|
||||
compute_return_type (vfy_string signature)
|
||||
{
|
||||
char *p = (char *) vfy_string_bytes (signature);
|
||||
const char *p = vfy_string_bytes (signature);
|
||||
type t;
|
||||
while (*p != ')')
|
||||
++p;
|
||||
|
@ -1484,7 +1484,7 @@ unroll_loop_stupid (struct loop *loop)
|
||||
static hashval_t
|
||||
si_info_hash (const void *ivts)
|
||||
{
|
||||
return (hashval_t) INSN_UID (((struct iv_to_split *) ivts)->insn);
|
||||
return (hashval_t) INSN_UID (((const struct iv_to_split *) ivts)->insn);
|
||||
}
|
||||
|
||||
/* An equality functions for information about insns to split. */
|
||||
@ -1503,7 +1503,7 @@ si_info_eq (const void *ivts1, const void *ivts2)
|
||||
static hashval_t
|
||||
ve_info_hash (const void *ves)
|
||||
{
|
||||
return (hashval_t) INSN_UID (((struct var_to_expand *) ves)->insn);
|
||||
return (hashval_t) INSN_UID (((const struct var_to_expand *) ves)->insn);
|
||||
}
|
||||
|
||||
/* Return true if IVTS1 and IVTS2 (which are really both of type
|
||||
|
@ -390,7 +390,7 @@ static htab_t matrices_to_reorg = NULL;
|
||||
static hashval_t
|
||||
mtt_info_hash (const void *mtt)
|
||||
{
|
||||
return htab_hash_pointer (((struct matrix_info *) mtt)->decl);
|
||||
return htab_hash_pointer (((const struct matrix_info *) mtt)->decl);
|
||||
}
|
||||
|
||||
/* Return true if MTT1 and MTT2 (which are really both of type
|
||||
|
@ -1,3 +1,8 @@
|
||||
2007-07-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* objc-act.c (volatilized_hash, volatilized_eq, string_hash,
|
||||
string_eq): Constify.
|
||||
|
||||
2007-04-04 Stuart Hastings <stuart@apple.com>
|
||||
|
||||
PR 31281
|
||||
|
@ -1321,7 +1321,7 @@ objc_xref_basetypes (tree ref, tree basetype)
|
||||
static hashval_t
|
||||
volatilized_hash (const void *ptr)
|
||||
{
|
||||
tree typ = ((struct volatilized_type *)ptr)->type;
|
||||
const_tree const typ = ((const struct volatilized_type *)ptr)->type;
|
||||
|
||||
return htab_hash_pointer(typ);
|
||||
}
|
||||
@ -1329,8 +1329,8 @@ volatilized_hash (const void *ptr)
|
||||
static int
|
||||
volatilized_eq (const void *ptr1, const void *ptr2)
|
||||
{
|
||||
tree typ1 = ((struct volatilized_type *)ptr1)->type;
|
||||
tree typ2 = ((struct volatilized_type *)ptr2)->type;
|
||||
const_tree const typ1 = ((const struct volatilized_type *)ptr1)->type;
|
||||
const_tree const typ2 = ((const struct volatilized_type *)ptr2)->type;
|
||||
|
||||
return typ1 == typ2;
|
||||
}
|
||||
@ -1856,7 +1856,7 @@ my_build_string_pointer (int len, const char *str)
|
||||
static hashval_t
|
||||
string_hash (const void *ptr)
|
||||
{
|
||||
tree str = ((struct string_descriptor *)ptr)->literal;
|
||||
const_tree const str = ((const struct string_descriptor *)ptr)->literal;
|
||||
const unsigned char *p = (const unsigned char *) TREE_STRING_POINTER (str);
|
||||
int i, len = TREE_STRING_LENGTH (str);
|
||||
hashval_t h = len;
|
||||
@ -1870,8 +1870,8 @@ string_hash (const void *ptr)
|
||||
static int
|
||||
string_eq (const void *ptr1, const void *ptr2)
|
||||
{
|
||||
tree str1 = ((struct string_descriptor *)ptr1)->literal;
|
||||
tree str2 = ((struct string_descriptor *)ptr2)->literal;
|
||||
const_tree const str1 = ((const struct string_descriptor *)ptr1)->literal;
|
||||
const_tree const str2 = ((const struct string_descriptor *)ptr2)->literal;
|
||||
int len1 = TREE_STRING_LENGTH (str1);
|
||||
|
||||
return (len1 == TREE_STRING_LENGTH (str2)
|
||||
|
@ -297,7 +297,7 @@ hash_expr (rtx x, int *do_not_record_p)
|
||||
static hashval_t
|
||||
hash_expr_for_htab (const void *expp)
|
||||
{
|
||||
struct expr *exp = (struct expr *) expp;
|
||||
const struct expr *const exp = (const struct expr *) expp;
|
||||
return exp->hash;
|
||||
}
|
||||
|
||||
@ -307,8 +307,8 @@ hash_expr_for_htab (const void *expp)
|
||||
static int
|
||||
expr_equiv_p (const void *exp1p, const void *exp2p)
|
||||
{
|
||||
struct expr *exp1 = (struct expr *) exp1p;
|
||||
struct expr *exp2 = (struct expr *) exp2p;
|
||||
const struct expr *const exp1 = (const struct expr *) exp1p;
|
||||
const struct expr *const exp2 = (const struct expr *) exp2p;
|
||||
int equiv_p = exp_equiv_p (exp1->expr, exp2->expr, 0, true);
|
||||
|
||||
gcc_assert (!equiv_p || exp1->hash == exp2->hash);
|
||||
|
@ -238,6 +238,7 @@ typedef struct hash_bucket_def
|
||||
/* List of sequence candidates. */
|
||||
htab_t seq_candidates;
|
||||
} *p_hash_bucket;
|
||||
typedef const struct hash_bucket_def *const_p_hash_bucket;
|
||||
|
||||
/* Contains the last insn of the sequence, and its index value. */
|
||||
typedef struct hash_elem_def
|
||||
@ -251,6 +252,7 @@ typedef struct hash_elem_def
|
||||
/* The cached length of the insn. */
|
||||
int length;
|
||||
} *p_hash_elem;
|
||||
typedef const struct hash_elem_def *const_p_hash_elem;
|
||||
|
||||
/* The list of same sequence candidates. */
|
||||
static htab_t hash_buckets;
|
||||
@ -1205,7 +1207,7 @@ dump_best_pattern_seq (int iter)
|
||||
static unsigned int
|
||||
htab_hash_bucket (const void *p)
|
||||
{
|
||||
p_hash_bucket bucket = (p_hash_bucket) p;
|
||||
const_p_hash_bucket bucket = (const_p_hash_bucket) p;
|
||||
return bucket->hash;
|
||||
}
|
||||
|
||||
@ -1235,7 +1237,7 @@ htab_del_bucket (void *p)
|
||||
static unsigned int
|
||||
htab_hash_elem (const void *p)
|
||||
{
|
||||
p_hash_elem elem = (p_hash_elem) p;
|
||||
const_p_hash_elem elem = (const_p_hash_elem) p;
|
||||
return htab_hash_pointer (elem->insn);
|
||||
}
|
||||
|
||||
|
@ -751,8 +751,8 @@ store_child_info (tree *tp, int *walk_subtrees ATTRIBUTE_UNUSED,
|
||||
static int
|
||||
TB_parent_eq (const void *p1, const void *p2)
|
||||
{
|
||||
const_tree node = (const_tree)p2;
|
||||
tree parent = (tree) p1;
|
||||
const_tree const node = (const_tree)p2;
|
||||
const_tree const parent = (const_tree) p1;
|
||||
|
||||
if (p1 == NULL || p2 == NULL)
|
||||
return 0;
|
||||
|
@ -307,7 +307,7 @@ new_scev_info_str (tree var)
|
||||
static hashval_t
|
||||
hash_scev_info (const void *elt)
|
||||
{
|
||||
return SSA_NAME_VERSION (((struct scev_info_str *) elt)->var);
|
||||
return SSA_NAME_VERSION (((const struct scev_info_str *) elt)->var);
|
||||
}
|
||||
|
||||
/* Compares database elements E1 and E2. */
|
||||
|
@ -309,8 +309,8 @@ mark_non_addressable (tree var)
|
||||
static int
|
||||
sort_tags_by_id (const void *pa, const void *pb)
|
||||
{
|
||||
tree a = *(tree *)pa;
|
||||
tree b = *(tree *)pb;
|
||||
const_tree const a = *(const_tree const *)pa;
|
||||
const_tree const b = *(const_tree const *)pb;
|
||||
|
||||
return DECL_UID (a) - DECL_UID (b);
|
||||
}
|
||||
|
@ -48,6 +48,7 @@ typedef struct coalesce_pair
|
||||
int second_element;
|
||||
int cost;
|
||||
} * coalesce_pair_p;
|
||||
typedef const struct coalesce_pair *const_coalesce_pair_p;
|
||||
|
||||
typedef struct cost_one_pair_d
|
||||
{
|
||||
@ -174,8 +175,8 @@ pop_best_coalesce (coalesce_list_p cl, int *p1, int *p2)
|
||||
static unsigned int
|
||||
coalesce_pair_map_hash (const void *pair)
|
||||
{
|
||||
hashval_t a = (hashval_t)(((coalesce_pair_p)pair)->first_element);
|
||||
hashval_t b = (hashval_t)(((coalesce_pair_p)pair)->second_element);
|
||||
hashval_t a = (hashval_t)(((const_coalesce_pair_p)pair)->first_element);
|
||||
hashval_t b = (hashval_t)(((const_coalesce_pair_p)pair)->second_element);
|
||||
|
||||
return COALESCE_HASH_FN (a,b);
|
||||
}
|
||||
@ -187,8 +188,8 @@ coalesce_pair_map_hash (const void *pair)
|
||||
static int
|
||||
coalesce_pair_map_eq (const void *pair1, const void *pair2)
|
||||
{
|
||||
coalesce_pair_p p1 = (coalesce_pair_p) pair1;
|
||||
coalesce_pair_p p2 = (coalesce_pair_p) pair2;
|
||||
const_coalesce_pair_p const p1 = (const_coalesce_pair_p) pair1;
|
||||
const_coalesce_pair_p const p2 = (const_coalesce_pair_p) pair2;
|
||||
|
||||
return (p1->first_element == p2->first_element
|
||||
&& p1->second_element == p2->second_element);
|
||||
@ -314,7 +315,8 @@ add_coalesce (coalesce_list_p cl, int p1, int p2,
|
||||
static int
|
||||
compare_pairs (const void *p1, const void *p2)
|
||||
{
|
||||
return (*(coalesce_pair_p *)p1)->cost - (*(coalesce_pair_p *)p2)->cost;
|
||||
return (*(const_coalesce_pair_p const*)p1)->cost
|
||||
- (*(const_coalesce_pair_p const*)p2)->cost;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1997,8 +1997,8 @@ lookup_avail_expr (tree stmt, bool insert)
|
||||
static hashval_t
|
||||
avail_expr_hash (const void *p)
|
||||
{
|
||||
tree stmt = ((struct expr_hash_elt *)p)->stmt;
|
||||
tree rhs = ((struct expr_hash_elt *)p)->rhs;
|
||||
tree stmt = ((const struct expr_hash_elt *)p)->stmt;
|
||||
tree rhs = ((const struct expr_hash_elt *)p)->rhs;
|
||||
tree vuse;
|
||||
ssa_op_iter iter;
|
||||
hashval_t val = 0;
|
||||
@ -2033,10 +2033,10 @@ real_avail_expr_hash (const void *p)
|
||||
static int
|
||||
avail_expr_eq (const void *p1, const void *p2)
|
||||
{
|
||||
tree stmt1 = ((struct expr_hash_elt *)p1)->stmt;
|
||||
tree rhs1 = ((struct expr_hash_elt *)p1)->rhs;
|
||||
tree stmt2 = ((struct expr_hash_elt *)p2)->stmt;
|
||||
tree rhs2 = ((struct expr_hash_elt *)p2)->rhs;
|
||||
tree stmt1 = ((const struct expr_hash_elt *)p1)->stmt;
|
||||
tree rhs1 = ((const struct expr_hash_elt *)p1)->rhs;
|
||||
tree stmt2 = ((const struct expr_hash_elt *)p2)->stmt;
|
||||
tree rhs2 = ((const struct expr_hash_elt *)p2)->rhs;
|
||||
|
||||
/* If they are the same physical expression, return true. */
|
||||
if (rhs1 == rhs2 && stmt1 == stmt2)
|
||||
@ -2052,8 +2052,8 @@ avail_expr_eq (const void *p1, const void *p2)
|
||||
&& operand_equal_p (rhs1, rhs2, OEP_PURE_SAME))
|
||||
{
|
||||
bool ret = compare_ssa_operands_equal (stmt1, stmt2, SSA_OP_VUSE);
|
||||
gcc_assert (!ret || ((struct expr_hash_elt *)p1)->hash
|
||||
== ((struct expr_hash_elt *)p2)->hash);
|
||||
gcc_assert (!ret || ((const struct expr_hash_elt *)p1)->hash
|
||||
== ((const struct expr_hash_elt *)p2)->hash);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -445,13 +445,14 @@ typedef struct expr_pred_trans_d
|
||||
speed reasons. */
|
||||
hashval_t hashcode;
|
||||
} *expr_pred_trans_t;
|
||||
typedef const struct expr_pred_trans_d *const_expr_pred_trans_t;
|
||||
|
||||
/* Return the hash value for a phi translation table entry. */
|
||||
|
||||
static hashval_t
|
||||
expr_pred_trans_hash (const void *p)
|
||||
{
|
||||
const expr_pred_trans_t ve = (expr_pred_trans_t) p;
|
||||
const_expr_pred_trans_t const ve = (const_expr_pred_trans_t) p;
|
||||
return ve->hashcode;
|
||||
}
|
||||
|
||||
@ -461,8 +462,8 @@ expr_pred_trans_hash (const void *p)
|
||||
static int
|
||||
expr_pred_trans_eq (const void *p1, const void *p2)
|
||||
{
|
||||
const expr_pred_trans_t ve1 = (expr_pred_trans_t) p1;
|
||||
const expr_pred_trans_t ve2 = (expr_pred_trans_t) p2;
|
||||
const_expr_pred_trans_t const ve1 = (const_expr_pred_trans_t) p1;
|
||||
const_expr_pred_trans_t const ve2 = (const_expr_pred_trans_t) p2;
|
||||
basic_block b1 = ve1->pred;
|
||||
basic_block b2 = ve2->pred;
|
||||
int i;
|
||||
|
@ -131,6 +131,7 @@ typedef struct vn_binary_op_s
|
||||
hashval_t hashcode;
|
||||
tree result;
|
||||
} *vn_binary_op_t;
|
||||
typedef const struct vn_binary_op_s *const_vn_binary_op_t;
|
||||
|
||||
/* Unary operations in the hashtable consist of a single operand, an
|
||||
opcode, and a type. Result is the value number of the operation,
|
||||
@ -144,6 +145,7 @@ typedef struct vn_unary_op_s
|
||||
hashval_t hashcode;
|
||||
tree result;
|
||||
} *vn_unary_op_t;
|
||||
typedef const struct vn_unary_op_s *const_vn_unary_op_t;
|
||||
|
||||
/* Phi nodes in the hashtable consist of their non-VN_TOP phi
|
||||
arguments, and the basic block the phi is in. Result is the value
|
||||
@ -158,6 +160,7 @@ typedef struct vn_phi_s
|
||||
hashval_t hashcode;
|
||||
tree result;
|
||||
} *vn_phi_t;
|
||||
typedef const struct vn_phi_s *const_vn_phi_t;
|
||||
|
||||
/* Reference operands only exist in reference operations structures.
|
||||
They consist of an opcode, type, and some number of operands. For
|
||||
@ -174,6 +177,7 @@ typedef struct vn_reference_op_struct
|
||||
tree op2;
|
||||
} vn_reference_op_s;
|
||||
typedef vn_reference_op_s *vn_reference_op_t;
|
||||
typedef const vn_reference_op_s *const_vn_reference_op_t;
|
||||
|
||||
DEF_VEC_O(vn_reference_op_s);
|
||||
DEF_VEC_ALLOC_O(vn_reference_op_s, heap);
|
||||
@ -193,6 +197,7 @@ typedef struct vn_reference_s
|
||||
hashval_t hashcode;
|
||||
tree result;
|
||||
} *vn_reference_t;
|
||||
typedef const struct vn_reference_s *const_vn_reference_t;
|
||||
|
||||
/* Valid hashtables storing information we have proven to be
|
||||
correct. */
|
||||
@ -281,8 +286,8 @@ VN_INFO_GET (tree name)
|
||||
static int
|
||||
vn_reference_op_eq (const void *p1, const void *p2)
|
||||
{
|
||||
const vn_reference_op_t vro1 = (vn_reference_op_t) p1;
|
||||
const vn_reference_op_t vro2 = (vn_reference_op_t) p2;
|
||||
const_vn_reference_op_t const vro1 = (const_vn_reference_op_t) p1;
|
||||
const_vn_reference_op_t const vro2 = (const_vn_reference_op_t) p2;
|
||||
return vro1->opcode == vro2->opcode
|
||||
&& vro1->type == vro2->type
|
||||
&& expressions_equal_p (vro1->op0, vro2->op0)
|
||||
@ -305,7 +310,7 @@ vn_reference_op_compute_hash (const vn_reference_op_t vro1)
|
||||
static hashval_t
|
||||
vn_reference_hash (const void *p1)
|
||||
{
|
||||
const vn_reference_t vr1 = (vn_reference_t) p1;
|
||||
const_vn_reference_t const vr1 = (const_vn_reference_t) p1;
|
||||
return vr1->hashcode;
|
||||
}
|
||||
|
||||
@ -337,8 +342,8 @@ vn_reference_eq (const void *p1, const void *p2)
|
||||
int i;
|
||||
vn_reference_op_t vro;
|
||||
|
||||
const vn_reference_t vr1 = (vn_reference_t) p1;
|
||||
const vn_reference_t vr2 = (vn_reference_t) p2;
|
||||
const_vn_reference_t const vr1 = (const_vn_reference_t) p1;
|
||||
const_vn_reference_t const vr2 = (const_vn_reference_t) p2;
|
||||
|
||||
if (vr1->vuses == vr2->vuses
|
||||
&& vr1->operands == vr2->operands)
|
||||
@ -694,7 +699,7 @@ vn_reference_insert (tree op, tree result, VEC (tree, gc) *vuses)
|
||||
static hashval_t
|
||||
vn_unary_op_hash (const void *p1)
|
||||
{
|
||||
const vn_unary_op_t vuo1 = (vn_unary_op_t) p1;
|
||||
const_vn_unary_op_t const vuo1 = (const_vn_unary_op_t) p1;
|
||||
return vuo1->hashcode;
|
||||
}
|
||||
|
||||
@ -711,8 +716,8 @@ vn_unary_op_compute_hash (const vn_unary_op_t vuo1)
|
||||
static int
|
||||
vn_unary_op_eq (const void *p1, const void *p2)
|
||||
{
|
||||
const vn_unary_op_t vuo1 = (vn_unary_op_t) p1;
|
||||
const vn_unary_op_t vuo2 = (vn_unary_op_t) p2;
|
||||
const_vn_unary_op_t const vuo1 = (const_vn_unary_op_t) p1;
|
||||
const_vn_unary_op_t const vuo2 = (const_vn_unary_op_t) p2;
|
||||
return vuo1->opcode == vuo2->opcode
|
||||
&& vuo1->type == vuo2->type
|
||||
&& expressions_equal_p (vuo1->op0, vuo2->op0);
|
||||
@ -781,7 +786,7 @@ vn_binary_op_compute_hash (const vn_binary_op_t vbo1)
|
||||
static hashval_t
|
||||
vn_binary_op_hash (const void *p1)
|
||||
{
|
||||
const vn_binary_op_t vbo1 = (vn_binary_op_t) p1;
|
||||
const_vn_binary_op_t const vbo1 = (const_vn_binary_op_t) p1;
|
||||
return vbo1->hashcode;
|
||||
}
|
||||
|
||||
@ -791,8 +796,8 @@ vn_binary_op_hash (const void *p1)
|
||||
static int
|
||||
vn_binary_op_eq (const void *p1, const void *p2)
|
||||
{
|
||||
const vn_binary_op_t vbo1 = (vn_binary_op_t) p1;
|
||||
const vn_binary_op_t vbo2 = (vn_binary_op_t) p2;
|
||||
const_vn_binary_op_t const vbo1 = (const_vn_binary_op_t) p1;
|
||||
const_vn_binary_op_t const vbo2 = (const_vn_binary_op_t) p2;
|
||||
return vbo1->opcode == vbo2->opcode
|
||||
&& vbo1->type == vbo2->type
|
||||
&& expressions_equal_p (vbo1->op0, vbo2->op0)
|
||||
@ -897,7 +902,7 @@ vn_phi_compute_hash (vn_phi_t vp1)
|
||||
static hashval_t
|
||||
vn_phi_hash (const void *p1)
|
||||
{
|
||||
const vn_phi_t vp1 = (vn_phi_t) p1;
|
||||
const_vn_phi_t const vp1 = (const_vn_phi_t) p1;
|
||||
return vp1->hashcode;
|
||||
}
|
||||
|
||||
@ -906,8 +911,8 @@ vn_phi_hash (const void *p1)
|
||||
static int
|
||||
vn_phi_eq (const void *p1, const void *p2)
|
||||
{
|
||||
const vn_phi_t vp1 = (vn_phi_t) p1;
|
||||
const vn_phi_t vp2 = (vn_phi_t) p2;
|
||||
const_vn_phi_t const vp1 = (const_vn_phi_t) p1;
|
||||
const_vn_phi_t const vp2 = (const_vn_phi_t) p2;
|
||||
|
||||
if (vp1->block == vp2->block)
|
||||
{
|
||||
|
@ -223,15 +223,15 @@ create_block_for_threading (basic_block bb, struct redirection_data *rd)
|
||||
static hashval_t
|
||||
redirection_data_hash (const void *p)
|
||||
{
|
||||
edge e = ((struct redirection_data *)p)->outgoing_edge;
|
||||
edge e = ((const struct redirection_data *)p)->outgoing_edge;
|
||||
return e->dest->index;
|
||||
}
|
||||
|
||||
static int
|
||||
redirection_data_eq (const void *p1, const void *p2)
|
||||
{
|
||||
edge e1 = ((struct redirection_data *)p1)->outgoing_edge;
|
||||
edge e2 = ((struct redirection_data *)p2)->outgoing_edge;
|
||||
edge e1 = ((const struct redirection_data *)p1)->outgoing_edge;
|
||||
edge e2 = ((const struct redirection_data *)p2)->outgoing_edge;
|
||||
|
||||
return e1 == e2;
|
||||
}
|
||||
|
@ -316,15 +316,15 @@ static void uncprop_into_successor_phis (struct dom_walk_data *, basic_block);
|
||||
static hashval_t
|
||||
equiv_hash (const void *p)
|
||||
{
|
||||
tree value = ((struct equiv_hash_elt *)p)->value;
|
||||
tree const value = ((const struct equiv_hash_elt *)p)->value;
|
||||
return iterative_hash_expr (value, 0);
|
||||
}
|
||||
|
||||
static int
|
||||
equiv_eq (const void *p1, const void *p2)
|
||||
{
|
||||
tree value1 = ((struct equiv_hash_elt *)p1)->value;
|
||||
tree value2 = ((struct equiv_hash_elt *)p2)->value;
|
||||
tree value1 = ((const struct equiv_hash_elt *)p1)->value;
|
||||
tree value2 = ((const struct equiv_hash_elt *)p2)->value;
|
||||
|
||||
return operand_equal_p (value1, value2, 0);
|
||||
}
|
||||
|
@ -781,7 +781,7 @@ static int
|
||||
var_ann_eq (const void *va, const void *vb)
|
||||
{
|
||||
const struct static_var_ann_d *a = (const struct static_var_ann_d *) va;
|
||||
tree b = (tree) vb;
|
||||
const_tree const b = (const_tree) vb;
|
||||
return (a->uid == DECL_UID (b));
|
||||
}
|
||||
|
||||
|
@ -3843,8 +3843,8 @@ find_conditional_asserts (basic_block bb, tree last)
|
||||
static int
|
||||
compare_case_labels (const void *p1, const void *p2)
|
||||
{
|
||||
tree case1 = *(tree *)p1;
|
||||
tree case2 = *(tree *)p2;
|
||||
const_tree const case1 = *(const_tree const*)p1;
|
||||
const_tree const case2 = *(const_tree const*)p2;
|
||||
unsigned int uid1 = DECL_UID (CASE_LABEL (case1));
|
||||
unsigned int uid2 = DECL_UID (CASE_LABEL (case2));
|
||||
|
||||
|
39
gcc/tree.c
39
gcc/tree.c
@ -811,7 +811,7 @@ build_int_cst_wide_type (tree type,
|
||||
static hashval_t
|
||||
int_cst_hash_hash (const void *x)
|
||||
{
|
||||
tree t = (tree) x;
|
||||
const_tree const t = (const_tree) x;
|
||||
|
||||
return (TREE_INT_CST_HIGH (t) ^ TREE_INT_CST_LOW (t)
|
||||
^ htab_hash_pointer (TREE_TYPE (t)));
|
||||
@ -823,8 +823,8 @@ int_cst_hash_hash (const void *x)
|
||||
static int
|
||||
int_cst_hash_eq (const void *x, const void *y)
|
||||
{
|
||||
tree xt = (tree) x;
|
||||
tree yt = (tree) y;
|
||||
const_tree const xt = (const_tree) x;
|
||||
const_tree const yt = (const_tree) y;
|
||||
|
||||
return (TREE_TYPE (xt) == TREE_TYPE (yt)
|
||||
&& TREE_INT_CST_HIGH (xt) == TREE_INT_CST_HIGH (yt)
|
||||
@ -4263,7 +4263,7 @@ tree_map_base_hash (const void *item)
|
||||
int
|
||||
tree_map_base_marked_p (const void *p)
|
||||
{
|
||||
return ggc_marked_p (((struct tree_map_base *) p)->from);
|
||||
return ggc_marked_p (((const struct tree_map_base *) p)->from);
|
||||
}
|
||||
|
||||
unsigned int
|
||||
@ -4686,7 +4686,7 @@ type_hash_canon (unsigned int hashcode, tree type)
|
||||
static int
|
||||
type_hash_marked_p (const void *p)
|
||||
{
|
||||
tree type = ((struct type_hash *) p)->type;
|
||||
const_tree const type = ((const struct type_hash *) p)->type;
|
||||
|
||||
return ggc_marked_p (type) || TYPE_SYMTAB_POINTER (type);
|
||||
}
|
||||
@ -6707,11 +6707,11 @@ get_file_function_name (const char *type)
|
||||
are of the caller. */
|
||||
|
||||
void
|
||||
tree_check_failed (const tree node, const char *file,
|
||||
tree_check_failed (const_tree node, const char *file,
|
||||
int line, const char *function, ...)
|
||||
{
|
||||
va_list args;
|
||||
char *buffer;
|
||||
const char *buffer;
|
||||
unsigned length = 0;
|
||||
int code;
|
||||
|
||||
@ -6721,23 +6721,24 @@ tree_check_failed (const tree node, const char *file,
|
||||
va_end (args);
|
||||
if (length)
|
||||
{
|
||||
char *tmp;
|
||||
va_start (args, function);
|
||||
length += strlen ("expected ");
|
||||
buffer = alloca (length);
|
||||
buffer = tmp = alloca (length);
|
||||
length = 0;
|
||||
while ((code = va_arg (args, int)))
|
||||
{
|
||||
const char *prefix = length ? " or " : "expected ";
|
||||
|
||||
strcpy (buffer + length, prefix);
|
||||
strcpy (tmp + length, prefix);
|
||||
length += strlen (prefix);
|
||||
strcpy (buffer + length, tree_code_name[code]);
|
||||
strcpy (tmp + length, tree_code_name[code]);
|
||||
length += strlen (tree_code_name[code]);
|
||||
}
|
||||
va_end (args);
|
||||
}
|
||||
else
|
||||
buffer = (char *)"unexpected node";
|
||||
buffer = "unexpected node";
|
||||
|
||||
internal_error ("tree check: %s, have %s in %s, at %s:%d",
|
||||
buffer, tree_code_name[TREE_CODE (node)],
|
||||
@ -6749,7 +6750,7 @@ tree_check_failed (const tree node, const char *file,
|
||||
the caller. */
|
||||
|
||||
void
|
||||
tree_not_check_failed (const tree node, const char *file,
|
||||
tree_not_check_failed (const_tree node, const char *file,
|
||||
int line, const char *function, ...)
|
||||
{
|
||||
va_list args;
|
||||
@ -6785,7 +6786,7 @@ tree_not_check_failed (const tree node, const char *file,
|
||||
code, given in CL. */
|
||||
|
||||
void
|
||||
tree_class_check_failed (const tree node, const enum tree_code_class cl,
|
||||
tree_class_check_failed (const_tree node, const enum tree_code_class cl,
|
||||
const char *file, int line, const char *function)
|
||||
{
|
||||
internal_error
|
||||
@ -6799,7 +6800,7 @@ tree_class_check_failed (const tree node, const enum tree_code_class cl,
|
||||
dozen codes, use the knowledge that they're all sequential. */
|
||||
|
||||
void
|
||||
tree_range_check_failed (const tree node, const char *file, int line,
|
||||
tree_range_check_failed (const_tree node, const char *file, int line,
|
||||
const char *function, enum tree_code c1,
|
||||
enum tree_code c2)
|
||||
{
|
||||
@ -6834,7 +6835,7 @@ tree_range_check_failed (const tree node, const char *file, int line,
|
||||
not have the specified code, given in CL. */
|
||||
|
||||
void
|
||||
tree_not_class_check_failed (const tree node, const enum tree_code_class cl,
|
||||
tree_not_class_check_failed (const_tree node, const enum tree_code_class cl,
|
||||
const char *file, int line, const char *function)
|
||||
{
|
||||
internal_error
|
||||
@ -6848,7 +6849,7 @@ tree_not_class_check_failed (const tree node, const enum tree_code_class cl,
|
||||
/* Similar to tree_check_failed but applied to OMP_CLAUSE codes. */
|
||||
|
||||
void
|
||||
omp_clause_check_failed (const tree node, const char *file, int line,
|
||||
omp_clause_check_failed (const_tree node, const char *file, int line,
|
||||
const char *function, enum omp_clause_code code)
|
||||
{
|
||||
internal_error ("tree check: expected omp_clause %s, have %s in %s, at %s:%d",
|
||||
@ -6860,7 +6861,7 @@ omp_clause_check_failed (const tree node, const char *file, int line,
|
||||
/* Similar to tree_range_check_failed but applied to OMP_CLAUSE codes. */
|
||||
|
||||
void
|
||||
omp_clause_range_check_failed (const tree node, const char *file, int line,
|
||||
omp_clause_range_check_failed (const_tree node, const char *file, int line,
|
||||
const char *function, enum omp_clause_code c1,
|
||||
enum omp_clause_code c2)
|
||||
{
|
||||
@ -6905,7 +6906,7 @@ static const char *ts_enum_names[] = {
|
||||
whether CODE contains the tree structure identified by EN. */
|
||||
|
||||
void
|
||||
tree_contains_struct_check_failed (const tree node,
|
||||
tree_contains_struct_check_failed (const_tree node,
|
||||
const enum tree_node_structure_enum en,
|
||||
const char *file, int line,
|
||||
const char *function)
|
||||
@ -6945,7 +6946,7 @@ phi_node_elt_check_failed (int idx, int len, const char *file, int line,
|
||||
vector of an expression node EXP. */
|
||||
|
||||
void
|
||||
tree_operand_check_failed (int idx, tree exp, const char *file,
|
||||
tree_operand_check_failed (int idx, const_tree exp, const char *file,
|
||||
int line, const char *function)
|
||||
{
|
||||
int code = TREE_CODE (exp);
|
||||
|
20
gcc/tree.h
20
gcc/tree.h
@ -856,22 +856,22 @@ enum tree_node_structure_enum {
|
||||
gcc_unreachable (); \
|
||||
&__t->common.type; }))
|
||||
|
||||
extern void tree_contains_struct_check_failed (const tree,
|
||||
extern void tree_contains_struct_check_failed (const_tree,
|
||||
const enum tree_node_structure_enum,
|
||||
const char *, int, const char *)
|
||||
ATTRIBUTE_NORETURN;
|
||||
|
||||
extern void tree_check_failed (const tree, const char *, int, const char *,
|
||||
extern void tree_check_failed (const_tree, const char *, int, const char *,
|
||||
...) ATTRIBUTE_NORETURN;
|
||||
extern void tree_not_check_failed (const tree, const char *, int, const char *,
|
||||
extern void tree_not_check_failed (const_tree, const char *, int, const char *,
|
||||
...) ATTRIBUTE_NORETURN;
|
||||
extern void tree_class_check_failed (const tree, const enum tree_code_class,
|
||||
extern void tree_class_check_failed (const_tree, const enum tree_code_class,
|
||||
const char *, int, const char *)
|
||||
ATTRIBUTE_NORETURN;
|
||||
extern void tree_range_check_failed (const tree, const char *, int,
|
||||
extern void tree_range_check_failed (const_tree, const char *, int,
|
||||
const char *, enum tree_code,
|
||||
enum tree_code);
|
||||
extern void tree_not_class_check_failed (const tree,
|
||||
extern void tree_not_class_check_failed (const_tree,
|
||||
const enum tree_code_class,
|
||||
const char *, int, const char *)
|
||||
ATTRIBUTE_NORETURN;
|
||||
@ -881,16 +881,16 @@ extern void tree_vec_elt_check_failed (int, int, const char *,
|
||||
extern void phi_node_elt_check_failed (int, int, const char *,
|
||||
int, const char *)
|
||||
ATTRIBUTE_NORETURN;
|
||||
extern void tree_operand_check_failed (int, tree,
|
||||
extern void tree_operand_check_failed (int, const_tree,
|
||||
const char *, int, const char *)
|
||||
ATTRIBUTE_NORETURN;
|
||||
extern void omp_clause_check_failed (const tree, const char *, int,
|
||||
extern void omp_clause_check_failed (const_tree, const char *, int,
|
||||
const char *, enum omp_clause_code)
|
||||
ATTRIBUTE_NORETURN;
|
||||
extern void omp_clause_operand_check_failed (int, const_tree, const char *,
|
||||
int, const char *)
|
||||
ATTRIBUTE_NORETURN;
|
||||
extern void omp_clause_range_check_failed (const tree, const char *, int,
|
||||
extern void omp_clause_range_check_failed (const_tree, const char *, int,
|
||||
const char *, enum omp_clause_code,
|
||||
enum omp_clause_code)
|
||||
ATTRIBUTE_NORETURN;
|
||||
@ -4929,7 +4929,7 @@ void init_inline_once (void);
|
||||
tcc_vl_exp nodes like CALL_EXPRs, this is stored in the node itself,
|
||||
otherwise it is looked up from the node's code. */
|
||||
static inline int
|
||||
tree_operand_length (tree node)
|
||||
tree_operand_length (const_tree node)
|
||||
{
|
||||
if (VL_EXP_CLASS_P (node))
|
||||
return VL_EXP_OPERAND_LENGTH (node);
|
||||
|
@ -258,6 +258,7 @@ typedef struct variable_def
|
||||
/* The variable parts. */
|
||||
variable_part var_part[MAX_VAR_PARTS];
|
||||
} *variable;
|
||||
typedef const struct variable_def *const_variable;
|
||||
|
||||
/* Hash function for DECL for VARIABLE_HTAB. */
|
||||
#define VARIABLE_HASH_VAL(decl) (DECL_UID (decl))
|
||||
@ -601,7 +602,7 @@ adjust_stack_reference (rtx mem, HOST_WIDE_INT adjustment)
|
||||
static hashval_t
|
||||
variable_htab_hash (const void *x)
|
||||
{
|
||||
const variable v = (const variable) x;
|
||||
const_variable const v = (const_variable) x;
|
||||
|
||||
return (VARIABLE_HASH_VAL (v->decl));
|
||||
}
|
||||
@ -611,8 +612,8 @@ variable_htab_hash (const void *x)
|
||||
static int
|
||||
variable_htab_eq (const void *x, const void *y)
|
||||
{
|
||||
const variable v = (const variable) x;
|
||||
const tree decl = (const tree) y;
|
||||
const_variable const v = (const_variable) x;
|
||||
const_tree const decl = (const_tree) y;
|
||||
|
||||
return (VARIABLE_HASH_VAL (v->decl) == VARIABLE_HASH_VAL (decl));
|
||||
}
|
||||
|
@ -2734,7 +2734,7 @@ static void maybe_output_constant_def_contents (struct constant_descriptor_tree
|
||||
static hashval_t
|
||||
const_desc_hash (const void *ptr)
|
||||
{
|
||||
return ((struct constant_descriptor_tree *)ptr)->hash;
|
||||
return ((const struct constant_descriptor_tree *)ptr)->hash;
|
||||
}
|
||||
|
||||
static hashval_t
|
||||
|
Loading…
x
Reference in New Issue
Block a user