summaryrefslogtreecommitdiffstats
path: root/gcc/cp
diff options
context:
space:
mode:
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2004-08-15 15:45:33 +0000
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2004-08-15 15:45:33 +0000
commit7c446c951a941facd5f225bba9916ff669420c34 (patch)
tree40077b7dd50d472ee732b6ecf6d2b305f7b6da58 /gcc/cp
parent6c798041b74aad70fc5898aa48e26cbe0b5dc4a5 (diff)
downloadppe42-gcc-7c446c951a941facd5f225bba9916ff669420c34.tar.gz
ppe42-gcc-7c446c951a941facd5f225bba9916ff669420c34.zip
.:
* tree.h (build_int_cst): New. (build_int_2): Remove. * tree.c (build_int_2): Remove. (build_int_cst): New. (make_vector_type, build_common_tree_nodes, build_common_tree_nodes_2): Use build_int_cst. * builtins.c (expand_builtin_prefetch, expand_builtin_strstr, expand_builtin_strpbrk, expand_builtin_fputs, build_string_literal, expand_builtin_printf, expand_builtin_sprintf, fold_builtin_lround, fold_builtin_bitop, fold_builtin_bitop, fold_builtin_isascii, fold_builtin_toascii, fold_builtin_isdigit, simplify_builtin_strstr, simplify_builtin_strpbrk, fold_builtin_fputs, simplify_builtin_sprintf): Use build_int_cst. * c-common.c (start_fname_decls, fix_string_type, c_common_nodes_and_builtins, c_init_attributes, shorten_compare): Likewise. * c-decl.c (complete_array_type, check_bitfield_type_and_width): Likewise. * c-lex.c (interpret_integer, lex_charconst): Likewise. * c-parse.in (primary): <TYPES_COMPATIBLE_P> Likewise. * c-pretty-print.c (pp_c_integer_constant): Likewise. * c-typeck.c (really_start_incremental_init, push_init_level, set_nonincremental_init_from_string): Likewise. * calls.c (load_register_parameters): Likewise. * convert.c (convert_to_pointer): Likewise. * coverage.c (coverage_counter_alloc, tree_coverage_counter_ref, build_fn_info_type, build_ctr_info_value, build_gcov_info): Likewise. * except.c (init_eh, assign_filter_values, assign_filter_values): Likewise. * expmed.c (store_fixed_bit_field, extract_bit_field, extract_fixed_bit_field, extract_split_bit_field, expand_shift, expand_mult_const, expand_mult_highpart_adjust, extract_high_half, expand_sdiv_pow2, expand_divmod, make_tree): Likewise. * expr.c (convert_move, emit_group_load, emit_group_store, expand_assignment, store_constructor, store_field, expand_expr_real_1, reduce_to_bit_field_precision): Likewise. * fold-const.c (force_fit_type, int_const_binop, fold_convert_const, invert_truthvalue, optimize_bit_field_compare, decode_field_reference, all_ones_mask_p, constant_boolean_node, fold_div_compare, fold, fold_read_from_constant_string, fold_negate_const, fold_abs_const, fold_not_const): Likewise. * function.c (assign_parm_setup_block): Likewise. * stmt.c (shift_return_value, expand_end_case_type, estimate_case_costs): Likewise. * stor-layout.c (layout_type, initialize_sizetypes, set_min_and_max_values_for_integral_type): Likewise. * tree-chrec.c (chrec_fold_multiply_poly_poly, reset_evolution_in_loop): Likewise. * tree-chrec.h (build_polynomial_chrec): Likewise. * tree-complex.c (build_replicated_const): Likewise. * tree-eh.c (honor_protect_cleanup_actions, lower_try_finally_onedest, lower_try_finally_copy, lower_try_finally_switch): Likewise. * tree-mudflap.c (mf_build_string, mx_register_decls, mudflap_register_call, mudflap_enqueue_constant): Likewise. * tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise. * tree-pretty-print.c (dump_generic_node): Likewise. * tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref): Likewise. * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise. * tree-ssa-loop-niter.c (number_of_iterations_cond, loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type): Likewise. * config/alpha/alpha.c (alpha_initialize_trampoline, alpha_va_start, alpha_gimplify_va_arg_1): Use build_int_cst. * config/arm/arm.c (arm_get_cookie_size): Likewise. * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise. * config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise. * config/i860/i860.c (i860_va_start): Likewise. * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise. * config/mips/mips.c (mips_build_builtin_va_list, mips_va_start, mips_gimplify_va_arg_expr): Likewise. * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise. * config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg, add_compiler_branch_island): Likewise. * config/s390/s390.c (s390_va_start): Likewise. * config/sh/sh.c (sh_va_start): Likewise. * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start): Likewise. * config/xtensa/xtensa.c (xtensa_va_start, xtensa_gimplify_va_arg_expr): Likewise. * objc/objc-act.c (build_objc_string_object, build_objc_symtab_template, init_def_list, init_objc_symtab, init_module_descriptor, generate_static_references, build_selector_translation_table, get_proto_encoding, build_typed_selector_reference, build_selector_reference, build_next_objc_exception_stuff, build_method_prototype_list_template, generate_descriptor_table, generate_protocols, build_protocol_initializer, build_ivar_list_template, build_method_list_template, build_ivar_list_initializer, generate_ivars_list, generate_dispatch_table, generate_protocol_list, build_category_initializer, build_shared_structure_initializer, generate_shared_structures, handle_impent, generate_objc_image_info): Use build_int_cst. ada: * cuintp.c (UI_To_gnu): Use build_int_cst.. * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise. * utils.c (init_gigi_decls): Likewise. * utils2.c (build_call_raise): Likewise. cp: * call.c (convert_class_to_reference, build_user_type_conversion_1, convert_like_real, build_java_interface_fn_ref, build_special_member_call): Use build_int_cst. * class.c (build_vtbl_initializer): Likewise. * cp-gimplify.c (cp_gimplify_expr): Likewise. * cvt.c (cp_convert_to_pointer): Likewise. * decl.c (cxx_init_decl_processing, complete_array_type): Likewise. * decl2.c (start_static_initialization_or_destruction, generate_ctor_or_dtor_function): Likewise. * except.c (build_throw): Likewise. * lex.c (cxx_init): Likewise. * mangle.c (write_integer_cst): Likewise. * rtti.c (build_headof, get_tinfo_decl_dynamic, build_dynamic_cast_1, ptr_initializer, ptm_initializer, get_pseudo_ti_init): Likewise. * search.c (get_dynamic_cast_base_type): Likewise. * tree.c (build_shared_int_cst): Likewise. fortran: * trans-array.c (gfc_trans_array_constructor_value): Use build_int_cst. * trans-const.c (gfc_build_string_const, gfc_init_constants, gfc_conv_mpz_to_tree, gfc_conv_constant_to_tree): Likewise. * trans-decl.c (gfc_get_symbol_decl): Likewise. * trans-intrinsic.c (gfc_conv_intrinsic_ibits, gfc_conv_intrinsic_len, prepare_arg_info): Likewise. * trans-io.c (add_case, set_error_locus, build_dt, transfer_expr): Likewise. * trans-stmt.c (gfc_trans_label_assign, gfc_trans_pause, gfc_trans_stop, gfc_trans_character_select): Likewise. * trans-types.c (gfc_init_types, gfc_get_dtype): Likewise. * trans.c (gfc_trans_runtime_check): Likewise. java: * boehm.c (get_boehm_type_descriptor): Use build_int_cst. * class.c (build_utf8_ref, build_static_field_ref, make_field_value, make_method_value, get_dispatch_table, make_class_data, emit_symbol_table, emit_catch_table): Likewise. * constants.c (get_tag_node, build_ref_from_constant_pool, build_constants_constructor): Likewise. * decl.c (java_init_decl_processing): Likewise. * expr.c (build_java_array_length_access, build_newarray, expand_java_multianewarray, expand_java_pushc, expand_iinc, build_java_binop, build_field_ref, expand_java_add_case, expand_java_call, build_known_method_ref, build_invokevirtual, build_invokeinterface, build_jni_stub): Likewise. * java-gimplify.c (java_gimplify_new_array_init): Likewise. * jcf-parse.c (get_constant): Likewise. * lex.c (do_java_lex): Likewise. * parse.y (patch_binop, patch_unaryop, patch_cast, build_null_of_type, patch_newarray): Likewise. * resource.c (compile_resource_data): Likewise. * typeck.c (build_prim_array_type): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86022 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog21
-rw-r--r--gcc/cp/call.c15
-rw-r--r--gcc/cp/class.c2
-rw-r--r--gcc/cp/cp-gimplify.c8
-rw-r--r--gcc/cp/cvt.c16
-rw-r--r--gcc/cp/decl.c15
-rw-r--r--gcc/cp/decl2.c8
-rw-r--r--gcc/cp/except.c7
-rw-r--r--gcc/cp/lex.c3
-rw-r--r--gcc/cp/mangle.c6
-rw-r--r--gcc/cp/rtti.c24
-rw-r--r--gcc/cp/search.c3
-rw-r--r--gcc/cp/tree.c4
13 files changed, 73 insertions, 59 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 4e3f8d70043..b5b773983a1 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,24 @@
+2004-08-15 Nathan Sidwell <nathan@codesourcery.com>
+
+ * call.c (convert_class_to_reference,
+ build_user_type_conversion_1, convert_like_real,
+ build_java_interface_fn_ref, build_special_member_call): Use
+ build_int_cst.
+ * class.c (build_vtbl_initializer): Likewise.
+ * cp-gimplify.c (cp_gimplify_expr): Likewise.
+ * cvt.c (cp_convert_to_pointer): Likewise.
+ * decl.c (cxx_init_decl_processing, complete_array_type): Likewise.
+ * decl2.c (start_static_initialization_or_destruction,
+ generate_ctor_or_dtor_function): Likewise.
+ * except.c (build_throw): Likewise.
+ * lex.c (cxx_init): Likewise.
+ * mangle.c (write_integer_cst): Likewise.
+ * rtti.c (build_headof, get_tinfo_decl_dynamic,
+ build_dynamic_cast_1, ptr_initializer, ptm_initializer,
+ get_pseudo_ti_init): Likewise.
+ * search.c (get_dynamic_cast_base_type): Likewise.
+ * tree.c (build_shared_int_cst): Likewise.
+
2004-08-12 Mark Mitchell <mark@codesourcery.com>
PR c++/16273
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index 23d65addbdd..ca6b0d886ce 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -919,8 +919,7 @@ convert_class_to_reference (tree t, tree s, tree expr)
error messages, which we should not issue now because we are just
trying to find a conversion operator. Therefore, we use NULL,
cast to the appropriate type. */
- arglist = build_int_2 (0, 0);
- TREE_TYPE (arglist) = build_pointer_type (s);
+ arglist = build_int_cst (build_pointer_type (s), 0, 0);
arglist = build_tree_list (NULL_TREE, arglist);
reference_type = build_reference_type (t);
@@ -2520,8 +2519,7 @@ build_user_type_conversion_1 (tree totype, tree expr, int flags)
ctors = BASELINK_FUNCTIONS (ctors);
- t = build_int_2 (0, 0);
- TREE_TYPE (t) = build_pointer_type (totype);
+ t = build_int_cst (build_pointer_type (totype), 0, 0);
args = build_tree_list (NULL_TREE, expr);
/* We should never try to call the abstract or base constructor
from here. */
@@ -4182,8 +4180,8 @@ convert_like_real (conversion *convs, tree expr, tree fn, int argnum,
if (DECL_CONSTRUCTOR_P (convfn))
{
- tree t = build_int_2 (0, 0);
- TREE_TYPE (t) = build_pointer_type (DECL_CONTEXT (convfn));
+ tree t = build_int_cst (build_pointer_type (DECL_CONTEXT (convfn)),
+ 0, 0);
args = build_tree_list (NULL_TREE, expr);
if (DECL_HAS_IN_CHARGE_PARM_P (convfn)
@@ -4961,7 +4959,7 @@ build_java_interface_fn_ref (tree fn, tree instance)
break;
i++;
}
- idx = build_int_2 (i, 0);
+ idx = build_int_cst (NULL_TREE, i, 0);
lookup_args = tree_cons (NULL_TREE, klass_ref,
tree_cons (NULL_TREE, iface_ref,
@@ -5037,8 +5035,7 @@ build_special_member_call (tree instance, tree name, tree args,
/* Handle the special case where INSTANCE is NULL_TREE. */
if (name == complete_ctor_identifier && !instance)
{
- instance = build_int_2 (0, 0);
- TREE_TYPE (instance) = build_pointer_type (class_type);
+ instance = build_int_cst (build_pointer_type (class_type), 0, 0);
instance = build1 (INDIRECT_REF, class_type, instance);
}
else
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index 4b7765bf883..418659e19f6 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -7404,7 +7404,7 @@ build_vtbl_initializer (tree binfo,
{
tree fdesc = build (FDESC_EXPR, vfunc_ptr_type_node,
TREE_OPERAND (init, 0),
- build_int_2 (i, 0));
+ build_int_cst (NULL_TREE, i, 0));
TREE_CONSTANT (fdesc) = 1;
TREE_INVARIANT (fdesc) = 1;
diff --git a/gcc/cp/cp-gimplify.c b/gcc/cp/cp-gimplify.c
index 5b96e39dbef..5568a952b5b 100644
--- a/gcc/cp/cp-gimplify.c
+++ b/gcc/cp/cp-gimplify.c
@@ -210,12 +210,8 @@ cp_gimplify_expr (tree *expr_p, tree *pre_p, tree *post_p)
break;
case EMPTY_CLASS_EXPR:
- {
- /* Yes, an INTEGER_CST with RECORD_TYPE. */
- tree i = build_int_2 (0, 0);
- TREE_TYPE (i) = TREE_TYPE (*expr_p);
- *expr_p = i;
- }
+ /* We create an INTEGER_CST with RECORD_TYPE and value zero. */
+ *expr_p = build_int_cst (TREE_TYPE (*expr_p), 0, 0);
ret = GS_OK;
break;
diff --git a/gcc/cp/cvt.c b/gcc/cp/cvt.c
index 56057af26dd..70aba6ead78 100644
--- a/gcc/cp/cvt.c
+++ b/gcc/cp/cvt.c
@@ -261,15 +261,15 @@ cp_convert_to_pointer (tree type, tree expr, bool force)
return build_ptrmemfunc (TYPE_PTRMEMFUNC_FN_TYPE (type), expr, 0);
if (TYPE_PTRMEM_P (type))
- /* A NULL pointer-to-member is represented by -1, not by
- zero. */
- expr = build_int_2 (-1, -1);
+ {
+ /* A NULL pointer-to-member is represented by -1, not by
+ zero. */
+ expr = build_int_cst (type, -1, -1);
+ /* Fix up the representation of -1 if appropriate. */
+ expr = force_fit_type (expr, 0, false, false);
+ }
else
- expr = build_int_2 (0, 0);
- TREE_TYPE (expr) = type;
-
- /* Fix up the representation of -1 if appropriate. */
- expr = force_fit_type (expr, 0, false, false);
+ expr = build_int_cst (type, 0, 0);
return expr;
}
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 1d5b78c12a0..2be55d6ee97 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -2963,10 +2963,8 @@ cxx_init_decl_processing (void)
java_char_type_node = record_builtin_java_type ("__java_char", -16);
java_boolean_type_node = record_builtin_java_type ("__java_boolean", -1);
- integer_two_node = build_int_2 (2, 0);
- TREE_TYPE (integer_two_node) = integer_type_node;
- integer_three_node = build_int_2 (3, 0);
- TREE_TYPE (integer_three_node) = integer_type_node;
+ integer_two_node = build_int_cst (NULL_TREE, 2, 0);
+ integer_three_node = build_int_cst (NULL_TREE, 3, 0);
record_builtin_type (RID_BOOL, "bool", boolean_type_node);
truthvalue_type_node = boolean_type_node;
@@ -5254,8 +5252,9 @@ complete_array_type (tree type, tree initial_value, int do_default)
{
int eltsize
= int_size_in_bytes (TREE_TYPE (TREE_TYPE (initial_value)));
- maxindex = build_int_2 ((TREE_STRING_LENGTH (initial_value)
- / eltsize) - 1, 0);
+ maxindex = build_int_cst (NULL_TREE,
+ (TREE_STRING_LENGTH (initial_value)
+ / eltsize) - 1, 0);
}
else if (TREE_CODE (initial_value) == CONSTRUCTOR)
{
@@ -5279,14 +5278,14 @@ complete_array_type (tree type, tree initial_value, int do_default)
initial_value = NULL_TREE;
/* Prevent further error messages. */
- maxindex = build_int_2 (0, 0);
+ maxindex = build_int_cst (NULL_TREE, 0, 0);
}
}
if (!maxindex)
{
if (do_default)
- maxindex = build_int_2 (0, 0);
+ maxindex = build_int_cst (NULL_TREE, 0, 0);
value = 2;
}
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index ae4ccc871e9..ab83b982210 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -2351,7 +2351,7 @@ start_static_initialization_or_destruction (tree decl, int initp)
guard_if_stmt = begin_if_stmt ();
cond = cp_build_binary_op (EQ_EXPR,
priority_decl,
- build_int_2 (priority, 0));
+ build_int_cst (NULL_TREE, priority, 0));
init_cond = initp ? integer_one_node : integer_zero_node;
init_cond = cp_build_binary_op (EQ_EXPR,
initialize_p_decl,
@@ -2601,9 +2601,11 @@ generate_ctor_or_dtor_function (bool constructor_p, int priority,
if (! body)
body = start_objects (function_key, priority);
- arguments = tree_cons (NULL_TREE, build_int_2 (priority, 0),
+ arguments = tree_cons (NULL_TREE,
+ build_int_cst (NULL_TREE, priority, 0),
NULL_TREE);
- arguments = tree_cons (NULL_TREE, build_int_2 (constructor_p, 0),
+ arguments = tree_cons (NULL_TREE,
+ build_int_cst (NULL_TREE, constructor_p, 0),
arguments);
finish_expr_stmt (build_function_call (fndecl, arguments));
}
diff --git a/gcc/cp/except.c b/gcc/cp/except.c
index b78cecd5d86..fd8b054edd5 100644
--- a/gcc/cp/except.c
+++ b/gcc/cp/except.c
@@ -721,11 +721,8 @@ build_throw (tree exp)
cleanup = build1 (ADDR_EXPR, cleanup_type, cleanup);
}
else
- {
- cleanup = build_int_2 (0, 0);
- TREE_TYPE (cleanup) = cleanup_type;
- }
-
+ cleanup = build_int_cst (cleanup_type, 0, 0);
+
tmp = tree_cons (NULL_TREE, cleanup, NULL_TREE);
tmp = tree_cons (NULL_TREE, throw_type, tmp);
tmp = tree_cons (NULL_TREE, ptr, tmp);
diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c
index 00adb7239c5..c44e7c0863b 100644
--- a/gcc/cp/lex.c
+++ b/gcc/cp/lex.c
@@ -355,8 +355,7 @@ cxx_init (void)
cxx_init_decl_processing ();
/* Create the built-in __null node. */
- null_node = build_int_2 (0, 0);
- TREE_TYPE (null_node) = c_common_type_for_size (POINTER_SIZE, 0);
+ null_node = build_int_cst (c_common_type_for_size (POINTER_SIZE, 0), 0, 0);
ridpointers[RID_NULL] = null_node;
interface_unknown = 1;
diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c
index 211c218321d..4235e35d5ff 100644
--- a/gcc/cp/mangle.c
+++ b/gcc/cp/mangle.c
@@ -1183,9 +1183,9 @@ write_integer_cst (const tree cst)
}
type = c_common_signed_or_unsigned_type (1, TREE_TYPE (cst));
- base = build_int_2 (chunk, 0);
- n = build_int_2 (TREE_INT_CST_LOW (cst), TREE_INT_CST_HIGH (cst));
- TREE_TYPE (n) = TREE_TYPE (base) = type;
+ base = build_int_cst (type, chunk, 0);
+ n = build_int_cst (type,
+ TREE_INT_CST_LOW (cst), TREE_INT_CST_HIGH (cst));
if (sign < 0)
{
diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c
index a59af79460b..38ac41878f1 100644
--- a/gcc/cp/rtti.c
+++ b/gcc/cp/rtti.c
@@ -150,7 +150,8 @@ build_headof (tree exp)
exp = save_expr (exp);
/* The offset-to-top field is at index -2 from the vptr. */
- index = build_int_2 (-2 * TARGET_VTABLE_DATA_ENTRY_DISTANCE, -1);
+ index = build_int_cst (NULL_TREE,
+ -2 * TARGET_VTABLE_DATA_ENTRY_DISTANCE, -1);
offset = build_vtbl_ref (build_indirect_ref (exp, NULL), index);
@@ -225,7 +226,8 @@ get_tinfo_decl_dynamic (tree exp)
tree index;
/* The RTTI information is at index -1. */
- index = build_int_2 (-1 * TARGET_VTABLE_DATA_ENTRY_DISTANCE, -1);
+ index = build_int_cst (NULL_TREE,
+ -1 * TARGET_VTABLE_DATA_ENTRY_DISTANCE, -1);
t = build_vtbl_ref (exp, index);
t = convert (type_info_ptr_type, t);
}
@@ -588,8 +590,7 @@ build_dynamic_cast_1 (tree type, tree expr)
{
warning ("dynamic_cast of `%#D' to `%#T' can never succeed",
op, type);
- retval = build_int_2 (0, 0);
- TREE_TYPE (retval) = type;
+ retval = build_int_cst (type, 0, 0);
return retval;
}
}
@@ -878,7 +879,7 @@ ptr_initializer (tree desc, tree target)
if (incomplete)
flags |= 8;
- init = tree_cons (NULL_TREE, build_int_2 (flags, 0), init);
+ init = tree_cons (NULL_TREE, build_int_cst (NULL_TREE, flags, 0), init);
init = tree_cons (NULL_TREE,
get_tinfo_ptr (TYPE_MAIN_VARIANT (to)),
init);
@@ -908,7 +909,7 @@ ptm_initializer (tree desc, tree target)
flags |= 0x8;
if (!COMPLETE_TYPE_P (klass))
flags |= 0x10;
- init = tree_cons (NULL_TREE, build_int_2 (flags, 0), init);
+ init = tree_cons (NULL_TREE, build_int_cst (NULL_TREE, flags, 0), init);
init = tree_cons (NULL_TREE,
get_tinfo_ptr (TYPE_MAIN_VARIANT (to)),
init);
@@ -1089,9 +1090,10 @@ get_pseudo_ti_init (tree type, tree var_desc)
/* Combine offset and flags into one field. */
offset = cp_build_binary_op (LSHIFT_EXPR, offset,
- build_int_2 (8, 0));
+ build_int_cst (NULL_TREE, 8, 0));
offset = cp_build_binary_op (BIT_IOR_EXPR, offset,
- build_int_2 (flags, 0));
+ build_int_cst (NULL_TREE,
+ flags, 0));
base_init = tree_cons (NULL_TREE, offset, base_init);
base_init = tree_cons (NULL_TREE, tinfo, base_init);
base_init = build_constructor (NULL_TREE, base_init);
@@ -1101,10 +1103,12 @@ get_pseudo_ti_init (tree type, tree var_desc)
base_inits = tree_cons (NULL_TREE, base_inits, NULL_TREE);
/* Prepend the number of bases. */
base_inits = tree_cons (NULL_TREE,
- build_int_2 (nbases, 0), base_inits);
+ build_int_cst (NULL_TREE, nbases, 0),
+ base_inits);
/* Prepend the hint flags. */
base_inits = tree_cons (NULL_TREE,
- build_int_2 (hint, 0), base_inits);
+ build_int_cst (NULL_TREE, hint, 0),
+ base_inits);
return class_initializer (var_desc, type, base_inits);
}
diff --git a/gcc/cp/search.c b/gcc/cp/search.c
index a1270acdbfa..459c1742705 100644
--- a/gcc/cp/search.c
+++ b/gcc/cp/search.c
@@ -346,8 +346,7 @@ get_dynamic_cast_base_type (tree subtype, tree target)
if (!boff)
return offset;
- offset = build_int_2 (boff, -1);
- TREE_TYPE (offset) = ssizetype;
+ offset = build_int_cst (ssizetype, boff, -1);
return offset;
}
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
index 6a626e9470d..39f655779fd 100644
--- a/gcc/cp/tree.c
+++ b/gcc/cp/tree.c
@@ -1377,10 +1377,10 @@ tree
build_shared_int_cst (int i)
{
if (i >= 256)
- return build_int_2 (i, 0);
+ return build_int_cst (NULL_TREE, i, 0);
if (!shared_int_cache[i])
- shared_int_cache[i] = build_int_2 (i, 0);
+ shared_int_cache[i] = build_int_cst (NULL_TREE, i, 0);
return shared_int_cache[i];
}
OpenPOWER on IntegriCloud