diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2004-08-25 09:52:54 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2004-08-25 09:52:54 +0000 |
commit | 7d60be94d610cd5f18bc2ae64e4e97f210c8538b (patch) | |
tree | b5d8f16132872f7a863ddce55007c0a82239369a /gcc/java | |
parent | 5b292a4b0568b7b360fb092893496211f3a51126 (diff) | |
download | gcc-7d60be94d610cd5f18bc2ae64e4e97f210c8538b.zip gcc-7d60be94d610cd5f18bc2ae64e4e97f210c8538b.tar.gz gcc-7d60be94d610cd5f18bc2ae64e4e97f210c8538b.tar.bz2 |
tree.h (build_int_cst): New, sign extended constant.
* tree.h (build_int_cst): New, sign extended constant.
(build_int_cstu): New, zero extended constant.
(build_int_cst_wide): Renamed from build_int_cst.
* tree.c (build_int_cst, build_int_cstu): New.
(build_int_cst_wide): Renamed from build_int_cst.
(make_vector_type, build_common_tree_nodes,
build_common_tree_nodes_2): Adjust build_int_cst calls.
* 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_classify_type,
fold_builtin_lround, fold_builtin_bitop, fold_builtin_isascii,
fold_builtin_toascii, fold_builtin_isdigit,
simplify_builtin_strstr, simplify_builtin_strpbrk,
fold_builtin_fputs, simplify_builtin_sprintf): Likewise.
* c-common.c (start_fname_decls, fix_string_type, shorten_compare,
DEF_ATTR_INT): 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_fn_info_value, build_ctr_info_value,
build_gcov_info): Likewise.
* except.c (init_eh, 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, round_up,
round_down): Likewise.
* function.c (assign_parm_setup_block): Likewise.
* stmt.c (shift_return_value, expand_case, 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.
* tree-ssa-loop-ivcanon.c (create_canonical_iv,
canonicalize_loop_induction_variables): Likewise.
* tree-vectorizer.c (vect_create_index_for_array_ref,
vect_transform_loop_bound, vect_compute_data_ref_alignment):
Likewise.
* config/alpha/alpha.c (alpha_initialize_trampoline, alpha_va_start,
alpha_gimplify_va_arg_1): Likewise.
* 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/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): Likewise.
2004-04-25 Paolo Bonzini <bonzini@gnu.org>
* cfglayout.c (duplicate_insn_chain): Remove references to
NOTE_INSN_LOOP_VTOP and NOTE_INSN_LOOP_CONT.
* cfgloop.h (struct loop): Remove fields vtop, cont and cont_dominator.
* cfgrtl.c (rtl_delete_block): Remove handling of NOTE_INSN_LOOP_CONT.
* final.c (final_scan_insn): Remove references to NOTE_INSN_LOOP_VTOP
and NOTE_INSN_LOOP_CONT.
* insn-notes.def (NOTE_INSN_LOOP_VTOP, NOTE_INSN_LOOP_CONT): Remove.
* jump.c (squeeze_notes): Remove references to NOTE_INSN_LOOP_VTOP
and NOTE_INSN_LOOP_CONT.
* loop.c (scan_loops, find_and_verify_loops, for_each_insn_in_loop,
check_dbra_loop, loop_dump_aux): Remove references to removed notes
and fields.
* reorg.c (mostly_true_jump): Do not rely on NOTE_INSN_LOOP_VTOPs.
* unroll.c (unroll_loop, copy_loop_body, loop_iterations): Remove
references to removed notes and fields.
(subtract_reg_term, ujump_to_loop_cont): Remove.
From-SVN: r86544
Diffstat (limited to 'gcc/java')
-rw-r--r-- | gcc/java/ChangeLog | 24 | ||||
-rw-r--r-- | gcc/java/boehm.c | 6 | ||||
-rw-r--r-- | gcc/java/class.c | 37 | ||||
-rw-r--r-- | gcc/java/constants.c | 8 | ||||
-rw-r--r-- | gcc/java/decl.c | 27 | ||||
-rw-r--r-- | gcc/java/expr.c | 32 | ||||
-rw-r--r-- | gcc/java/java-gimplify.c | 4 | ||||
-rw-r--r-- | gcc/java/jcf-parse.c | 4 | ||||
-rw-r--r-- | gcc/java/lex.c | 12 | ||||
-rw-r--r-- | gcc/java/parse.y | 16 | ||||
-rw-r--r-- | gcc/java/resource.c | 4 | ||||
-rw-r--r-- | gcc/java/typeck.c | 3 |
12 files changed, 97 insertions, 80 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index dd6274c..9dd0fa5 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,6 +1,28 @@ +2004-08-25 Nathan Sidwell <nathan@codesourcery.com> + + * boehm.c (get_boehm_type_descriptor): Adjust build_int_cst calls. + * 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_newarray_node, patch_newarray): Likewise. + * resource.c (compile_resource_data): Likewise. + * typeck.c (build_prim_array_type): Likewise. + 2004-08-24 Nathan Sidwell <nathan@codesourcery.com> - * java/decl.c (java_init_decl_processing): Adjust + * decl.c (java_init_decl_processing): Adjust initialize_sizetypes call. 2004-08-23 Nathan Sidwell <nathan@codesourcery.com> diff --git a/gcc/java/boehm.c b/gcc/java/boehm.c index ae2fbfa..8b54590 100644 --- a/gcc/java/boehm.c +++ b/gcc/java/boehm.c @@ -206,13 +206,13 @@ get_boehm_type_descriptor (tree type) last_set_index >>= 1; ++count; } - value = build_int_cst (value_type, low, high); + value = build_int_cst_wide (value_type, low, high); } else if (! pointer_after_end) { /* Bottom two bits for bitmap mark type are 01. */ set_bit (&low, &high, 0); - value = build_int_cst (value_type, low, high); + value = build_int_cst_wide (value_type, low, high); } else { @@ -223,7 +223,7 @@ get_boehm_type_descriptor (tree type) | DS_PROC) Here DS_PROC == 2. */ procedure_object_descriptor: - value = build_int_cst (value_type, 2, 0); + value = build_int_cst (value_type, 2); } return value; diff --git a/gcc/java/class.c b/gcc/java/class.c index 4781a61..d88fbb1 100644 --- a/gcc/java/class.c +++ b/gcc/java/class.c @@ -880,8 +880,8 @@ build_utf8_ref (tree name) FINISH_RECORD (ctype); START_RECORD_CONSTRUCTOR (cinit, ctype); name_hash = hashUtf8String (name_ptr, name_len) & 0xFFFF; - PUSH_FIELD_VALUE (cinit, "hash", build_int_cst (NULL_TREE, name_hash, 0)); - PUSH_FIELD_VALUE (cinit, "length", build_int_cst (NULL_TREE, name_len, 0)); + PUSH_FIELD_VALUE (cinit, "hash", build_int_cst (NULL_TREE, name_hash)); + PUSH_FIELD_VALUE (cinit, "length", build_int_cst (NULL_TREE, name_len)); string = build_string (name_len, name_ptr); TREE_TYPE (string) = str_type; PUSH_FIELD_VALUE (cinit, "data", string); @@ -1082,7 +1082,7 @@ build_static_field_ref (tree fdecl) { tree table_index = build_int_cst (NULL_TREE, get_symbol_table_index - (fdecl, &TYPE_ATABLE_METHODS (output_class)), 0); + (fdecl, &TYPE_ATABLE_METHODS (output_class))); tree field_address = build4 (ARRAY_REF, build_pointer_type (TREE_TYPE (fdecl)), TYPE_ATABLE_DECL (output_class), table_index, @@ -1114,7 +1114,7 @@ build_static_field_ref (tree fdecl) } field_index *= int_size_in_bytes (field_type_node); ref = fold (build2 (PLUS_EXPR, field_ptr_type_node, - ref, build_int_cst (NULL_TREE, field_index, 0))); + ref, build_int_cst (NULL_TREE, field_index))); ref = build1 (INDIRECT_REF, field_type_node, ref); ref = build3 (COMPONENT_REF, field_info_union_node, ref, lookup_field (&field_type_node, info_ident), @@ -1268,7 +1268,7 @@ make_field_value (tree fdecl) if (! resolved) flags |= 0x8000 /* FIELD_UNRESOLVED_FLAG */; - PUSH_FIELD_VALUE (finit, "accflags", build_int_cst (NULL_TREE, flags, 0)); + PUSH_FIELD_VALUE (finit, "accflags", build_int_cst (NULL_TREE, flags)); PUSH_FIELD_VALUE (finit, "bsize", TYPE_SIZE_UNIT (TREE_TYPE (fdecl))); PUSH_FIELD_VALUE @@ -1303,7 +1303,7 @@ make_method_value (tree mdecl) /* For interfaces, the index field contains the dispatch index. */ if (CLASS_INTERFACE (TYPE_NAME (class_decl))) index = build_int_cst (NULL_TREE, - get_interface_method_index (mdecl, class_decl), 0); + get_interface_method_index (mdecl, class_decl)); else if (!flag_indirect_dispatch && get_method_index (mdecl) != NULL_TREE) index = get_method_index (mdecl); else @@ -1326,7 +1326,7 @@ make_method_value (tree mdecl) (IDENTIFIER_POINTER(signature), IDENTIFIER_LENGTH(signature))))); } - PUSH_FIELD_VALUE (minit, "accflags", build_int_cst (NULL_TREE, accflags, 0)); + PUSH_FIELD_VALUE (minit, "accflags", build_int_cst (NULL_TREE, accflags)); PUSH_FIELD_VALUE (minit, "index", index); PUSH_FIELD_VALUE (minit, "ncode", code); @@ -1439,7 +1439,7 @@ get_dispatch_table (tree type, tree this_class_addr) for (j = 0; j < TARGET_VTABLE_USES_DESCRIPTORS; ++j) { tree fdesc = build2 (FDESC_EXPR, nativecode_ptr_type_node, - method, build_int_cst (NULL_TREE, j, 0)); + method, build_int_cst (NULL_TREE, j)); TREE_CONSTANT (fdesc) = 1; TREE_INVARIANT (fdesc) = 1; list = tree_cons (NULL_TREE, fdesc, list); @@ -1553,8 +1553,7 @@ make_class_data (tree type) /** Offset from start of virtual function table declaration to where objects actually point at, following new g++ ABI. */ tree dtable_start_offset = build_int_cst (NULL_TREE, - 2 * POINTER_SIZE / BITS_PER_UNIT, - 0); + 2 * POINTER_SIZE / BITS_PER_UNIT); this_class_addr = build_class_ref (type); decl = TREE_OPERAND (this_class_addr, 0); @@ -1668,7 +1667,7 @@ make_class_data (tree type) else { int super_index = alloc_class_constant (super); - super = build_int_cst (ptr_type_node, super_index, 0); + super = build_int_cst (ptr_type_node, super_index); } /* Build and emit the array of implemented interfaces. */ @@ -1697,7 +1696,7 @@ make_class_data (tree type) else { int int_index = alloc_class_constant (iclass); - index = build_int_cst (ptr_type_node, int_index, 0); + index = build_int_cst (ptr_type_node, int_index); } init = tree_cons (NULL_TREE, index, init); } @@ -1743,7 +1742,7 @@ make_class_data (tree type) PUSH_FIELD_VALUE (cons, "name", build_utf8_ref (DECL_NAME (type_decl))); PUSH_FIELD_VALUE (cons, "accflags", build_int_cst (NULL_TREE, - get_access_flags_from_decl (type_decl), 0)); + get_access_flags_from_decl (type_decl))); PUSH_FIELD_VALUE (cons, "superclass", CLASS_INTERFACE (type_decl) ? null_pointer_node : super); @@ -1751,7 +1750,7 @@ make_class_data (tree type) PUSH_FIELD_VALUE (cons, "methods", build1 (ADDR_EXPR, method_ptr_type_node, methods_decl)); PUSH_FIELD_VALUE (cons, "method_count", - build_int_cst (NULL_TREE, method_count, 0)); + build_int_cst (NULL_TREE, method_count)); if (flag_indirect_dispatch) PUSH_FIELD_VALUE (cons, "vtable_method_count", integer_minus_one_node); @@ -1763,9 +1762,9 @@ make_class_data (tree type) : build1 (ADDR_EXPR, field_ptr_type_node, fields_decl)); PUSH_FIELD_VALUE (cons, "size_in_bytes", size_in_bytes (type)); PUSH_FIELD_VALUE (cons, "field_count", - build_int_cst (NULL_TREE, field_count, 0)); + build_int_cst (NULL_TREE, field_count)); PUSH_FIELD_VALUE (cons, "static_field_count", - build_int_cst (NULL_TREE, static_field_count, 0)); + build_int_cst (NULL_TREE, static_field_count)); if (flag_indirect_dispatch) PUSH_FIELD_VALUE (cons, "vtable", null_pointer_node); @@ -1812,7 +1811,7 @@ make_class_data (tree type) PUSH_FIELD_VALUE (cons, "interfaces", interfaces); PUSH_FIELD_VALUE (cons, "loader", null_pointer_node); PUSH_FIELD_VALUE (cons, "interface_count", - build_int_cst (NULL_TREE, interface_len, 0)); + build_int_cst (NULL_TREE, interface_len)); PUSH_FIELD_VALUE (cons, "state", integer_zero_node); PUSH_FIELD_VALUE (cons, "thread", null_pointer_node); @@ -2446,7 +2445,7 @@ emit_symbol_table (tree name, tree the_table, tree decl_list, uninitialized static array of INDEX + 1 elements. The extra entry is used by the runtime to track whether the table has been initialized. */ - table_size = build_index_type (build_int_cst (NULL_TREE, index, 0)); + table_size = build_index_type (build_int_cst (NULL_TREE, index)); the_array_type = build_array_type (the_array_element_type, table_size); the_table = build_decl (VAR_DECL, name, the_array_type); TREE_STATIC (the_table) = 1; @@ -2487,7 +2486,7 @@ emit_catch_table (tree this_class) TYPE_CATCH_CLASSES (this_class)); table_size = build_index_type (build_int_cst (NULL_TREE, - list_length (TYPE_CATCH_CLASSES (this_class)), 0)); + list_length (TYPE_CATCH_CLASSES (this_class)))); array_type = build_array_type (TREE_TYPE (TREE_TYPE (TYPE_CTABLE_DECL (this_class))), table_size); diff --git a/gcc/java/constants.c b/gcc/java/constants.c index d6a3513..a5d9622 100644 --- a/gcc/java/constants.c +++ b/gcc/java/constants.c @@ -324,7 +324,7 @@ get_tag_node (int tag) /* A Cache for build_int_cst (CONSTANT_XXX, 0). */ if (tag_nodes[tag] == NULL_TREE) - tag_nodes[tag] = build_int_cst (NULL_TREE, tag, 0); + tag_nodes[tag] = build_int_cst (NULL_TREE, tag); return tag_nodes[tag]; } @@ -424,7 +424,7 @@ tree build_ref_from_constant_pool (int index) { tree d = build_constant_data_ref (); - tree i = build_int_cst (NULL_TREE, index, 0); + tree i = build_int_cst (NULL_TREE, index); return build4 (ARRAY_REF, TREE_TYPE (TREE_TYPE (d)), d, i, NULL_TREE, NULL_TREE); } @@ -453,7 +453,7 @@ build_constants_constructor (void) if (outgoing_cpool->count > 0) { tree data_decl, tags_decl, tags_type; - tree max_index = build_int_cst (sizetype, outgoing_cpool->count - 1, 0); + tree max_index = build_int_cst (sizetype, outgoing_cpool->count - 1); tree index_type = build_index_type (max_index); /* Add dummy 0'th element of constant pool. */ @@ -485,7 +485,7 @@ build_constants_constructor (void) } START_RECORD_CONSTRUCTOR (cons, constants_type_node); PUSH_FIELD_VALUE (cons, "size", - build_int_cst (NULL_TREE, outgoing_cpool->count, 0)); + build_int_cst (NULL_TREE, outgoing_cpool->count)); PUSH_FIELD_VALUE (cons, "tags", tags_value); PUSH_FIELD_VALUE (cons, "data", data_value); FINISH_RECORD_CONSTRUCTOR (cons); diff --git a/gcc/java/decl.c b/gcc/java/decl.c index 93dfcd7..f6c03a5 100644 --- a/gcc/java/decl.c +++ b/gcc/java/decl.c @@ -585,24 +585,23 @@ java_init_decl_processing (void) /* Define these next since types below may used them. */ integer_type_node = java_type_for_size (INT_TYPE_SIZE, 0); - integer_zero_node = build_int_cst (NULL_TREE, 0, 0); - integer_one_node = build_int_cst (NULL_TREE, 1, 0); - integer_two_node = build_int_cst (NULL_TREE, 2, 0); - integer_four_node = build_int_cst (NULL_TREE, 4, 0); - integer_minus_one_node = build_int_cst (NULL_TREE, -1, -1); + integer_zero_node = build_int_cst (NULL_TREE, 0); + integer_one_node = build_int_cst (NULL_TREE, 1); + integer_two_node = build_int_cst (NULL_TREE, 2); + integer_four_node = build_int_cst (NULL_TREE, 4); + integer_minus_one_node = build_int_cst (NULL_TREE, -1); /* A few values used for range checking in the lexer. */ - decimal_int_max = build_int_cst (unsigned_int_type_node, 0x80000000, 0); + decimal_int_max = build_int_cstu (unsigned_int_type_node, 0x80000000); #if HOST_BITS_PER_WIDE_INT == 64 - decimal_long_max = build_int_cst (unsigned_long_type_node, - 0x8000000000000000LL, 0); -#else -#if HOST_BITS_PER_WIDE_INT == 32 - decimal_long_max = build_int_cst (unsigned_long_type_node, 0, 0x80000000); + decimal_long_max = build_int_cstu (unsigned_long_type_node, + 0x8000000000000000LL); +#elif HOST_BITS_PER_WIDE_INT == 32 + decimal_long_max = build_int_cst_wide (unsigned_long_type_node, + 0, 0x80000000); #else #error "unsupported size" #endif -#endif size_zero_node = size_int (0); size_one_node = size_int (1); @@ -610,7 +609,7 @@ java_init_decl_processing (void) bitsize_one_node = bitsize_int (1); bitsize_unit_node = bitsize_int (BITS_PER_UNIT); - long_zero_node = build_int_cst (long_type_node, 0, 0); + long_zero_node = build_int_cst (long_type_node, 0); void_type_node = make_node (VOID_TYPE); pushdecl (build_decl (TYPE_DECL, get_identifier ("void"), void_type_node)); @@ -620,7 +619,7 @@ java_init_decl_processing (void) layout_type (t); /* Uses size_zero_node */ return_address_type_node = build_pointer_type (t); - null_pointer_node = build_int_cst (ptr_type_node, 0, 0); + null_pointer_node = build_int_cst (ptr_type_node, 0); #if 0 /* Make a type to be the domain of a few array types diff --git a/gcc/java/expr.c b/gcc/java/expr.c index 97f540a..33d3afd 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -698,7 +698,7 @@ build_java_array_length_access (tree node) length = java_array_type_length (type); if (length >= 0) - return build_int_cst (NULL_TREE, length, 0); + return build_int_cst (NULL_TREE, length); node = build3 (COMPONENT_REF, int_type_node, build_java_indirect_ref (array_type, node, @@ -910,7 +910,7 @@ build_newarray (int atype_value, tree length) and save the runtime some work. However, the bytecode generator expects to find the type_code int here. */ if (flag_emit_class_files) - type_arg = build_int_cst (NULL_TREE, atype_value, 0); + type_arg = build_int_cst (NULL_TREE, atype_value); else type_arg = build_class_ref (prim_type); @@ -971,7 +971,7 @@ expand_java_multianewarray (tree class_type, int ndim) build_address_of (soft_multianewarray_node), tree_cons (NULL_TREE, build_class_ref (class_type), tree_cons (NULL_TREE, - build_int_cst (NULL_TREE, ndim, 0), + build_int_cst (NULL_TREE, ndim), args)), NULL_TREE)); } @@ -1082,7 +1082,7 @@ expand_java_pushc (int ival, tree type) if (type == ptr_type_node && ival == 0) value = null_pointer_node; else if (type == int_type_node || type == long_type_node) - value = build_int_cst (type, ival, ival < 0 ? -1 : 0); + value = build_int_cst (type, ival); else if (type == float_type_node || type == double_type_node) { REAL_VALUE_TYPE x; @@ -1287,7 +1287,7 @@ expand_iinc (unsigned int local_var_index, int ival, int pc) flush_quick_stack (); local_var = find_local_variable (local_var_index, int_type_node, pc); - constant_value = build_int_cst (NULL_TREE, ival, ival < 0 ? -1 : 0); + constant_value = build_int_cst (NULL_TREE, ival); res = fold (build2 (PLUS_EXPR, int_type_node, local_var, constant_value)); java_add_stmt (build2 (MODIFY_EXPR, TREE_TYPE (local_var), local_var, res)); update_aliases (local_var, local_var_index, pc); @@ -1358,7 +1358,7 @@ build_java_binop (enum tree_code op, tree type, tree arg1, tree arg2) case LSHIFT_EXPR: case RSHIFT_EXPR: mask = build_int_cst (NULL_TREE, - TYPE_PRECISION (TREE_TYPE (arg1)) - 1, 0); + TYPE_PRECISION (TREE_TYPE (arg1)) - 1); arg2 = fold (build2 (BIT_AND_EXPR, int_type_node, arg2, mask)); break; @@ -1539,8 +1539,7 @@ build_field_ref (tree self_value, tree self_class, tree name) { tree otable_index = build_int_cst (NULL_TREE, get_symbol_table_index - (field_decl, &TYPE_OTABLE_METHODS (output_class)), - 0); + (field_decl, &TYPE_OTABLE_METHODS (output_class))); tree field_offset = build4 (ARRAY_REF, integer_type_node, TYPE_OTABLE_DECL (output_class), otable_index, @@ -1688,7 +1687,7 @@ expand_java_add_case (tree switch_expr, int match, int target_pc) { tree value, x; - value = build_int_cst (TREE_TYPE (switch_expr), match, match < 0 ? -1 : 0); + value = build_int_cst (TREE_TYPE (switch_expr), match); x = build3 (CASE_LABEL_EXPR, void_type_node, value, NULL_TREE, create_artificial_label ()); @@ -1703,8 +1702,7 @@ static void expand_java_call (int target_pc, int return_address) { tree target_label = lookup_label (target_pc); - tree value = build_int_cst (NULL_TREE, - return_address, return_address < 0 ? -1 : 0); + tree value = build_int_cst (NULL_TREE, return_address); push_value (value); flush_quick_stack (); expand_goto (target_label); @@ -1836,7 +1834,7 @@ build_known_method_ref (tree method, tree method_type ATTRIBUTE_UNUSED, { tree table_index = build_int_cst (NULL_TREE, get_symbol_table_index - (method, &TYPE_ATABLE_METHODS (output_class)), 0); + (method, &TYPE_ATABLE_METHODS (output_class))); func = build4 (ARRAY_REF, method_ptr_type_node, TYPE_ATABLE_DECL (output_class), table_index, NULL_TREE, NULL_TREE); @@ -1880,7 +1878,7 @@ build_known_method_ref (tree method, tree method_type ATTRIBUTE_UNUSED, } method_index *= int_size_in_bytes (method_type_node); ref = fold (build2 (PLUS_EXPR, method_ptr_type_node, - ref, build_int_cst (NULL_TREE, method_index, 0))); + ref, build_int_cst (NULL_TREE, method_index))); ref = build1 (INDIRECT_REF, method_type_node, ref); func = build3 (COMPONENT_REF, nativecode_ptr_type_node, ref, lookup_field (&method_type_node, ncode_ident), @@ -1961,7 +1959,7 @@ build_invokevirtual (tree dtable, tree method) { otable_index = build_int_cst (NULL_TREE, get_symbol_table_index - (method, &TYPE_OTABLE_METHODS (output_class)), 0); + (method, &TYPE_OTABLE_METHODS (output_class))); method_index = build4 (ARRAY_REF, integer_type_node, TYPE_OTABLE_DECL (output_class), otable_index, NULL_TREE, NULL_TREE); @@ -2021,14 +2019,14 @@ build_invokeinterface (tree dtable, tree method) { otable_index = build_int_cst (NULL_TREE, get_symbol_table_index - (method, &TYPE_OTABLE_METHODS (output_class)), 0); + (method, &TYPE_OTABLE_METHODS (output_class))); idx = build4 (ARRAY_REF, integer_type_node, TYPE_OTABLE_DECL (output_class), otable_index, NULL_TREE, NULL_TREE); } else idx = build_int_cst (NULL_TREE, - get_interface_method_index (method, interface), 0); + get_interface_method_index (method, interface)); lookup_arg = tree_cons (NULL_TREE, dtable, tree_cons (NULL_TREE, build_class_ref (interface), @@ -2282,7 +2280,7 @@ build_jni_stub (tree method) /* We call _Jv_LookupJNIMethod to find the actual underlying function pointer. _Jv_LookupJNIMethod will throw the appropriate exception if this function is not found at runtime. */ - tem = build_tree_list (NULL_TREE, build_int_cst (NULL_TREE, args_size, 0)); + tem = build_tree_list (NULL_TREE, build_int_cst (NULL_TREE, args_size)); method_sig = build_java_signature (TREE_TYPE (method)); lookup_arg = tree_cons (NULL_TREE, build_utf8_ref (unmangle_classname diff --git a/gcc/java/java-gimplify.c b/gcc/java/java-gimplify.c index ea1b3f0..6632e93 100644 --- a/gcc/java/java-gimplify.c +++ b/gcc/java/java-gimplify.c @@ -242,7 +242,7 @@ java_gimplify_new_array_init (tree exp) tree data_field = lookup_field (&array_type, get_identifier ("data")); tree element_type = TYPE_ARRAY_ELEMENT (array_type); HOST_WIDE_INT ilength = java_array_type_length (array_type); - tree length = build_int_cst (NULL_TREE, ilength, 0); + tree length = build_int_cst (NULL_TREE, ilength); tree init = TREE_OPERAND (exp, 0); tree values = CONSTRUCTOR_ELTS (init); @@ -263,7 +263,7 @@ java_gimplify_new_array_init (tree exp) data_field, NULL_TREE); tree assignment = build2 (MODIFY_EXPR, element_type, build4 (ARRAY_REF, element_type, lhs, - build_int_cst (NULL_TREE, index++, 0), + build_int_cst (NULL_TREE, index++), NULL_TREE, NULL_TREE), TREE_VALUE (values)); body = build2 (COMPOUND_EXPR, element_type, body, assignment); diff --git a/gcc/java/jcf-parse.c b/gcc/java/jcf-parse.c index cb4853f..bc733e8 100644 --- a/gcc/java/jcf-parse.c +++ b/gcc/java/jcf-parse.c @@ -266,7 +266,7 @@ get_constant (JCF *jcf, int index) case CONSTANT_Integer: { jint num = JPOOL_INT(jcf, index); - value = build_int_cst (int_type_node, num, num < 0 ? -1 : 0); + value = build_int_cst (int_type_node, num); break; } case CONSTANT_Long: @@ -278,7 +278,7 @@ get_constant (JCF *jcf, int index) lshift_double (num, 0, 32, 64, &lo, &hi, 0); num = JPOOL_UINT (jcf, index+1); add_double (lo, hi, num, 0, &lo, &hi); - value = build_int_cst (long_type_node, lo, hi); + value = build_int_cst_wide (long_type_node, lo, hi); value = force_fit_type (value, 0, false, false); break; } diff --git a/gcc/java/lex.c b/gcc/java/lex.c index 7c497bd..aa3efcc 100644 --- a/gcc/java/lex.c +++ b/gcc/java/lex.c @@ -1277,9 +1277,9 @@ do_java_lex (YYSTYPE *java_lval) #ifndef JC1_LITE /* Range checking. */ /* Temporarily set type to unsigned. */ - value = build_int_cst (long_suffix - ? unsigned_long_type_node - : unsigned_int_type_node, low, high); + value = build_int_cst_wide (long_suffix + ? unsigned_long_type_node + : unsigned_int_type_node, low, high); SET_LVAL_NODE (value); /* For base 10 numbers, only values up to the highest value @@ -1300,8 +1300,8 @@ do_java_lex (YYSTYPE *java_lval) } /* Sign extend the value. */ - value = build_int_cst (long_suffix ? long_type_node : int_type_node, - low, high); + value = build_int_cst_wide (long_suffix ? long_type_node : int_type_node, + low, high); value = force_fit_type (value, 0, false, false); if (radix != 10) @@ -1340,7 +1340,7 @@ do_java_lex (YYSTYPE *java_lval) char_lit = 0; /* We silently convert it to zero. */ JAVA_LEX_CHAR_LIT (char_lit); - SET_LVAL_NODE (build_int_cst (char_type_node, char_lit, 0)); + SET_LVAL_NODE (build_int_cst (char_type_node, char_lit)); return CHAR_LIT_TK; } diff --git a/gcc/java/parse.y b/gcc/java/parse.y index 85be4b7..4996271 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -13334,10 +13334,10 @@ patch_binop (tree node, tree wfl_op1, tree wfl_op2) /* Shift int only up to 0x1f and long up to 0x3f */ if (prom_type == int_type_node) op2 = fold (build2 (BIT_AND_EXPR, int_type_node, op2, - build_int_cst (NULL_TREE, 0x1f, 0))); + build_int_cst (NULL_TREE, 0x1f))); else op2 = fold (build2 (BIT_AND_EXPR, int_type_node, op2, - build_int_cst (NULL_TREE, 0x3f, 0))); + build_int_cst (NULL_TREE, 0x3f))); /* The >>> operator is a >> operating on unsigned quantities */ if (code == URSHIFT_EXPR && ! flag_emit_class_files) @@ -14032,12 +14032,12 @@ patch_unaryop (tree node, tree wfl_op) both operands, if really necessary */ if (JINTEGRAL_TYPE_P (op_type)) { - value = build_int_cst (op_type, 1, 0); + value = build_int_cst (op_type, 1); TREE_TYPE (node) = op_type; } else { - value = build_int_cst (NULL_TREE, 1, 0); + value = build_int_cst (NULL_TREE, 1); TREE_TYPE (node) = binary_numeric_promotion (op_type, TREE_TYPE (value), &op, &value); @@ -14263,7 +14263,7 @@ patch_cast (tree node, tree wfl_op) static tree build_null_of_type (tree type) { - tree node = build_int_cst (promote_type (type), 0, 0); + tree node = build_int_cst (promote_type (type), 0); return node; } @@ -14345,7 +14345,7 @@ build_newarray_node (tree type, tree dims, int extra_dims) { tree node = build3 (NEW_ARRAY_EXPR, NULL_TREE, type, nreverse (dims), - build_int_cst (NULL_TREE, extra_dims, 0)); + build_int_cst (NULL_TREE, extra_dims)); return node; } @@ -14444,8 +14444,8 @@ patch_newarray (tree node) tree_cons (NULL_TREE, build_class_ref (TREE_TYPE (array_type)), tree_cons (NULL_TREE, - build_int_cst (NULL_TREE, - ndims, 0), dims )), + build_int_cst (NULL_TREE, ndims), + dims)), NULL_TREE); } diff --git a/gcc/java/resource.c b/gcc/java/resource.c index 362aab4..0778659 100644 --- a/gcc/java/resource.c +++ b/gcc/java/resource.c @@ -69,9 +69,9 @@ compile_resource_data (const char *name, const char *buffer, int length) FINISH_RECORD (rtype); START_RECORD_CONSTRUCTOR (rinit, rtype); PUSH_FIELD_VALUE (rinit, "name_length", - build_int_cst (NULL_TREE, strlen (name), 0)); + build_int_cst (NULL_TREE, strlen (name))); PUSH_FIELD_VALUE (rinit, "resource_length", - build_int_cst (NULL_TREE, length, 0)); + build_int_cst (NULL_TREE, length)); data = build_string (strlen(name) + length, buffer); TREE_TYPE (data) = data_type; PUSH_FIELD_VALUE (rinit, "data", data); diff --git a/gcc/java/typeck.c b/gcc/java/typeck.c index 830b95c5..0c61174 100644 --- a/gcc/java/typeck.c +++ b/gcc/java/typeck.c @@ -357,8 +357,7 @@ build_prim_array_type (tree element_type, HOST_WIDE_INT length) if (length != -1) { - tree max_index = build_int_cst (sizetype, - length - 1, (0 == length ? -1 : 0)); + tree max_index = build_int_cst (sizetype, length - 1); index = build_index_type (max_index); } return build_array_type (element_type, index); |