1. 13 Jul, 2010 5 commits
    • re PR fortran/37077 (Implement Internal Unit I/O for character KIND=4) · c7421e06
      2010-07-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libfortran/37077
      	* io/read.c: Fix comment.
      	* io/io.h (is_char4_unit): New macro.
      	* io/unit.c (get_internal_unit): Call new function open_internal4.
      	* io/unix.c (mem_alloc_r4): New function. (mem_alloc_w4): New function.
      	(mem_read4): New function, temporary stub. (mem_write4): New function.
      	(open_internal4): New function to set stream pointers to use the new
      	mem functions.
      	* io/transfer.c (write_block): Use new mem_alloc_w4 to access internal
      	units of kind=4.
      	* io/unix.h: Add prototypes for open_internal4, mem_alloc_w4, and
      	mem_alloc_r4.
      	* io/write.c (memset4): New helper function. (memcpy4): New helper
      	function. (write_default_char4): Use new helper functions.
      	(write_a): Likewise. (write_l): Likewise. (write_boz): Likewise.
      	(write_decimal): Likewise. (write_x): Likewise.
      	(write_integer): Likewise.
      	* io/write_float.def (output_float): Add code blocks to handle internal
      	unit kind=4 output utilizing gfc_char4_t pointers. (write_infnan): Use
      	new helper functions. (OUTPUT_FLOAT_FMT_G): Update this macro likewise.
      
      From-SVN: r162123
      Jerry DeLisle committed
    • re PR fortran/37077 (Implement Internal Unit I/O for character KIND=4) · c8dce2cf
      2010-07-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/37077
      	* trans-io.c (build_dt): Set common.unit to flag chracter(kind=4)
      	internal unit.
      
      From-SVN: r162122
      Jerry DeLisle committed
    • c-decl.c (finish_function): Fix typo in comment. · cc343f65
      2010-07-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	* c-decl.c (finish_function): Fix typo in comment.
      
      From-SVN: r162121
      Manuel López-Ibáñez committed
    • Silence gcc warning on min_regno. · 5676e87d
      2010-07-12  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR bootstrap/44921
      	* postreload.c (move2add_use_add3_insn): Silence gcc warning
      	on min_regno.
      
      From-SVN: r162120
      H.J. Lu committed
    • Daily bump. · f40da4d1
      From-SVN: r162119
      GCC Administrator committed
  2. 12 Jul, 2010 35 commits
    • tree-vrp.c (simplify_bit_ops_using_ranges): New function. · 8556f58f
      	* tree-vrp.c (simplify_bit_ops_using_ranges): New function.
      	(simplify_stmt_using_ranges): Use it.
      
      	* gcc.dg/tree-ssa/vrp53.c: New test.
      
      From-SVN: r162115
      Jakub Jelinek committed
    • spu.h (struct spu_builtin_description): Remove FNDECL member. · 8dc9f5bd
      	* config/spu/spu.h (struct spu_builtin_description): Remove FNDECL
      	member.  Do not mark as GTY(()).
      	* config/spu/spu.c (spu_builtins): Remove FNDECL initializer elements.
      	(spu_builtin_decls): New static variable.
      	(spu_builtin_decl): Use it instead of spu_builtins[].fndecl.
      	(spu_init_builtins): Likewise.
      	(spu_builtin_mul_widen_even): Likewise.
      	(spu_builtin_mul_widen_odd): Likewise.
      	(spu_builtin_mask_for_load): Likewise.
      	(spu_builtin_vec_perm): Likewise.
      	* config/spu/spu-c.c: Include "target.h".
      	(spu_resolve_overloaded_builtin): Call targetm.builtin_decl instead
      	of using spu_builtins[].fndecl.
      
      From-SVN: r162114
      Ulrich Weigand committed
    • re PR c++/44907 (SFINAE vs ambiguous base (the real one ;)) · 248ce2f8
      /cp
      2010-07-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/44907
      	* call.c (build_temp): Add tsubst_flags_t complain parameter;
      	adjust build_special_member_call call, pass complain.
      	(convert_like_real): Adjust build_temp call, pass complain.
      
      /testsuite
      2010-07-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/44907
      	* g++.dg/template/sfinae19.C: New.
      	* g++.dg/template/sfinae20.C: Likewise.
      
      From-SVN: r162113
      Paolo Carlini committed
    • mips.c (mips_override_options): Make -mflip-mips16 imply -minterlink-mips16. · ac9b0eea
      gcc/
      	* config/mips/mips.c (mips_override_options): Make -mflip-mips16
      	imply -minterlink-mips16.
      
      From-SVN: r162112
      Richard Sandiford committed
    • mips.h (mips16_globals): Declare. · 5aa62249
      gcc/
      	* config/mips/mips.h (mips16_globals): Declare.
      	(SWITCHABLE_TARGET): Define.
      	* config/mips/mips.c: Include target-globals.h.
      	(mips16_globals): New variable.
      	(mips_set_mips16_mode): Use save_target_globals and
      	restore_target_globals instead of target_reinit.
      
      From-SVN: r162111
      Richard Sandiford committed
    • reginfo.c (init_reg_sets): Don't zero globals here. · 77f55879
      gcc/
      	* reginfo.c (init_reg_sets): Don't zero globals here.  Update comment
      	to say that the function can be called more than once.
      	* target-globals.c (save_target_globals): Call init_reg_sets.
      
      From-SVN: r162110
      Richard Sandiford committed
    • Makefile.in (bb-reorder.o, [...]): Depend on bb-reorder.h · 76ee381a
      gcc/
      	* Makefile.in (bb-reorder.o, target-globals.o): Depend on bb-reorder.h
      	* bb-reorder.h: New file.
      	* bb-reorder.c (default_target_bb_reorder): New variable.
      	(this_target_bb_reorder): New conditional variable.
      	(uncond_jump_length): Redefine as a macro.
      	* target-globals.h (this_target_bb_reorder): Declare.
      	(target_globals): Add a bb_reorder field.
      	(restore_target_globals): Copy the bb_reorder field to
      	this_target_bb-reorder.
      	* target-globals.c: Include bb-reorder.h.
      	(default_target_globals): Initialize the bb_reorder field.
      	(save_target_globals): Likewise.
      
      From-SVN: r162109
      Richard Sandiford committed
    • Makefile.in (gcse.o, [...]): Depend on gcse.h.. · 7c6811fe
      gcc/
      	* Makefile.in (gcse.o, target-globals.o): Depend on gcse.h..
      	* gcse.h: New file.
      	* gcse.c: Include gcse.h.
      	(default_target_gcse): New variable.
      	(this_target_gcse): New conditional variable.
      	(can_copy): Redefine as a macro.
      	(can_copy_init_p): New macro.
      	(can_copy_p): Remove can_copy_init_p.
      	* target-globals.h (this_target_gcse): Declare.
      	(target_globals): Add a gcse field.
      	(restore_target_globals): Copy the gcse field to
      	this_target_gcse.
      	* target-globals.c: Include gcse.h.
      	(default_target_globals): Initialize the gcse field.
      	(save_target_globals): Likewise.
      
      From-SVN: r162108
      Richard Sandiford committed
    • ira-int.h (target_ira_int): Add x_ira_prohibited_mode_move_regs and... · 15e7b94f
      gcc/
      	* ira-int.h (target_ira_int): Add x_ira_prohibited_mode_move_regs
      	and x_ira_prohibited_mode_move_regs_initialized_p.
      	(ira_prohibited_mode_move_regs): Redefine as a macro.
      	* ira.c (ira_prohibited_mode_move_regs): Delete.
      	(ira_prohibited_mode_move_regs_initialized_p): Redefine as a macro.
      
      From-SVN: r162107
      Richard Sandiford committed
    • reload.h (target_reload): Add x_cached_reg_save_code and x_cached_reg_restore_code. · cc14227f
      gcc/
      	* reload.h (target_reload): Add x_cached_reg_save_code and
      	x_cached_reg_restore_code.
      	* caller-save.c (cached_reg_save_code, cached_reg_restore_code):
      	Redefine as macros.
      
      From-SVN: r162106
      Richard Sandiford committed
    • Makefile.in (target-globals.o): Depend on builtins.h. · fa19795e
      gcc/
      	* Makefile.in (target-globals.o): Depend on builtins.h.
      	* builtins.h: New file.
      	* builtins.c: Include builtins.h.
      	(default_target_builtins): New variable.
      	(this_target_builtins): New conditional variable.
      	(apply_args_mode, apply_result_mode): Redefine as macros.
      	* target-globals.h (this_target_builtins): Declare.
      	(target_globals): Add a builtins field.
      	(restore_target_globals): Copy the builtins field to
      	this_target_builtins.
      	* target-globals.c: Include builtins.h.
      	(default_target_globals): Initialize the builtins field.
      	(save_target_globals): Likewise.
      
      From-SVN: r162105
      Richard Sandiford committed
    • gcc/ · c371bb73
      	* expmed.h (alg_code, mult_cost, MULT_COST_LESS, CHEAPER_MULT_COST)
      	(algorithm, alg_hash_entry, NUM_ALG_HASH_ENTRIES, alg_hash): Moved
      	from expmed.c.
      	(target_expmed): Add x_alg_hash and x_alg_hash_used_p.
      	(alg_hash, alg_hash_used_p): New macros.
      	* expmed.c (init_expmed): Clear alg_hash if reinitializing.
      	(alg_code, mult_cost, MULT_COST_LESS, CHEAPER_MULT_COST, algorithm)
      	(alg_hash_entry, NUM_ALG_HASH_ENTRIES, alg_hash): Moved to expmed.h.
      
      From-SVN: r162104
      Richard Sandiford committed
    • ira-int.h (target_ira_int): Add x_max_struct_costs_size... · aa1c5d72
      gcc/
      	* ira-int.h (target_ira_int): Add x_max_struct_costs_size, x_init_cost,
      	x_temp_costs, x_op_costs, x_this_op_costs and x_cost_classes.
      	* ira-costs.c (max_struct_costs_size, init_cost, temp_costs, op_costs)
      	(this_op_costs, costs_classes): Redefine as macros.
      	(record_reg_classes): Don't take op_costs as a parameter.
      	(record_operand_costs): Likewise.  Update calls to record_reg_classes.
      	(scan_one_insn): Update call to record_operand_costs.
      
      From-SVN: r162103
      Richard Sandiford committed
    • Makefile.in (target-globals.o): Depend on $(IRA_INT_H). · afcc66c4
      gcc/
      	* Makefile.in (target-globals.o): Depend on $(IRA_INT_H).
      	* ira-int.h (ira_max_nregs, ira_important_class_nums): Delete.
      	(target_ira_int): New structure.
      	(default_target_ira_int): Declare.
      	(this_target_ira_int): Declare as a variable or define as a macro.
      	(ira_reg_mode_hard_regset, ira_register_move_cost)
      	(ira_may_move_in_cost, ira_may_move_out_cost, ira_class_subset_p)
      	(ira_non_ordered_class_hard_regs, ira_class_hard_reg_index)
      	(prohibited_class_mode_regs, ira_important_classes_num)
      	(ira_important_classes, ira_reg_class_intersect)
      	(ira_reg_classes_intersect_p, ira_reg_class_super_classes)
      	(ira_reg_class_union): Redefine as macros.
      	* ira.h (target_ira): New structure.
      	(default_target_ira): Declare.
      	(this_target_ira): Declare as a variable or define as a macro.
      	(ira_available_class_regs, ira_hard_regno_cover_class)
      	(ira_reg_class_cover_size, ira_reg_class_cover, ira_class_translate)
      	(ira_reg_class_nregs, ira_memory_move_cost, ira_class_hard_regs)
      	(ira_class_hard_regs_num): Redefine as macros.
      	* ira.c (default_target_ira, default_target_ira_int): New variables.
      	(this_target_ira, this_target_ira_int): New conditional variables.
      	(ira_reg_mode_hard_regset, ira_memory_move_cost)
      	(ira_register_move_cost, ira_may_move_in_cost, ira_may_move_out_cost)
      	(ira_class_subset_p): Delete.
      	(no_unit_alloc_regs): Redefine as a macro.
      	(ira_class_hard_regs, ira_non_ordered_class_hard_regs)
      	(ira_class_hard_regs_num, ira_class_hard_reg_index)
      	(ira_available_class_regs): Delete.
      	(alloc_reg_class_subclasses): Redefine as a macro.
      	(ira_reg_class_cover_size, ira_reg_class_cover)
      	(ira_important_classes_num, ira_important_classes)
      	(ira_important_class_nums, ira_class_translate): Delete.
      	(cover_class_order): Document the variable's lifetime.
      	(reorder_important_classes): Don't set ira_important_class_nums.
      	(ira_reg_class_intersect, ira_reg_classes_intersect_p)
      	(ira_reg_class_super_classes, ira_reg_class_union)
      	(ira_hard_regno_cover_class, ira_reg_class_nregs, ira_max_nregs):
      	Delete.
      	(setup_reg_class_nregs): Don't set ira_max_regs.
      	(prohibited_class_mode_regs): Delete.
      	* target-globals.h (this_target_ira, this_target_ira_int): Declare.
      	(target_globals): Add ira and ira_int fields.
      	(restore_target_globals): Copy the ira field to this_target_ira
      	and the ira_int field to this_target_ira_int.
      	* target-globals.c: Include ira-int.h.
      	(default_target_globals): Initialize the ira and ira_int fields.
      	(save_target_globals): Likewise.
      
      From-SVN: r162102
      Richard Sandiford committed
    • Makefile.in (target-globals.o): Depend on $(CFGLOOP_H). · 4391924a
      gcc/
      	* Makefile.in (target-globals.o): Depend on $(CFGLOOP_H).
      	* cfgloop.h (target_cfgloop): New structure.
      	(default_target_cfgloop): Declare.
      	(this_target_cfgloop): Declare as a variable or define as a macro.
      	(target_avail_regs, target_clobbered_regs, target_res_regs)
      	(target_reg_cost, target_spill_cost): Redefine as macros.
      	* cfgloopanal.c (default_target_cfgloop): New variable.
      	(this_target_cfgloop): New conditional variable.
      	(target_avail_regs, target_clobbered_regs, target_res_regs)
      	(target_reg_cost, target_spill_cost): Delete.
      	* target-globals.h (this_target_cfgloop): Declare.
      	(target_globals): Add a cfgloop field.
      	(restore_target_globals): Copy the cfgloop field to
      	this_target_cfgloop.
      	* target-globals.c: Include cfgloop.h.
      	(default_target_globals): Initialize the cfgloop field.
      	(save_target_globals): Likewise.
      
      From-SVN: r162101
      Richard Sandiford committed
    • regs.h (target_regs): Add x_direct_load, x_direct_store and x_float_extend_from_mem. · 9d86796b
      gcc/
      	* regs.h (target_regs): Add x_direct_load, x_direct_store and
      	x_float_extend_from_mem.
      	(direct_load, direct_store, float_extend_from_mem): New macros.
      	* expr.c (direct_load, direct_store, float_extend_from_mem): Delete.
      
      From-SVN: r162100
      Richard Sandiford committed
    • Makefile.in (LIBFUNCS_H): Add $(HASHTAB_H). · 3e9c326a
      gcc/
      	* Makefile.in (LIBFUNCS_H): Add $(HASHTAB_H).
      	(target-globals.o): Depend on $(LIBFUNCS_H).
      	* libfuncs.h: Include hashtab.h.
      	(libfunc_entry): Moved from optabs.c.
      	(target_libfuncs): New structure.
      	(default_target_libfuncs): Declare.
      	(this_target_libfuncs): Declare as a variable or define as a macro.
      	(libfunc_table): Redefine as a macro.
      	* optabs.c (default_target_libfuncs): New variable.
      	(this_target_libfuncs): New conditional variable.
      	(libfunc_table): Delete.
      	(libfunc_entry): Moved to optabs.h.
      	(libfunc_hash): Redefine as a macro.
      	(hash_libfunc, eq_libfunc): Fix comments.
      	(init_optabs): Use libfunc_hash to detect cases where the function
      	has already been called.  Clear the hash table instead of
      	recreating it.
      	* target-globals.h (this_target_libfuncs): Declare.
      	(target_globals): Add a libfuncs field.
      	(restore_target_globals): Copy the libfuncs field to
      	this_target_libfuncs.
      	* target-globals.c: Include libfuncs.h.
      	(default_target_globals): Initialize the libfuncs field.
      	(save_target_globals): Likewise.
      
      From-SVN: r162099
      Richard Sandiford committed
    • Makefile.in (LIBFUNCS_H): New variable. · 9f7f1892
      gcc/
      	* Makefile.in (LIBFUNCS_H): New variable.  Use instead of libfuncs.h
      	in all dependency lists.
      
      From-SVN: r162098
      Richard Sandiford committed
    • Makefile.in (target-globals.o): Depend on $(EXPR_H) and $(OPTABS_H). · 4bcbfa03
      gcc/
      	* Makefile.in (target-globals.o): Depend on $(EXPR_H) and $(OPTABS_H).
      	* optabs.h (target_optabs): New structure.
      	(default_target_optabs): Declare.
      	(this_target_optabs): Declare as a variable or define as a macro.
      	(optab_table, convert_optab_table, direct_optab_table): Redefine
      	as macros.
      	* optabs.c (default_target_optabs): New variable.
      	(this_target_optabs): New conditional variable.
      	(optab_table, convert_optab_table, direct_optab_table): Delete.
      	* target-globals.h (this_target_optabs): Declare.
      	(target_globals): Add a optabs field.
      	(restore_target_globals): Copy the optabs field to
      	this_target_optabs.
      	* target-globals.c: Include expr.h and optabs.h.
      	(default_target_globals): Initialize the optabs field.
      	(save_target_globals): Likewise.
      
      From-SVN: r162097
      Richard Sandiford committed
    • flags.h (target_flagstate): Add x_flag_excess_precision. · b6609375
      gcc/
      	* flags.h (target_flagstate): Add x_flag_excess_precision.
      	(flag_excess_precision): Redefine as a macro.
      	* toplev.c (flag_excess_precision): Delete.
      
      From-SVN: r162096
      Richard Sandiford committed
    • defaults.h (MAX_MOVE_MAX, [...]): Define if not defined. · bcbaaba1
      gcc/
      	* defaults.h (MAX_MOVE_MAX, MIN_UNITS_PER_WORD): Define if not defined.
      	* libgcc2.c (MIN_UNITS_PER_WORD): Delete.
      	* hard-reg-set.h (target_hard_regs): Add x_no_caller_save_reg_set.
      	(no_caller_save_reg_set): Redefine as a macro.
      	* reload.h (target_reload): Add x_caller_save_initialized_p and
      	x_regno_save_mode.
      	(caller_save_initialized_p): Redefine as a macro.
      	* caller-save.c (caller_save_initialized_p, no_caller_save_reg_set)
      	(MAX_MOVE_MAX, MIN_UNITS_PER_WORD): Delete.
      	(regno_save_mode): Redefine as a macro.
      
      From-SVN: r162095
      Richard Sandiford committed
    • Makefile.in (expmed.o, [...]): Depend on expmed.h. · 462f85ce
      gcc/
      	* Makefile.in (expmed.o, target-globals.o): Depend on expmed.h.
      	* expmed.h: New file.
      	* expmed.c (default_target_costs): New variable.
      	(this_target_costs): New conditional variable.
      	(sdiv_pow2_cheap, smod_pow2_cheap, zero_cost, add_cost, neg_cost)
      	(shift_cost, shiftadd_cost, shiftsub0_cost, shiftsub1_cost, mul_cost)
      	(sdiv_cost, udiv_cost, mul_widen_cost, mul_highpart_cost): Delete.
      	* target-globals.h (this_target_expmed): Declare.
      	(target_globals): Add a expmed field.
      	(restore_target_globals): Copy the expmed field to
      	this_target_expmed.
      	* target-globals.c: Include expmed.h.
      	(default_target_globals): Initialize the expmed field.
      	(save_target_globals): Likewise.
      
      From-SVN: r162094
      Richard Sandiford committed
    • Makefile.in (target-globals.o): Depend on reload.h. · d474db84
      gcc/
      	* Makefile.in (target-globals.o): Depend on reload.h.
      	* reload.h (target_reload): New structure.
      	(default_target_reload): Declare.
      	(this_target_reload): Declare as a variable or define as a macro.
      	(indirect_symref_ok, double_reg_address_ok): Redefine as macros.
      	* reload1.c (default_target_reload): New variable
      	(this_target_reload): New conditional variable.
      	(indirect_symref_ok, double_reg_address_ok): Delete.
      	(spill_indirect_levels): Redefine as a macro.
      	* target-globals.h (this_target_reload): Declare.
      	(target_globals): Add a reload field.
      	(restore_target_globals): Copy the reload field to
      	this_target_reload.
      	* target-globals.c: Include hard-reg-set.h.
      	(default_target_globals): Initialize the reload field.
      	(save_target_globals): Likewise.
      
      From-SVN: r162093
      Richard Sandiford committed
    • rtl.h (target_rtl): Add x_static_reg_base_value. · 7bf84454
      gcc/
      	* rtl.h (target_rtl): Add x_static_reg_base_value.
      	* alias.c (static_reg_base_value): Redefine as a macro.
      
      From-SVN: r162092
      Richard Sandiford committed
    • Makefile.in (reginfo.o): Don't depend on $(GGC_H) or gt-reginfo.h. · 360d045b
      gcc/
      	* Makefile.in (reginfo.o): Don't depend on $(GGC_H) or gt-reginfo.h.
      	(GTFILES): Remove reginfo.c.
      	* rtl.h (target_rtl): Add x_top_of_stack.
      	(top_of_stack): New macro.
      	* reginfo.c: Don't include ggc.h or gt-reginfo.h.
      	(top_of_stack): Delete.
      
      From-SVN: r162091
      Richard Sandiford committed
    • regs.h (target_regs): Add x_hard_regs_of_mode... · 55e78c8c
      gcc/
      	* regs.h (target_regs): Add x_hard_regs_of_mode, x_contains_reg_of_mode,
      	x_move_cost, x_may_move_in_cost, x_may_move_out_cost and
      	x_last_mode_for_init_move_cost.
      	(have_regs_of_mode, contains_reg_of_mode, move_cost)
      	(may_move_in_cost, may_move_out_cost): Redefine as macros.
      	* reginfo.c (have_regs_of_mode, contains_reg_of_mode, move_cost)
      	(may_move_in_cost, may_move_out_cost): Delete.
      	(last_mode_for_init_move_cost): Redefine as a macro.
      
      From-SVN: r162090
      Richard Sandiford committed
    • hard-reg-set.h (target_hard_regs): New structure. · 6642445b
      gcc/
      	* hard-reg-set.h (target_hard_regs): New structure.
      	(default_target_hard_regs): Declare.
      	(this_target_hard_regs): Declare as a variable or define as a macro.
      	(fixed_regs, fixed_reg_set, call_used_regs, call_really_used_regs)
      	(call_used_reg_set, call_fixed_reg_set, regs_invalidated_by_call)
      	(reg_alloc_order, inv_reg_alloc_order, reg_class_contents)
      	(reg_class_size, reg_class_subclasses, reg_class_subunion)
      	(reg_class_superunion, reg_names): Redefine as macros.
      	* reginfo.c (fixed_regs, fixed_reg_set, call_used_regs)
      	(call_used_reg_set, call_really_used_regs, call_fixed_reg_set)
      	(regs_invalidated_by_call, reg_alloc_order, inv_reg_alloc_order)
      	(reg_class_contents, reg_class_size, reg_class_subclasses)
      	(reg_class_subunion, reg_class_superunion, reg_names): Delete.
      	(default_target_hard_regs): New variable
      	(this_target_hard_regs, initial_call_really_used_regs)
      	(initial_reg_alloc_order): New conditional variables.
      	(initial_reg_names): New variable.
      	(init_reg_sets): Assert that initial_call_really_used_regs,
      	initial_reg_alloc_order and initial_reg_names
      	are all the same size as their variable counterparts.  Use them to
      	initialize those counterparts.
      	* target-globals.h (this_target_hard_regs): Declare.
      	(target_globals): Add a hard_regs field.
      	(restore_target_globals): Copy the hard_regs field to
      	this_target_hard_regs.
      	* target-globals.c: Include hard-reg-set.h.
      	(default_target_globals): Initialize the hard_regs field.
      	(save_target_globals): Likewise.
      
      From-SVN: r162089
      Richard Sandiford committed
    • Makefile.in (target-globals.o): Depend on $(RTL_H). · 5fb0e246
      gcc/
      	* Makefile.in (target-globals.o): Depend on $(RTL_H).
      	* rtl.h: (target_rtl): New structure.
      	(default_target_rtl): Declare.
      	(this_target_rtl): Declare as a variable or define as a macro.
      	(global_rtl, pic_offset_table_rtx, return_address_pointer_rtx):
      	Redefine as macros.
      	* emit-rtl.c (default_target_rtl): New variable.
      	(this_target_rtl): New conditional variable.
      	(global_rtl, static_regno_reg_rtx, pic_offset_table_rtx)
      	(return_address_pointer_rtx): Delete.
      	(initial_regno_reg_rtx): New macro.
      	(init_emit): Use initial_regno_reg_rtx instead of static_regno_reg_rtx.
      	(init_emit_regs): Likewise.
      	* target-globals.h (this_target_rtl): Declare.
      	(target_globals): Add a rtl field.
      	(restore_target_globals): Copy the rtl field to this_target_rtl.
      	* target-globals.c: Include rtl.h.
      	(default_target_globals): Initialize the rtl field.
      	(save_target_globals): Likewise.
      
      From-SVN: r162088
      Richard Sandiford committed
    • Makefile.in (target-globals.o): Depend on $(REGS_H). · 939dcd0d
      gcc/
      	* Makefile.in (target-globals.o): Depend on $(REGS_H).
      	* regs.h (target_reg_modes): New structure.
      	(default_target_reg_modes): Declare.
      	(this_target_reg_modes): Declare as a variable or define as a macro.
      	(hard_regno_nregs, reg_raw_mode): Redefine as macros.
      	* reginfo.c (default_target_reg_modes): New variable.
      	(this_target_reg_modes): New conditional variable.
      	(hard_regno_nregs, reg_raw_mode): Delete.
      	* target-globals.h (this_target_regs): Declare.
      	(target_globals): Add a regs field.
      	(restore_target_globals): Copy the regs field to this_target_regs.
      	* target-globals.c: Include regs.h.
      	(default_target_globals): Initialize the regs field.
      	(save_target_globals): Likewise.
      
      From-SVN: r162087
      Richard Sandiford committed
    • tm.texi.in (SWITCHABLE_TARGET): Document. · 3bd36029
      gcc/
      	* doc/tm.texi.in (SWITCHABLE_TARGET): Document.
      	* doc/tm.texi: Regenerate.
      	* Makefile.in (OBJS-common): Add target-globals.o.
      	(gtype-desc.o): Depend on $(IPA_PROP_H), $(LTO_STREAMER_H)
      	and target-globals.h.
      	(target-globals.o): New rule.
      	(GTFILES): Include $(srcdir)/target-globals.h.
      	* defaults.h (SWITCHABLE_TARGET): Define.
      	* gengtype.c (open_base_files): Add target-globals.h to the
      	list of includes.
      	* target-globals.h: New file.
      	* target-globals.c: Likewise.
      
      	* Makefile.in (target-globals.o): Depend on $(FLAGS_H).
      	* flags.h (target_flag_state): New structure.
      	(default_target_flag_state): Declare.
      	(this_target_flag_state): Declare as a variable or define as a macro.
      	(align_loops_log): Redefine as a macro.
      	(align_loops_max_skip, align_jumps_log): Likewise.
      	(align_jumps_max_skip, align_labels_log): Likewise.
      	(align_labels_max_skip, align_functions_log): Likewise.
      	* toplev.c (default_target_flag_state): New variable.
      	(this_target_flag_state): New conditional variable.
      	(align_loops_log): Delete.
      	(align_loops_max_skip, align_jumps_log): Likewise.
      	(align_jumps_max_skip, align_labels_log): Likewise.
      	(align_labels_max_skip, align_functions_log): Likewise.
      	* target-globals.h (this_target_flag_state): Declare.
      	(target_globals): Add a flag_state field.
      	(restore_target_globals): Copy the flag_state field to
      	this_target_flag_state.
      	* target-globals.c: Include flags.h.
      	(default_target_globals): Initialize the flag_state field.
      	(save_target_globals): Likewise.
      
      From-SVN: r162086
      Richard Sandiford committed
    • postreload.c (reg_symbol_ref[]): New. · 7beb0596
      	* postreload.c (reg_symbol_ref[]): New.
      	(move2add_use_add2_insn): New.
      	(move2add_use_add3_insn): New.
      	(reload_cse_move2add): Handle SYMBOL + OFFSET case.
      	(move2add_note_store): Likewise.
      
      From-SVN: r162085
      Jie Zhang committed
    • Fix comment typo. · 2bc7b00c
      From-SVN: r162084
      Joern Rennecke committed
    • re PR rtl-optimization/44752 (insn-automata.c: empty translation unit) · ea19b1ec
      	PR rtl-optimization/44752
      	* genautomata.c (main): Don't emit an empty file even if there
      	is no automaton.
      
      From-SVN: r162083
      Joern Rennecke committed
    • i386.c (ix86_sol10_return_in_memory): Rename to ix86_solaris_return_in_memory. · e2b4f103
      	* config/i386/i386.c (ix86_sol10_return_in_memory): Rename to
      	ix86_solaris_return_in_memory.
      	* config/i386-protos.h: Reflect this.
      	* config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Likewise.
      	* config/i386/sol2-10.h (SUBTARGET_RETURN_IN_MEMORY): Likewise.
      	Move ...
      	* config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): ... here.
      
      From-SVN: r162082
      Rainer Orth committed
    • expr.c (gfc_get_int_expr): Don't initialize mpfr data twice. · 04a17bb6
      2010-07-12  Mikael Morin  <mikael@gcc.gnu.org>
      
      	* expr.c (gfc_get_int_expr): Don't initialize mpfr data twice.
      	* resolve.c (build_default_init_expr): Ditto.
      
      From-SVN: r162081
      Mikael Morin committed