Merge with trunk.
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 22 Nov 2013 14:55:48 +0000 (14:55 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 22 Nov 2013 14:55:48 +0000 (14:55 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205263 138bc75d-0d04-0410-961f-82ee72b054a4

26 files changed:
1  2 
gcc/ChangeLog.wide-int
gcc/cfgloop.c
gcc/config/i386/i386.c
gcc/config/rs6000/rs6000.c
gcc/dwarf2out.c
gcc/expr.c
gcc/gimple.c
gcc/loop-unroll.c
gcc/omp-low.c
gcc/print-rtl.c
gcc/real.c
gcc/real.h
gcc/simplify-rtx.c
gcc/stor-layout.c
gcc/tree-call-cdce.c
gcc/tree-predcom.c
gcc/tree-sra.c
gcc/tree-ssa-forwprop.c
gcc/tree-ssa-pre.c
gcc/tree-ssa-reassoc.c
gcc/tree-ssa-sccvn.c
gcc/tree-ssa-structalias.c
gcc/tree-vect-data-refs.c
gcc/tree-vect-generic.c
gcc/tree-vect-loop-manip.c
gcc/tree-vect-loop.c

index 0723f67,0000000..d5acc4b
mode 100644,000000..100644
--- /dev/null
@@@ -1,997 -1,0 +1,996 @@@
-       (place_field): Note BUGs.
 +2013-11-21  Kenneth Zadeck  <zadeck@naturalbridge.com>
 +          Mike Stump  <mikestump@comcast.net>
 +          Richard Sandiford  <rdsandiford@googlemail.com>
 +
 +      * alias.c
 +      (ao_ref_from_mem): Use wide-int interfaces.
 +      (rtx_equal_for_memref_p): Update comment.
 +      (adjust_offset_for_component_ref): Use wide-int interfaces.
 +      * builtins.c
 +      (get_object_alignment_2): Use wide-int interfaces.
 +      (c_readstr): Likewise.
 +      (target_char_cast): Add comment.
 +      (determine_block_size): Use wide-int interfaces.
 +      (expand_builtin_signbit): Likewise.
 +      (fold_builtin_int_roundingfn): Likewise.
 +      (fold_builtin_bitop): Likewise.
 +      (fold_builtin_bswap): Likewise.
 +      (fold_builtin_logarithm): Use signop.
 +      (fold_builtin_pow): Likewise.
 +      (fold_builtin_memory_op): Use wide-int interfaces.
 +      (fold_builtin_object_size): Likewise.
 +      * cfgloop.c
 +      (alloc_loop): Initialize nb_iterations_upper_bound and
 +      nb_iterations_estimate.
 +      (record_niter_bound): Use wide-int interfaces.
 +      (get_estimated_loop_iterations_int): Likewise.
 +      (get_estimated_loop_iterations): Likewise.
 +      (get_max_loop_iterations): Likewise.
 +      * cfgloop.h: Include wide-int.h.
 +      (struct nb_iter_bound): Change bound to widest_int.
 +      (struct loop): Change nb_iterations_upper_bound and
 +      nb_iterations_estimate to widest_int.
 +      (record_niter_bound): Switch to use widest_int.
 +      (get_estimated_loop_iterations): Likewise.
 +      (get_max_loop_iterations): Likewise.
 +      (gcov_type_to_double_int): Rename to gcov_type_to_wide_int and
 +      update for wide-int.
 +      * cgraph.c
 +      (cgraph_add_thunk): Use wide-int interfaces.
 +      * combine.c
 +      (try_combine): Use wide-int interfaces.
 +      (subst): Use CONST_SCALAR_INT_P rather than CONST_INT_P.
 +      * config/aarch64/aarch64.c
 +      (aapcs_vfp_sub_candidate): Use wide-int interfaces.
 +      (aarch64_float_const_representable_p): Likewise.
 +      * config/arc/arc.c
 +      (arc_can_use_doloop_p): Use wide-int interfaces.
 +      * config/arm/arm.c
 +      (aapcs_vfp_sub_candidate): Use wide-int interfaces.
 +      (vfp3_const_double_index): Likewise.
 +      * config/avr/avr.c
 +      (avr_out_round): Use wide-int interfaces.
 +      (avr_fold_builtin): Likewise.
 +      * config/bfin/bfin.c
 +      (bfin_local_alignment): Use wide-int interfaces.
 +      (bfin_can_use_doloop_p): Likewise.
 +      * config/darwin.c
 +      (darwin_mergeable_constant_section): Use wide-int interfaces.
 +      (machopic_select_rtx_section): Update to handle CONST_WIDE_INT.
 +      * config/i386/i386.c: Include wide-int.h.
 +      (ix86_data_alignment): Use wide-int interfaces.
 +      (ix86_local_alignment): Likewise.
 +      (ix86_emit_swsqrtsf): Update real_from_integer.
 +      * config/msp430/msp430.c
 +      (msp430_attr): Use wide-int interfaces.
 +      * config/nds32/nds32.c
 +      (nds32_insert_attributes): Use wide-int interfaces.
 +      * config/rs6000/predicates.md
 +      (any_operand): Add const_wide_int.
 +      (zero_constant): Likewise.
 +      (non_logical_cint_operand): Likewise.
 +      (input_operand): Likewise.
 +      (splat_input_operand): Likewise.
 +      * config/rs6000/rs6000.c
 +      (num_insns_constant): Handle CONST_WIDE_INT.
 +      (easy_altivec_constant): Update comment.
 +      (paired_expand_vector_init): Use CONSTANT_P.
 +      (rs6000_legitimize_address): Handle CONST_WIDE_INT.
 +      (rs6000_emit_move): Update checks.
 +      (rs6000_aggregate_candidate): Use wide-int interfaces.
 +      (rs6000_expand_ternop_builtin): Likewise.
 +      (rs6000_output_move_128bit): Handle CONST_WIDE_INT.
 +      (rs6000_assemble_integer): Likewise.
 +      (rs6000_hash_constant): Likewise.
 +      (output_toc): Likewise.
 +      (rs6000_rtx_costs): Likewise.
 +      (rs6000_emit_swrsqrt); Update call to real_from_integer.
 +      * config/rs6000/rs6000-c.c: Include wide-int.h.
 +      (altivec_resolve_overloaded_builtin): Use wide-int interfaces.
 +      * config/rs6000/rs6000.h
 +      (TARGET_SUPPORTS_WIDE_INT): New.
 +      * config/rs6000/rs6000.md
 +      Use const_scalar_int_operand.  Handle CONST_WIDE_INT.
 +      * config/sol2-c.c
 +      (solaris_pragma_align): Use tree_fits_uhwi_p.
 +      * config/sparc/sparc.c: Include wide-int.h.
 +      (sparc_fold_builtin): Use wide-int interfaces.
 +      * config/vax/vax.c: Include wide-int.h.
 +      (vax_float_literal): Use real_from_integer.
 +      * coretypes.h
 +      (struct hwivec_def): New.
 +      (hwivec): New.
 +      (const_hwivec): New.
 +      * cse.c
 +      (hash_rtx_cb): Handle CONST_WIDE_INT.
 +      (equiv_constant): Handle CONST_WIDE_INT.
 +      * cselib.c
 +      (rtx_equal_for_cselib_1): Use CASE_CONST_UNIQUE.
 +      (cselib_hash_rtx): Handle CONST_WIDE_INT.
 +      * dbxout.c
 +      (stabstr_U): Use wide-int interfaces.
 +      (dbxout_type): Update to use cst_fits_shwi_p.
 +      * defaults.h
 +      (TARGET_SUPPORTS_WIDE_INT): Add default.
 +      * dfp.c: Include wide-int.h.
 +      (decimal_real_to_integer2): Use wide-int interfaces and rename to
 +      decimal_real_to_integer.
 +      * dfp.h
 +      (decimal_real_to_integer2): Return a wide_int and rename to
 +      decimal_real_to_integer.
 +      * doc/generic.texi
 +      (Constant expressions): Use wide-int interfaces.
 +      * doc/rtl.texi
 +      (const_double): Use wide-int interfaces.
 +      (const_wide_int, CONST_WIDE_INT, CONST_WIDE_INT_VEC): New.
 +      (CONST_WIDE_INT_NUNITS, CONST_WIDE_INT_ELT): New.
 +      * doc/tm.texi.in
 +      (REAL_VALUE_TO_INT): Remove.
 +      (REAL_VALUE_FROM_INT): Remove.
 +      (TARGET_SUPPORTS_WIDE_INT): New.
 +      * doc/tm.texi: Regenerate.
 +      * dojump.c
 +      (prefer_and_bit_test): Use wide-int interfaces.
 +      * double-int.h: Include wide-int.h.
 +      (struct wi::int_traits): New.
 +      * dwarf2out.c
 +      (get_full_len): New.
 +      (dw_val_equal_p): Add case dw_val_class_wide_int.
 +      (size_of_loc_descr): Likewise.
 +      (output_loc_operands): Likewise.
 +      (insert_double): Remove.
 +      (insert_wide_int): New.
 +      (add_AT_wide): New.
 +      (print_die): Add case dw_val_class_wide_int.
 +      (attr_checksum): Likewise.
 +      (attr_checksum_ordered): Likewise.
 +      (same_dw_val_p): Likewise.
 +      (size_of_die): Likewise.
 +      (value_format): Likewise.
 +      (output_die): Likewise.
 +      (double_int_type_size_in_bits): Rename to
 +      offset_int_type_size_in_bits.  Use wide-int.
 +      (clz_loc_descriptor): Use wide-int interfaces.
 +      (mem_loc_descriptor): Likewise.  Handle CONST_WIDE_INT.
 +      (loc_descriptor): Use wide-int interfaces.  Handle CONST_WIDE_INT.
 +      (round_up_to_align): Use wide-int interfaces.
 +      (field_byte_offset): Likewise.
 +      (insert_double): Rename to insert_wide_int.  Use wide-int interfaces.
 +      (add_const_value_attribute): Handle CONST_WIDE_INT.  Update
 +      CONST_DOUBLE handling.  Use wide-int interfaces.
 +      (add_bound_info): Use tree_fits_uhwi_p.  Use wide-int interfaces.
 +      (gen_enumeration_type_die): Use add_AT_wide.
 +      (hash_loc_operands): Add case dw_val_class_wide_int.
 +      (compare_loc_operands): Likewise.
 +      * dwarf2out.h: Include wide-int.h.
 +      (wide_int_ptr): New.
 +      (enum dw_val_class): Add dw_val_class_wide_int.
 +      (struct dw_val_struct): Add val_wide.
 +      * emit-rtl.c
 +      (const_wide_int_htab): New.
 +      (const_wide_int_htab_hash): New.
 +      (const_wide_int_htab_eq): New.
 +      (lookup_const_wide_int): New.
 +      (const_double_htab_hash): Use wide-int interfaces.
 +      (const_double_htab_eq): Likewise.
 +      (rtx_to_double_int): Conditionally compile for wide-int.
 +      (immed_double_int_const): Rename to immed_wide_int_const and
 +      update for wide-int.
 +      (immed_double_const): Conditionally compile for wide-int.
 +      (init_emit_once): Use wide-int interfaces.
 +      * explow.c
 +      (plus_constant): Use wide-int interfaces.
 +      * expmed.c
 +      (mask_rtx): Move further up file.  Use wide-int interfaces.
 +      (lshift_value): Use wide-int interfaces.
 +      (expand_mult): Likewise.
 +      (choose_multiplier): Likewise.
 +      (expand_smod_pow2): Likewise.
 +      (make_tree): Likewise.
 +      * expr.c
 +      (convert_modes): Consolidate handling of constants.
 +      Use wide-int interfaces.
 +      (emit_group_load_1): Add note.
 +      (store_expr): Update comment.
 +      (get_inner_reference): Use wide-int interfaces.
 +      (expand_constructor): Update comment.
 +      (expand_expr_real_2): Use wide-int interfaces.
 +      (expand_expr_real_1): Likewise.
 +      (reduce_to_bit_field_precision): Likewise.
 +      (const_vector_from_tree): Likewise.
 +      * final.c: Include wide-int-print.h.
 +      (output_addr_const): Handle CONST_WIDE_INT.  Use CONST_DOUBLE_AS_INT_P.
 +      * fixed-value.c: Include wide-int.h.
 +      (fixed_from_string): Use wide-int interfaces.
 +      (fixed_to_decimal): Likewise.
 +      (fixed_convert_from_real): Likewise.
 +      (real_convert_from_fixed): Likewise.
 +      * fold-const.h
 +      (mem_ref_offset): Return an offset_int.
 +      (div_if_zero_remainder): Remove code parameter.
 +      * fold-const.c
 +      (div_if_zero_remainder): Remove code parameter.  Use wide-int
 +      interfaces.
 +      (may_negate_without_overflow_p): Use wide-int interfaces.
 +      (negate_expr_p): Likewise.
 +      (fold_negate_expr): Likewise.
 +      (int_const_binop_1): Likewise.
 +      (const_binop): Likewise.
 +      (fold_convert_const_int_from_int): Likewise.
 +      (fold_convert_const_int_from_real): Likewise.
 +      (fold_convert_const_int_from_fixed): Likewise.
 +      (fold_convert_const_fixed_from_int): Likewise.
 +      (all_ones_mask_p): Take an unsigned size.  Use wide-int interfaces.
 +      (sign_bit_p): Use wide-int interfaces.
 +      (make_range_step): Likewise.
 +      (build_range_check): Likewise.  Pass an integer of the correct type
 +      instead of using integer_one_node.
 +      (range_predecessor): Pass an integer of the correct type instead
 +      of using integer_one_node.
 +      (range_successor): Likewise.
 +      (merge_ranges): Likewise.
 +      (unextend): Use wide-int interfaces.
 +      (extract_muldiv_1): Likewise.
 +      (fold_div_compare): Likewise.
 +      (fold_single_bit_test): Likewise.
 +      (fold_sign_changed_comparison): Likewise.
 +      (try_move_mult_to_index): Update calls to div_if_zero_remainder.
 +      (fold_plusminus_mult_expr): Use wide-int interfaces.
 +      (native_encode_int): Likewise.
 +      (native_interpret_int): Likewise.
 +      (fold_unary_loc): Likewise.
 +      (pointer_may_wrap_p): Likewise.
 +      (size_low_cst): Likewise.
 +      (mask_with_tz): Likewise.
 +      (fold_binary_loc): Likewise.
 +      (fold_ternary_loc): Likewise.
 +      (multiple_of_p): Likewise.
 +      (tree_call_nonnegative_warnv_p): Update calls to
 +      tree_int_cst_min_precision and real_from_integer.
 +      (fold_negate_const): Use wide-int interfaces.
 +      (fold_abs_const): Likewise.
 +      (fold_relational_const): Remove dead INT_CST_LT_UNSIGNED.
 +      (round_up_loc): Use wide-int interfaces.
 +      * genemit.c
 +      (gen_exp): Add CONST_WIDE_INT case.
 +      * gengenrtl.c
 +      (excluded_rtx): Add CONST_WIDE_INT case.
 +      * gengtype.c: Remove include of double-int.h.
 +      (do_typedef): Use wide-int interfaces.
 +      (open_base_files): Add wide-int.h.
 +      (main): Add offset_int and widest_int typedefs.
 +      * gengtype-lex.l: Handle "^".
 +      (CXX_KEYWORD): Add "static".
 +      * gengtype-parse.c
 +      (require3): New.
 +      (require_template_declaration): Handle constant template arguments
 +      and nested templates.
 +      * gengtype-state.c: Don't include "double-int.h".
 +      * genmodes.c
 +      (emit_max_int): Define MAX_BITSIZE_MODE_ANY_INT and
 +      MAX_BITSIZE_MODE_ANY_MODE.
 +      * genpreds.c
 +      (write_one_predicate_function): Update comment.
 +      (write_tm_constrs_h): Add check for hval and lval use in
 +      CONST_WIDE_INT.
 +      * genrecog.c
 +      (validate_pattern): Add CONST_WIDE_INT case.
 +      (add_to_sequence): Likewise.
 +      * gensupport.c
 +      (struct std_pred_table): Add const_scalar_int_operand and
 +      const_double_operand.
 +      * gimple.c
 +      (preprocess_case_label_vec_for_gimple): Use wide-int interfaces.
 +      * gimple-fold.c
 +      (get_base_constructor): Use wide-int interfaces.
 +      (fold_array_ctor_reference): Likewise.
 +      (fold_nonarray_ctor_reference): Likewise.
 +      (fold_const_aggregate_ref_1): Likewise.
 +      (gimple_val_nonnegative_real_p): Likewise.
 +      (gimple_fold_indirect_ref): Likewise.
 +      * gimple-pretty-print.c
 +      (dump_ssaname_info): Use wide-int interfaces.
 +      * gimple-ssa-strength-reduction.c: Include wide-int-print.h.
 +      (struct slsr_cand_d): Change index to be widest_int.
 +      (struct incr_info_d): Change incr to be widest_int.
 +      (alloc_cand_and_find_basis): Use wide-int interfaces.
 +      (slsr_process_phi): Likewise.
 +      (backtrace_base_for_ref): Likewise.  Return a widest_int.
 +      (restructure_reference): Take a widest_int instead of a double_int.
 +      (slsr_process_ref): Use wide-int interfaces.
 +      (create_mul_ssa_cand): Likewise.
 +      (create_mul_imm_cand): Likewise.
 +      (create_add_ssa_cand): Likewise.
 +      (create_add_imm_cand): Take a widest_int instead of a double_int.
 +      (slsr_process_add): Use wide-int interfaces.
 +      (slsr_process_cast): Likewise.
 +      (slsr_process_copy): Likewise.
 +      (dump_candidate): Likewise.
 +      (dump_incr_vec): Likewise.
 +      (replace_ref): Likewise.
 +      (cand_increment): Likewise.  Return a widest_int.
 +      (cand_abs_increment): Likewise.
 +      (replace_mult_candidate): Take a widest_int instead of a double_int.
 +      (replace_unconditional_candidate): Use wide-int interfaces.
 +      (incr_vec_index): Take a widest_int instead of a double_int.
 +      (create_add_on_incoming_edge): Likewise.
 +      (create_phi_basis): Use wide-int interfaces.
 +      (replace_conditional_candidate): Likewise.
 +      (record_increment): Take a widest_int instead of a double_int.
 +      (record_phi_increments): Use wide-int interfaces.
 +      (phi_incr_cost): Take a widest_int instead of a double_int.
 +      (lowest_cost_path): Likewise.
 +      (total_savings): Likewise.
 +      (analyze_increments): Use wide-int interfaces.
 +      (ncd_with_phi): Take a widest_int instead of a double_int.
 +      (ncd_of_cand_and_phis): Likewise.
 +      (nearest_common_dominator_for_cands): Likewise.
 +      (insert_initializers): Use wide-int interfaces.
 +      (all_phi_incrs_profitable): Likewise.
 +      (replace_one_candidate): Likewise.
 +      (replace_profitable_candidates): Likewise.
 +      * godump.c: Include wide-int-print.h.
 +      (go_output_typedef): Use wide-int interfaces.
 +      * graphite-clast-to-gimple.c
 +      (gmp_cst_to_tree): Use wide-int interfaces.
 +      * graphite-sese-to-poly.c
 +      (tree_int_to_gmp): Use wide-int interfaces.
 +      (build_loop_iteration_domains): Likewise.
 +      * hooks.h: Include wide-int.h rather than double-int.h.
 +      (hook_bool_dint_dint_uint_bool_true): Delete.
 +      (hook_bool_wint_wint_uint_bool_true): Declare.
 +      * hooks.c
 +      (hook_bool_dint_dint_uint_bool_true): Removed.
 +      (hook_bool_wint_wint_uint_bool_true): New.
 +      * ipa-devirt.c
 +      (get_polymorphic_call_info): Use wide-int interfaces.
 +      * ipa-prop.c
 +      (compute_complex_assign_jump_func): Use wide-int interfaces.
 +      (get_ancestor_addr_info): Likewise.
 +      (ipa_modify_call_arguments): Likewise.
 +      * loop-doloop.c
 +      (doloop_modify): Use wide-int interfaces.
 +      (doloop_optimize): Likewise.
 +      * loop-iv.c
 +      (iv_number_of_iterations): Use wide-int interfaces.
 +      * loop-unroll.c
 +      (decide_unroll_constant_iterations): Use wide-int interfaces.
 +      (unroll_loop_constant_iterations): Likewise.
 +      (decide_unroll_runtime_iterations): Likewise.
 +      (unroll_loop_runtime_iterations): Likewise.
 +      (decide_peel_simple): Likewise.
 +      (decide_unroll_stupid): Likewise.
 +      * lto-streamer-in.c
 +      (input_cfg): Use wide-int interfaces.
 +      (lto_input_tree_1): Likewise.
 +      * lto-streamer-out.c
 +      (hash_tree): Use wide-int interfaces.
 +      (output_cfg): Likewise.
 +      * machmode.def
 +      (MAX_BITS_PER_UNIT): New.
 +      * Makefile.in
 +      (RTL_H, CFGLOOP_H, C_COMMON_H, TREE_FLOW_H): Add wide-int.h.
 +      (REAL_H): Add signop.h.
 +      (OBJS): Add wide-int.o and wide-int-print.o.
 +      (GTFILES): Add wide-int.h and signop.h.
 +      (wide-int.h): New rule.
 +      (TAGS): Look for .cc files too.
 +      * omp-low.c
 +      (scan_omp_1_op): Use wide-int interfaces.
 +      * optabs.c
 +      (expand_subword_shift): Use wide-int interfaces.
 +      (expand_doubleword_shift): Likewise.
 +      (expand_absneg_bit): Likewise.
 +      (expand_copysign_absneg): Likewise.
 +      (expand_copysign_bit): Likewise.
 +      * postreload.c
 +      (reload_cse_simplify_set): Use wide-int interfaces.
 +      * predict.c
 +      (predict_iv_comparison): Use wide-int interfaces.
 +      * pretty-print.h: Include wide-int-print.h.
 +      (pp_wide_int) New.
 +      * print-rtl.c
 +      (print_rtx): Add CONST_WIDE_INT case.
 +      * print-tree.c: Include wide-int-print.h.
 +      (print_node_brief): Use wide-int interfaces.
 +      (print_node): Likewise.
 +      * read-rtl.c
 +      (validate_const_wide_int): New.
 +      (read_rtx_code): Add CONST_WIDE_INT case.
 +      * real.c: Include wide-int.h.
 +      (real_to_integer2): Delete.
 +      (real_to_integer): New function, returning a wide_int.
 +      (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
 +      (ten_to_ptwo): Update call to real_from_integer.
 +      (real_digit): Likewise.
 +      * real.h: Include signop.h, wide-int.h and insn-modes.h.
 +      (real_to_integer2, REAL_VALUE_FROM_INT, REAL_VALUE_FROM_UNSIGNED_INT)
 +      (REAL_VALUE_TO_INT): Delete.
 +      (real_to_integer): Declare a wide-int form.
 +      (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
 +      * recog.c
 +      (const_int_operand): Improve comment.
 +      (const_scalar_int_operand): New.
 +      (const_double_operand): Add a separate definition for CONST_WIDE_INT.
 +      * rtlanal.c
 +      (commutative_operand_precedence): Handle CONST_WIDE_INT.
 +      (split_double): Likewise.
 +      * rtl.c
 +      (DEF_RTL_EXPR): Handle CONST_WIDE_INT.
 +      (rtx_size): Likewise.
 +      (rtx_alloc_stat_v): New.
 +      (rtx_alloc_stat): Now calls rtx_alloc_stat_v.
 +      (cwi_output_hex): New.
 +      (iterative_hash_rtx): Handle CONST_WIDE_INT.
 +      (cwi_check_failed_bounds): New.
 +      * rtl.def
 +      (CONST_WIDE_INT): New.
 +      * rtl.h: Include <utility> and wide-int.h.
 +      (struct hwivec_def): New.
 +      (CWI_GET_NUM_ELEM): New.
 +      (CWI_PUT_NUM_ELEM): New.
 +      (struct rtx_def): Add num_elem and hwiv.
 +      (CASE_CONST_SCALAR_INT): Modify for TARGET_SUPPORTS_WIDE_INT.
 +      (CASE_CONST_UNIQUE): Likewise.
 +      (CASE_CONST_ANY): Likewise.
 +      (CONST_SCALAR_INT_P): Likewise.
 +      (CONST_WIDE_INT_P): New.
 +      (CWI_ELT): New.
 +      (HWIVEC_CHECK): New.
 +      (cwi_check_failed_bounds): New.
 +      (CWI_ELT): New.
 +      (HWIVEC_CHECK): New.
 +      (CONST_WIDE_INT_VEC) New.
 +      (CONST_WIDE_INT_NUNITS) New.
 +      (CONST_WIDE_INT_ELT) New.
 +      (rtx_mode_t): New type.
 +      (wi::int_traits <rtx_mode_t>): New.
 +      (wi::shwi): New.
 +      (wi::min_value): New.
 +      (wi::max_value): New.
 +      (rtx_alloc_v) New.
 +      (const_wide_int_alloc): New.
 +      (immed_wide_int_const): New.
 +      * sched-vis.c
 +      (print_value): Handle CONST_WIDE_INT.
 +      * sel-sched-ir.c
 +      (lhs_and_rhs_separable_p): Update comment.
 +      * signop.h: New file.
 +      * simplify-rtx.c
 +      (mode_signbit_p): Handle CONST_WIDE_INT.
 +      (simplify_const_unary_operation): Use wide-int interfaces.
 +      (simplify_binary_operation_1): Likewise.
 +      (simplify_const_binary_operation): Likewise.
 +      (simplify_const_relational_operation): Likewise.
 +      (simplify_immed_subreg): Likewise.
 +      * stmt.c
 +      (expand_case): Use wide-int interfaces.
 +      * stor-layout.h
 +      (set_min_and_max_values_for_integral_type): Take a signop rather
 +      than a bool.
 +      * stor-layout.c
 +      (layout_type): Use wide-int interfaces.
 +      (initialize_sizetypes): Update calls to
 +      set_min_and_max_values_for_integral_type.
 +      (set_min_and_max_values_for_integral_type): Take a signop rather
 +      than a bool.  Use wide-int interfaces.
 +      (fixup_signed_type): Update accordingly.  Remove
 +      HOST_BITS_PER_DOUBLE_INT limit.
 +      (fixup_unsigned_type): Likewise.
 +      * system.h
 +      (STATIC_CONSTANT_P): New.
 +      (STATIC_ASSERT): New.
 +      * target.def
 +      (can_use_doloop_p): Take widest_ints rather than double_ints.
 +      * target.h: Include wide-int.h rather than double-int.h.
 +      * targhooks.h (can_use_doloop_if_innermost): Take widest_ints rather
 +      than double_ints.
 +      * targhooks.c
 +      (default_cxx_get_cookie_size): Uses INT_CST_LT rather than
 +      INT_CST_LT_UNSIGNED.
 +      (can_use_doloop_if_innermost): Take widest_ints rather than
 +      double_ints.
 +      * tree-affine.c: Include wide-int-print.h.
 +      (double_int_ext_for_comb): Delete.
 +      (wide_int_ext_for_comb): New.
 +      (aff_combination_zero): Use wide-int interfaces.
 +      (aff_combination_const): Take a widest_int instead of a double_int.
 +      (aff_combination_elt): Use wide-int interfaces.
 +      (aff_combination_scale): Take a widest_int instead of a double_int.
 +      (aff_combination_add_elt): Likewise.
 +      (aff_combination_add_cst): Likewise.
 +      (aff_combination_add): Use wide-int interfaces.
 +      (aff_combination_convert): Likewise.
 +      (tree_to_aff_combination): Likewise.
 +      (add_elt_to_tree): Take a widest_int instead of a double_int.
 +      (aff_combination_to_tree): Use wide-int interfaces.
 +      (aff_combination_remove_elt): Likewise.
 +      (aff_combination_add_product): Take a widest_int instead of
 +      a double_int.
 +      (aff_combination_mult): Use wide-int interfaces.
 +      (aff_combination_expand): Likewise.
 +      (double_int_constant_multiple_p): Delete.
 +      (wide_int_constant_multiple_p): New.
 +      (aff_combination_constant_multiple_p): Take a widest_int pointer
 +      instead of a double_int pointer.
 +      (print_aff): Use wide-int interfaces.
 +      (get_inner_reference_aff): Take a widest_int pointer
 +      instead of a double_int pointer.
 +      (aff_comb_cannot_overlap_p): Take widest_ints instead of double_ints.
 +      * tree-affine.h: Include wide-int.h.
 +      (struct aff_comb_elt): Change type of coef to widest_int.
 +      (struct affine_tree_combination): Change type of offset to widest_int.
 +      (double_int_ext_for_comb): Delete.
 +      (wide_int_ext_for_comb): New.
 +      (aff_combination_const): Use widest_int instead of double_int.
 +      (aff_combination_scale): Likewise.
 +      (aff_combination_add_elt): Likewise.
 +      (aff_combination_constant_multiple_p): Likewise.
 +      (get_inner_reference_aff): Likewise.
 +      (aff_comb_cannot_overlap_p): Likewise.
 +      * tree.c: Include tree.h.
 +      (init_ttree): Use make_int_cst.
 +      (tree_code_size): Removed code for INTEGER_CST case.
 +      (tree_size): Add INTEGER_CST case.
 +      (make_node_stat): Update comment.
 +      (get_int_cst_ext_nunits, build_new_int_cst, build_int_cstu): New.
 +      (build_int_cst_type): Use wide-int interfaces.
 +      (double_int_to_tree): Likewise.
 +      (double_int_fits_to_tree_p): Delete.
 +      (force_fit_type_double): Delete.
 +      (force_fit_type): New.
 +      (int_cst_hash_hash): Use wide-int interfaces.
 +      (int_cst_hash_eq): Likewise.
 +      (build_int_cst_wide): Delete.
 +      (wide_int_to_tree): New.
 +      (cache_integer_cst): Use wide-int interfaces.
 +      (build_low_bits_mask): Likewise.
 +      (cst_and_fits_in_hwi): Likewise.
 +      (real_value_from_int_cst): Use wide-int interfaces.
 +      (make_int_cst_stat): New.
 +      (integer_zerop): Use wide_int interfaces.
 +      (integer_onep): Likewise.
 +      (integer_all_onesp): Likewise.
 +      (integer_pow2p): Likewise.
 +      (integer_nonzerop): Likewise.
 +      (tree_log2): Likewise.
 +      (tree_floor_log2): Likewise.
 +      (tree_ctz): Likewise.
 +      (int_size_in_bytes): Likewise.
 +      (mem_ref_offset): Return an offset_int rather than a double_int.
 +      (build_type_attribute_qual_variant): Use wide_int interfaces.
 +      (type_hash_eq): Likewise
 +      (tree_int_cst_equal): Likewise.
 +      (tree_int_cst_lt): Likewise.
 +      (tree_int_cst_compare): Likewise.
 +      (tree_fits_shwi_p): Likewise.
 +      (tree_fits_uhwi_p): Likewise.
 +      (tree_int_cst_sign_bit): Likewise.
 +      (tree_int_cst_sgn): Likewise.
 +      (tree_int_cst_min_precision): Take a signop rather than a bool.
 +      (simple_cst_equal): Use wide_int interfaces.
 +      (compare_tree_int): Likewise.
 +      (iterative_hash_expr): Likewise.
 +      (int_fits_type_p): Likewise.
 +      (get_type_static_bounds): Likewise.
 +      (tree_int_cst_elt_check_failed): New.
 +      (build_common_tree_nodes): Reordered to set prec before filling in
 +      value.
 +      (int_cst_value): Check cst_and_fits_in_hwi.
 +      (widest_int_cst_value): Use wide_int interfaces.
 +      (upper_bound_in_type): Likewise.
 +      (lower_bound_in_type): Likewise.
 +      (num_ending_zeros): Likewise.
 +      (drop_tree_overflow): Likewise.
 +      * tree-call-cdce.c
 +      (check_pow): Update call to real_from_integer.
 +      (gen_conditions_for_pow_cst_base): Likewise.
 +      * tree-cfg.c: Include wide-int.h and wide-int-print.h.
 +      (group_case_labels_stmt): Use wide-int interfaces.
 +      (verify_gimple_assign_binary): Likewise.
 +      (print_loop): Likewise.
 +      * tree-chrec.c
 +      (tree_fold_binomial): Use wide-int interfaces.
 +      * tree-core.h
 +      (struct tree_base): Add int_length.
 +      (struct tree_int_cst): Change rep of value.
 +      * tree-data-ref.c
 +      (dr_analyze_innermost): Use wide-int interfaces.
 +      (dr_may_alias_p): Likewise.
 +      (max_stmt_executions_tree): Likewise.
 +      * tree.def
 +      (INTEGER_CST): Update comment.
 +      * tree-dfa.c
 +      (get_ref_base_and_extent): Use wide-int interfaces.
 +      * tree-dfa.h
 +      (get_addr_base_and_unit_offset_1): Use wide-int interfaces.
 +      * tree-dump.c: Include wide-int.h and wide-int-print.h.
 +      (dequeue_and_dump): Use wide-int interfaces.
 +      * tree.h: Include wide-int.h.
 +      (NULL_TREE): Moved to earlier loc in file.
 +      (TREE_INT_CST_ELT_CHECK): New.
 +      (tree_int_cst_elt_check_failed): New.
 +      (TYPE_SIGN): New.
 +      (TREE_INT_CST): Delete.
 +      (TREE_INT_CST_LOW): Use wide-int interfaces.
 +      (TREE_INT_CST_HIGH): Delete.
 +      (TREE_INT_CST_NUNITS): New.
 +      (TREE_INT_CST_EXT_NUNITS): Likewise.
 +      (TREE_INT_CST_ELT): Likewise.
 +      (INT_CST_LT): Use wide-int interfaces.
 +      (INT_CST_LE): New.
 +      (tree_int_cst_elt_check): New (two forms).
 +      (type_code_size): Update comment.
 +      (make_int_cst_stat, make_int_cst): New.
 +      (tree_to_double_int): Delete.
 +      (double_int_fits_to_tree_p): Delete.
 +      (force_fit_type_double): Delete.
 +      (build_int_cstu): Replace with out-of-line function.
 +      (build_int_cst_wide): Delete.
 +      (tree_int_cst_min_precision): Take a signop rather than a bool.
 +      (wi::int_traits <const_tree>): New.
 +      (wi::int_traits <tree>): New.
 +      (wi::extended_tree): New.
 +      (wi::int_traits <wi::extended_tree>): New.
 +      (wi::to_widest): New.
 +      (wi::to_offset): New.
 +      (wi::fits_to_tree_p): New.
 +      (wi::min_value): New.
 +      (wi::max_value): New.
 +      * tree-inline.c
 +      (remap_gimple_op_r): Use wide-int interfaces.
 +      (copy_tree_body_r): Likewise.
 +      * tree-object-size.c
 +      (compute_object_offset): Use wide-int interfaces.
 +      (addr_object_size): Likewise.
 +      * tree-predcom.c: Include wide-int-print.h.
 +      (struct dref_d): Change type of offset to widest_int.
 +      (dump_dref): Call wide-int printer.
 +      (aff_combination_dr_offset): Use wide-int interfaces.
 +      (determine_offset): Take a widest_int pointer rather than a
 +      double_int pointer.
 +      (split_data_refs_to_components): Use wide-int interfaces.
 +      (suitable_component_p): Likewise.
 +      (order_drefs): Likewise.
 +      (add_ref_to_chain): Likewise.
 +      (valid_initializer_p): Likewise.
 +      (determine_roots_comp): Likewise.
 +      * tree-pretty-print.c: Include wide-int-print.h.
 +      (dump_generic_node): Use wide-int interfaces.
 +      * tree-sra.c
 +      (sra_ipa_modify_expr): Use wide-int interfaces.
 +      * tree-ssa-address.c
 +      (addr_for_mem_ref): Use wide-int interfaces.
 +      (move_fixed_address_to_symbol): Likewise.
 +      (move_hint_to_base): Likewise.
 +      (move_pointer_to_base): Likewise.
 +      (move_variant_to_index): Likewise.
 +      (most_expensive_mult_to_index): Likewise.
 +      (addr_to_parts): Likewise.
 +      (copy_ref_info): Likewise.
 +      * tree-ssa-alias.c
 +      (indirect_ref_may_alias_decl_p): Use wide-int interfaces.
 +      (indirect_refs_may_alias_p): Likewise.
 +      (stmt_kills_ref_p_1): Likewise.
 +      * tree-ssa.c
 +      (non_rewritable_mem_ref_base): Use wide-int interfaces.
 +      * tree-ssa-ccp.c: Update comment at top of file.  Include
 +      wide-int-print.h.
 +      (struct prop_value_d): Change type of mask to widest_int.
 +      (dump_lattice_value): Use wide-int interfaces.
 +      (get_default_value): Likewise.
 +      (set_constant_value): Likewise.
 +      (set_value_varying): Likewise.
 +      (valid_lattice_transition): Likewise.
 +      (set_lattice_value): Likewise.
 +      (value_to_double_int): Delete.
 +      (value_to_wide_int): New.
 +      (get_value_from_alignment): Use wide-int interfaces.
 +      (get_value_for_expr): Likewise.
 +      (do_dbg_cnt): Likewise.
 +      (ccp_finalize): Likewise.
 +      (ccp_lattice_meet): Likewise.
 +      (bit_value_unop_1): Use widest_ints rather than double_ints.
 +      (bit_value_binop_1): Likewise.
 +      (bit_value_unop): Use wide-int interfaces.
 +      (bit_value_binop): Likewise.
 +      (bit_value_assume_aligned): Likewise.
 +      (evaluate_stmt): Likewise.
 +      (ccp_fold_stmt): Likewise.
 +      (visit_cond_stmt): Likewise.
 +      (ccp_visit_stmt): Likewise.
 +      * tree-ssa-forwprop.c
 +      (forward_propagate_addr_expr_1): Use wide-int interfaces.
 +      (constant_pointer_difference): Likewise.
 +      (associate_pointerplus): Likewise.
 +      (combine_conversions): Likewise.
 +      * tree-ssa-loop.h: Include wide-int.h.
 +      (struct tree_niter_desc): Change type of max to widest_int.
 +      * tree-ssa-loop-im.c
 +      (mem_refs_may_alias_p): Use wide-int interfaces.
 +      * tree-ssa-loop-ivcanon.c
 +      (remove_exits_and_undefined_stmts): Use wide-int interfaces.
 +      (remove_redundant_iv_tests): Likewise.
 +      (canonicalize_loop_induction_variables): Likewise.
 +      * tree-ssa-loop-ivopts.c
 +      (alloc_iv): Use wide-int interfaces.
 +      (constant_multiple_of): Take a widest_int pointer instead of
 +      a double_int pointer.
 +      (get_computation_aff): Use wide-int interfaces.
 +      (ptr_difference_cost): Likewise.
 +      (difference_cost): Likewise.
 +      (get_loop_invariant_expr_id): Likewise.
 +      (get_computation_cost_at): Likewise.
 +      (iv_elimination_compare_lt): Likewise.
 +      (may_eliminate_iv): Likewise.
 +      * tree-ssa-loop-niter.h
 +      (estimated_loop_iterations): Use widest_int instead of double_int.
 +      (max_loop_iterations): Likewise.
 +      (max_stmt_executions): Likewise.
 +      (estimated_stmt_executions): Likewise.
 +      * tree-ssa-loop-niter.c: Include wide-int-print.h.
 +      (split_to_var_and_offset): Use wide-int interfaces.
 +      (determine_value_range): Likewise.
 +      (bound_difference_of_offsetted_base): Likewise.
 +      (bounds_add): Take a widest_int instead of a double_int.
 +      (number_of_iterations_ne_max): Use wide-int interfaces.
 +      (number_of_iterations_ne): Likewise.
 +      (number_of_iterations_lt_to_ne): Likewise.
 +      (assert_loop_rolls_lt): Likewise.
 +      (number_of_iterations_lt): Likewise.
 +      (number_of_iterations_le): Likewise.
 +      (number_of_iterations_cond): Likewise.
 +      (number_of_iterations_exit): Likewise.
 +      (finite_loop_p): Likewise.
 +      (derive_constant_upper_bound_assign): Likewise.
 +      (derive_constant_upper_bound): Return a widest_int.
 +      (derive_constant_upper_bound_ops): Likewise.
 +      (do_warn_aggressive_loop_optimizations): Use wide-int interfaces.
 +      (record_estimate): Take a widest_int rather than a double_int.
 +      (record_nonwrapping_iv): Use wide-int interfaces.
 +      (double_int_cmp): Delete.
 +      (wide_int_cmp): New.
 +      (bound_index): Take a widest_int rather than a double_int.
 +      (discover_iteration_bound_by_body_walk): Use wide-int interfaces.
 +      (maybe_lower_iteration_bound): Likewise.
 +      (estimate_numbers_of_iterations_loop): Likewise.
 +      (estimated_loop_iterations): Take a widest_int pointer than than
 +      a double_int pointer.
 +      (estimated_loop_iterations_int): Use wide-int interfaces.
 +      (max_loop_iterations): Take a widest_int pointer than than
 +      a double_int pointer.
 +      (max_loop_iterations_int): Use wide-int interfaces.
 +      (max_stmt_executions): Take a widest_int pointer than than
 +      a double_int pointer.
 +      (estimated_stmt_executions): Likewise.
 +      (n_of_executions_at_most): Use wide-int interfaces.
 +      (scev_probably_wraps_p): Likewise.
 +      * tree-ssa-math-opts.c
 +      (gimple_expand_builtin_pow): Update calls to real_to_integer.
 +      * tree-ssanames.c
 +      (set_range_info): Use widest_ints rather than double_ints.
 +      (get_range_info): Likewise.
 +      (set_nonzero_bits): Likewise.
 +      (get_nonzero_bits): Likewise.
 +      * tree-ssanames.h
 +      (struct range_info_def): Change type of min, max and nonzero_bits
 +      to widest_int.
 +      (set_range_info): Use widest_ints rather than double_ints.
 +      (get_range_info): Likewise.
 +      (set_nonzero_bits): Likewise.
 +      (get_nonzero_bits): Likewise.
 +      * tree-ssa-phiopt.c
 +      (jump_function_from_stmt): Use wide-int interfaces.
 +      * tree-ssa-pre.c
 +      (phi_translate_1): Use wide-int interfaces.
 +      * tree-ssa-reassoc.c
 +      (decrement_power): Use calls to real_from_integer.
 +      (acceptable_pow_call): Likewise.
 +      * tree-ssa-sccvn.c
 +      (copy_reference_ops_from_ref): Use wide-int interfaces.
 +      (vn_reference_fold_indirect): Likewise.
 +      (vn_reference_maybe_forwprop_address): Likewise.
 +      (valueize_refs_1): Likewise.
 +      * tree-ssa-structalias.c
 +      (get_constraint_for_ptr_offset): Use wide-int interfaces.
 +      * tree-ssa-uninit.c
 +      (is_value_included_in): Use wide-int interfaces.
 +      * tree-streamer-in.c
 +      (unpack_ts_base_value_fields): Use wide-int interfaces.
 +      (streamer_alloc_tree): Likewise.
 +      * tree-streamer-out.c
 +      (pack_ts_int_cst_value_fields): Use wide-int interfaces.
 +      (streamer_write_tree_header): Likewise.
 +      (streamer_write_integer_cst): Likewise.
 +      * tree-switch-conversion.c
 +      (emit_case_bit_tests): Use wide-int interfaces.
 +      (build_constructors): Likewise.
 +      (array_value_type): Likewise.
 +      * tree-vect-data-refs.c
 +      (vect_prune_runtime_alias_test_list): Use wide-int interfaces.
 +      (vect_check_gather): Likewise.
 +      * tree-vect-generic.c
 +      (build_replicated_const): Use wide-int interfaces.
 +      (expand_vector_divmod): Likewise.
 +      * tree-vect-loop.c
 +      (vect_transform_loop): Use wide-int interfaces.
 +      * tree-vect-loop-manip.c
 +      (vect_do_peeling_for_loop_bound): Use wide-int interfaces.
 +      (vect_do_peeling_for_alignment): Likewise.
 +      * tree-vect-patterns.c
 +      (vect_recog_divmod_pattern): Use wide-int interfaces.
 +      * tree-vrp.c: Include wide-int.h.
 +      (operand_less_p): Use wide-int interfaces.
 +      (extract_range_from_assert): Likewise.
 +      (vrp_int_const_binop): Likewise.
 +      (zero_nonzero_bits_from_vr): Take wide_int pointers rather than
 +      double_int pointers.
 +      (ranges_from_anti_range): Use wide-int interfaces.
 +      (quad_int_cmp): Delete.
 +      (quad_int_pair_sort): Likewise.
 +      (extract_range_from_binary_expr_1): Use wide-int interfaces.
 +      (extract_range_from_unary_expr_1): Likewise.
 +      (adjust_range_with_scev): Likewise.
 +      (masked_increment): Take and return wide_ints rather than double_ints.
 +      (register_edge_assert_for_2): Use wide-int interfaces.
 +      (check_array_ref): Likewise.
 +      (search_for_addr_array): Likewise.
 +      (maybe_set_nonzero_bits): Likewise.
 +      (union_ranges): Pass an integer of the correct type instead of
 +      using integer_one_node.
 +      (intersect_ranges): Likewise.
 +      (simplify_truth_ops_using_ranges): Likewise.
 +      (simplify_bit_ops_using_ranges): Use wide-int interfaces.
 +      (range_fits_type_p): Likewise.
 +      (simplify_cond_using_ranges): Likewise.  Take a signop rather than
 +      a bool.
 +      (simplify_conversion_using_ranges): Use wide-int interfaces.
 +      (simplify_float_conversion_using_ranges): Likewise.
 +      (vrp_finalize): Likewise.
 +      * value-prof.c
 +      (gimple_divmod_fixed_value_transform): Use wide-int interfaces.
 +      (gimple_stringops_transform): Likewise.
 +      * varasm.c
 +      (decode_addr_const): Use wide-int interfaces.
 +      (const_hash_1): Likewise.
 +      (const_rtx_hash_1): Likewise
 +      (output_constant): Likewise.
 +      (array_size_for_constructor): Likewise.
 +      (output_constructor_regular_field): Likewise.
 +      (output_constructor_bitfield): Likewise.
 +      * var-tracking.c
 +      (loc_cmp): Handle CONST_WIDE_INT.
 +      * wide-int.cc: New.
 +      * wide-int.h: New.
 +      * wide-int-print.cc: New.
 +      * wide-int-print.h: New.
 +
 +
 +ada:
 +      * gcc-interface/cuintp.c
 +      (UI_From_gnu): Use wide-int interfaces.
 +      * gcc-interface/decl.c
 +      (gnat_to_gnu_entity): Use TYPE_SIGN.
 +      (annotate_value): Use wide-int interfaces.
 +      * gcc-interface/utils.c
 +      (get_nonnull_operand): Use tree_fits_uhwi_p.
 +
 +
 +c:
 +      * c-decl.c
 +      (check_bitfield_type_and_width): Use TYPE_SIGN.
 +      (finish_enum): Use wide-int interfaces.
 +      * c-parser.c
 +      (c_parser_cilk_clause_vectorlength): Use wide-int interfaces.
 +      * c-typeck.c
 +      (build_c_cast): Use wide-int interfaces.
 +      (set_nonincremental_init_from_string): Likewise.
 +      (c_tree_equal): Likewise.
 +
 +
 +c-family:
 +      * c-ada-spec.c: Include wide-int.h.
 +      (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
 +      (dump_generic_ada_node): Use wide-int interfaces.
 +      * c-common.c: Include wide-int-print.h.
 +      (shorten_compare): Use wide-int interfaces.
 +      (pointer_int_sum): Likewise.
 +      (c_common_nodes_and_builtins): Use make_int_cst.
 +      (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
 +      (handle_alloc_size_attribute): Use wide-int interfaces.
 +      (get_nonnull_operand): Likewise.
 +      * c-format.c
 +      (get_constant): Use tree_fits_uhwi_p.
 +      * c-lex.c: Include wide-int.h.
 +      (narrowest_unsigned_type): Take a widest_int rather than two
 +      HOST_WIDE_INTs.
 +      (narrowest_signed_type): Likewise.
 +      (interpret_integer): Update accordingly.  Use wide-int interfaces.
 +      (lex_charconst): Use wide-int interfaces.
 +      * c-pretty-print.c: Include wide-int.h.
 +      (pp_c_integer_constant): Use wide-int interfaces.
 +      * cilk.c
 +      (declare_one_free_variable): Use INT_CST_LT instead of
 +      INT_CST_LT_UNSIGNED.
 +
 +
 +cp:
 +      * call.c: Include wide-int.h.
 +      (type_passed_as): Use INT_CST_LT instead of INT_CST_LT_UNSIGNED.
 +      (convert_for_arg_passing): Likewise.
 +      * class.c: Include wide-int.h.
 +      (end_of_class): Use INT_CST_LT instead of INT_CST_LT_UNSIGNED.
 +      (include_empty_classes): Likewise
 +      * cvt.c: Include wide-int.h.
 +      (ignore_overflows): Use wide_int_to_tree.
 +      * decl.c: Include wide-int.h.
 +      (check_array_designated_initializer): Use wide-int interfaces.
 +      (finish_enum_value_list): Use signop.
 +      (build_enumerator): Use wide-int interfaces.
 +      * init.c: Include wide-int.h.
 +      (build_new_1): Use wide-int interfaces.
 +      * mangle.c: Include wide-int.h.
 +      (write_integer_cst): Use wide-int interfaces.
 +      (write_array_type): Likewise.
 +      * tree.c: Include wide-int.h.
 +      (cp_tree_equal): Use wide-int interfaces.
 +      * typeck2.c: Include wide-int.h.
 +      (process_init_constructor_array): Use wide-int interfaces.
 +
 +
 +fortran:
 +      * target-memory.c: Include wide-int.h.
 +      (gfc_interpret_logical): Use wide-int interfaces.
 +      * trans-array.c: Include wide-int.h.
 +      (gfc_conv_array_initializer): Use wide-int interfaces.
 +      * trans-const.c: Include wide-int.h.
 +      (gfc_conv_string_init): Use wide-int interfaces.
 +      (gfc_conv_mpz_to_tree): Likewise.
 +      (gfc_conv_tree_to_mpz): Likewise.
 +      * trans-decl.c
 +      (gfc_can_put_var_on_stack): Use tree_fits_uhwi_p.
 +      * trans-expr.c: Include wide-int.h.
 +      (gfc_conv_cst_int_power): Use wide-int interfaces.
 +      (gfc_string_to_single_character): Likewise.
 +      (gfc_optimize_len_trim): Likewise.
 +      * trans-intrinsic.c: Include wide-int.h.
 +      (trans_this_image): Use wide-int interfaces.
 +      (gfc_conv_intrinsic_bound): Likewise.
 +      (conv_intrinsic_cobound): Likewise.
 +      * trans-types.c
 +      (gfc_init_types): Use wide-int interfaces.
 +      (gfc_get_array_type_bounds): Pass an integer of the correct type
 +      instead of using integer_one_node.
 +
 +
 +go:
 +      * go-gcc.cc
 +      (Gcc_backend::type_size): Use tree_fits_uhwi_p.
 +
 +
 +java:
 +      * boehm.c: Include wide-int.h.
 +      (mark_reference_fields): Use a wide_int mask.
 +      (get_boehm_type_descriptor): Use wide-int interfaces.
 +      * expr.c: Include wide-int.h.
 +      (build_newarray): Remove bogus "== INTEGER_CST".
 +      (expand_java_pushc): Use real_from_integer.
 +      (build_field_ref): Use INT_CST_LT instead of INT_CST_LT_UNSIGNED.
 +      * jcf-parse.c: Include wide-int.h.
 +      (get_constant): Use wide-int interfaces.
 +
 +
 +lto:
 +      * lto.c
 +      (compare_tree_sccs_1): Use wide-int interfaces.
 +      * lto-lang.c
 +      (get_nonnull_operand): Use wide-int interfaces.
 +
 +
 +objc:
 +      * objc-act.c: Include wide-int.h.
 +      (objc_decl_method_attributes): Use wide-int interfaces.
 +
 +
 +testsuite:
 +      * gcc.dg/tree-ssa/pr45427.c: Update to look for 0x0 instead of 0.
diff --cc gcc/cfgloop.c
Simple merge
Simple merge
Simple merge
diff --cc gcc/dwarf2out.c
Simple merge
diff --cc gcc/expr.c
Simple merge
diff --cc gcc/gimple.c
Simple merge
Simple merge
diff --cc gcc/omp-low.c
Simple merge
diff --cc gcc/print-rtl.c
Simple merge
diff --cc gcc/real.c
Simple merge
diff --cc gcc/real.h
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc gcc/tree-sra.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge