Commit Graph

101295 Commits

Author SHA1 Message Date
Nathan Froyd
533374223d repo.c (pending_repo): Change type to a VEC.
* repo.c (pending_repo): Change type to a VEC.
	(finish_repo): Adjust for new type of pending_repo.
	(repo_emit_p): Likewise.

From-SVN: r161598
2010-06-30 12:13:34 +00:00
Richard Guenther
501d1a703a re PR rtl-optimization/44722 (Bootstrap fails during libjava)
2010-06-30  Richard Guenther  <rguenther@suse.de>

	PR target/44722
	* config/i386/i386.md (peephole2 for fix:SSEMODEI24): Guard
	against oscillation with reverse peephole2.

From-SVN: r161597
2010-06-30 11:09:37 +00:00
H.J. Lu
ed1db00021 re PR bootstrap/44721 (Failed to bootstrap (ICE in extract_insn, at recog.c:2127))
2010-06-30  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/44721
	* config/i386/i386.md (peephole2 for arithmetic ops with memory):
	Fix last commit.

From-SVN: r161594
2010-06-30 09:47:25 +00:00
Nick Clifton
aea8fc9737 rx-modes.def: New file.
* config/rx/rx-modes.def: New file.
        * config/rx/rx.h (FIRST_PSEUDO_REGISTER): Increase to 17.
        (CC_REGNUM): Define.
        (FIXED_REGISTERS, CALL_USED_REGISTERS, REGISTER_NAMES): Add cc
        register.
        (CC_NO_CARRY, NOTICE_UPDATE_CC): Delete.
        (SELECT_CC_MODE): Define.
        * config/rx/rx.md (CC_REG): Define.  Update all patterns to use
        (reg:CC CC_REG) instead of (cc0).
        (attr "cc"): Delete.
        (cbranchsi4): Do not split compare and branch here. Instead move
        it to...
        (cbranchsi4_<code>): ... here.  New patterns.
        (cmpsi): Call rx-compare_redundant to find out if it is necessary
        to emit the compare instruction.
        * config/rx/rx.c (rx_gen-cond_branch_template): Remove tests of
        cc_status flags.
        (rx_get_stack_layout): Iterate up to before CC_REGNUM not
        FIRST_PSEUDO_REGNUM.
        (rx_expand_prologue, rx_expand_epilogue): Likewise.
        (rx_notice_update_cc): Delete.
        (rx_cc_modes_compatible): New function.
        (flags_needed_for_conditional): New function.
        (flags_from_mode): New function.
        (rx_compare_redundant): New function - scans backwards through
        insn list to find out if condition flags are already set
        correctly.
        (TARGET_CC_MODES_COMPATIBLE): Define.
        * config/rx/rx-protos.h (rx_compare_redundant): Prototype.

        * config/rx/rx.h (BRANCH_COST): Define.
        (REGISTER_MOVE_COST): Define.
        * config/rx/predicates (rx_source_operand): Allow all constant
        types.
        * config/rx/rx.md (addsi3): Add alternative for swapped operands.
        (tstsi4): New pattern.
        * config/rx/rx.c (rx_memory_move_cost): Define.
        (TARGET_MEMORY_MOVE_COST): Define.

From-SVN: r161592
2010-06-30 08:50:14 +00:00
Manuel López-Ibáñez
6662d79404 tree.h (block_may_fallthru): Declare here.
2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* tree.h (block_may_fallthru): Declare here.
	* tree-flow.h (block_may_fallthru): Do not declare here.
	* c-typeck.c: Do not include tree-flow.h. Include gimple.h and
	bitmap.h
	* Makefile.in (c-typeck.o): Update dependencies.
c-family/
	* c-gimplify.c: Do not include tree-flow.h
cp/
	* tree.c: Include gimple.h. Do not include tree-flow.h
	* decl.c: Do not include tree-flow.h
	* Make-lang.in: Adjust dependencies.
ada/
	* gcc-interface/trans.c: Do not include tree-flow.h.
	* gcc-interface/Make-lang.in: Adjust dependencies.

From-SVN: r161591
2010-06-30 07:39:21 +00:00
Jakub Jelinek
9de9cbaf4a re PR debug/44694 (Long var tracking compile time of GiNaC tests)
PR debug/44694
	* cselib.h (cselib_preserve_cfa_base_value): Add regno argument.
	* cselib.c (cfa_base_preserved_regno): New static variable.
	(cselib_reset_table): Don't reset cfa_base_preserved_regno instead
	of REGNO (cfa_base_preserved_val->locs->loc).
	(cselib_preserve_cfa_base_value): Add regno argument, set
	cfa_base_preserved_regno to it.
	(cselib_invalidate_regno): Allow removal of registers other than
	cfa_base_preserved_regno from cfa_base_preserved_val.
	(cselib_finish): Set cfa_base_preserved_regno to INVALID_REGNUM.
	* var-tracking.c (adjust_mems): Replace sp or hfp even outside
	of MEM addresses, if not on LHS.
	(reverse_op): Don't add reverse ops for cfa_base_rtx.
	(vt_init_cfa_base): Adjust cselib_preserve_cfa_base_value caller.

From-SVN: r161587
2010-06-30 08:12:22 +02:00
Jerry DeLisle
d33c89fbcf re PR libfortran/43298 (fortran library does not read in NaN -Inf or Inf)
2010-06-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/43298
	* gfortran.dg/read_infnan_1.f90: New test.

From-SVN: r161586
2010-06-30 01:38:42 +00:00
Jerry DeLisle
457bcf66d1 re PR libfortran/43298 (fortran library does not read in NaN -Inf or Inf)
2010-06-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/43298
	* io/read.c: Add code to parse and read Inf, Infinity, NaN, and Nan with
	optional parenthesis.

From-SVN: r161585
2010-06-30 01:35:56 +00:00
Nathan Froyd
0622223a32 decl.c (incomplete_var): Declare.
* decl.c (incomplete_var): Declare.  Declare VECs containing them.
	(incomplete_vars): Adjust comment.  Change type to a VEC.
	(maybe_register_incomplete_var): Adjust for new type.
	(complete_vars): Adjust iteration over incomplete_vars.

From-SVN: r161584
2010-06-30 01:26:14 +00:00
Nathan Froyd
c4ec988762 decl.c (struct named_label_entry): Change type of bad_decls field to a VEC.
* decl.c (struct named_label_entry): Change type of bad_decls field
	to a VEC.
	(poplevel_named_label_1): Adjust for new type of bad_decls.
	(check_goto): Likewise.

From-SVN: r161583
2010-06-30 01:24:53 +00:00
Jason Merrill
d758e847c4 Enable implicitly declared move constructor/operator= (N3053).
gcc/cp/
	* class.c (add_implicitly_declared_members): A class with no
	explicitly declared copy or move constructor gets both declared
	implicitly, and similarly for operator=.
	(check_bases): A type with no copy ctor does not inhibit
	a const copy ctor in a derived class.
	(check_field_decl): Likewise.
	(check_bases_and_members): A nonexistent copy ctor/op= is non-trivial.
	* tree.c (type_has_nontrivial_copy_init): Adjust semantics.
	(trivially_copyable_p): Likewise.
	* call.c (convert_like_real): Use type_has_nontrivial_copy_init.
	* class.c (finish_struct_bits): Likewise.
	* tree.c (build_target_expr_with_type): Likewise.
	* typeck2.c (store_init_value): Likewise.
libstdc++-v3/
	* include/bits/unordered_map.h: Explicitly default copy constructors.
	* include/bits/unordered_set.h: Likewise.

From-SVN: r161582
2010-06-29 20:51:44 -04:00
Jason Merrill
54ca9930b7 Enable implicitly deleted functions (N2346)
Enable implicitly deleted functions (N2346)
	* class.c (check_bases_and_members): Adjust lambda flags.
	* method.c (implicitly_declare_fn): Set DECL_DELETED_FN if appropriate.

From-SVN: r161581
2010-06-29 20:51:29 -04:00
Jason Merrill
9a71b305bf * decl2.c (mark_used): Adjust error for use of deleted function.
From-SVN: r161580
2010-06-29 20:51:13 -04:00
Jason Merrill
ac1774315c Machinery to support implicit delete/move.
* cp-tree.h: (struct lang_type_class): Add lazy_move_assign,
	has_complex_move_ctor, has_complex_move_assign bitfields.
	(CLASSTYPE_LAZY_MOVE_ASSIGN): New.
	(TYPE_HAS_COMPLEX_MOVE_ASSIGN): New.
	(TYPE_HAS_COMPLEX_MOVE_CTOR): New.
	(enum special_function_kind): Add sfk_move_assignment.
	(LOOKUP_SPECULATIVE): New.
	* call.c (build_over_call): Return early if it's set.
	(build_over_call): Use trivial_fn_p.
	* class.c (check_bases): If the base has no default constructor,
	the derived one is non-trivial.  Handle move ctor/op=.
	(check_field_decl): Likewise.
	(check_bases_and_members): Handle move ctor/op=.
	(add_implicitly_declared_members): Handle CLASSTYPE_LAZY_MOVE_ASSIGN.
	(type_has_move_constructor, type_has_move_assign): New.
	* decl.c (grok_special_member_properties): Handle move ctor/op=.
	* method.c (type_has_trivial_fn, type_set_nontrivial_flag): New.
	(trivial_fn_p): New.
	(do_build_copy_constructor): Use it.
	(do_build_assign_ref): Likewise.  Handle move assignment.
	(build_stub_type, build_stub_object, locate_fn_flags): New.
	(locate_ctor): Use locate_fn_flags.
	(locate_copy, locate_dtor): Remove.
	(get_dtor, get_default_ctor, get_copy_ctor, get_copy_assign): New.
	(process_subob_fn, synthesized_method_walk): New.
	(maybe_explain_implicit_delete): New.
	(implicitly_declare_fn): Use synthesized_method_walk,
	type_has_trivial_fn, and type_set_nontrivial_flag.
	(defaulted_late_check): Set DECL_DELETED_FN.
	(defaultable_fn_check): Handle sfk_move_assignment.
	(lazily_declare_fn): Clear CLASSTYPE_LAZY_* early.  Don't declare
	implicitly deleted move ctor/op=.
	* search.c (lookup_fnfields_1): Handle sfk_move_assignment.
	(lookup_fnfields_slot): New.
	* semantics.c (omp_clause_info_fndecl): Remove.
	(cxx_omp_create_clause_info): Use get_default_ctor, get_copy_ctor,
	get_copy_assign, trivial_fn_p.
	(trait_expr_value): Adjust call to locate_ctor.
	* tree.c (special_function_p): Handle sfk_move_assignment.

From-SVN: r161579
2010-06-29 20:50:57 -04:00
Jason Merrill
4640884658 class.c (type_has_virtual_destructor): New.
* class.c (type_has_virtual_destructor): New.
	* cp-tree.h: Declare it.
	* semantics.c (trait_expr_value): Use it.

	* call.c (build_over_call): Only give warnings with tf_warning.

	* name-lookup.c (pop_scope): Handle NULL_TREE.

From-SVN: r161578
2010-06-29 20:50:45 -04:00
Jason Merrill
066ec0a4a0 cp-tree.h (TYPE_HAS_ASSIGN_REF): Rename to TYPE_HAS_COPY_ASSIGN.
* cp-tree.h (TYPE_HAS_ASSIGN_REF): Rename to TYPE_HAS_COPY_ASSIGN.
	(TYPE_HAS_CONST_ASSIGN_REF): Rename to TYPE_HAS_CONST_COPY_ASSIGN.
	(TYPE_HAS_INIT_REF): Rename to TYPE_HAS_COPY_CTOR.
	(TYPE_HAS_CONST_INIT_REF): Rename to TYPE_HAS_CONST_COPY_CTOR.
	(TYPE_HAS_COMPLEX_ASSIGN_REF): Rename to TYPE_HAS_COMPLEX_COPY_ASSIGN.
	(TYPE_HAS_COMPLEX_INIT_REF): Rename to TYPE_HAS_COMPLEX_COPY_CTOR.
	(TYPE_HAS_TRIVIAL_ASSIGN_REF): Rename to TYPE_HAS_TRIVIAL_COPY_ASSIGN.
	(TYPE_HAS_TRIVIAL_INIT_REF): Rename to TYPE_HAS_TRIVIAL_COPY_CTOR.
	(CLASSTYPE_LAZY_ASSIGNMENT_OP): Rename to CLASSTYPE_LAZY_COPY_ASSIGN.
	(sfk_assignment_operator): Rename to sfk_copy_assignment.
	* decl.c, call.c, class.c, init.c, method.c, pt.c, ptree.c: Adjust.
	* search.c, semantics.c, tree.c: Adjust.

From-SVN: r161577
2010-06-29 20:50:34 -04:00
GCC Administrator
99453ddd87 Daily bump.
From-SVN: r161574
2010-06-30 00:17:19 +00:00
Bernd Schmidt
ee932b8fad recog.c (peep2_do_rebuild_jump_labels, [...]): New static variables.
* recog.c (peep2_do_rebuild_jump_labels, peep2_do_cleanup_cfg): New
	static variables.
	(peep2_buf_position): New static function.
	(peep2_regno_dead_p, peep2_reg_dead_p, peep2_find_free_register,
	peephole2_optimize): Use it.
	(peep2_attempt, peep2_update_life): New static functions, broken out
	of peephole2_optimize.
	(peep2_fill_buffer): New static function.
	(peephole2_optimize): Change the main loop to try to fill the buffer
	with the maximum number of insns before matching them against
	peepholes.  Use a forward scan.  Remove special case for targets with
	conditional execution.
	* genrecog.c (change_state): Delete dead code.
	* config/i386/i386.md (peephole2 for arithmetic ops with memory):
	Rewrite so as not to expect the second insn to have had a peephole
	applied yet.

From-SVN: r161570
2010-06-29 22:29:30 +00:00
Janus Weil
68d8db775f re PR fortran/44718 (Procedure-pointer name is wrongly regarded as "external procedure")
2010-06-29  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44718
	* resolve.c (is_external_proc): Prevent procedure pointers from being
	regarded as external procedures.

2010-06-29  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44718
	* gfortran.dg/proc_ptr_28.f90: New.

From-SVN: r161569
2010-06-29 23:40:38 +02:00
Nathan Froyd
4d64faec41 genhooks.c (emit_findices): Cast field precision to int.
* genhooks.c (emit_findices): Cast field precision to int.
	(emit_documentation): Likewise.

From-SVN: r161568
2010-06-29 20:54:53 +00:00
Jakub Jelinek
087fa34bad re PR tree-optimization/43801 (error: function causes a section type conflict with -fipa-cp -fipa-cp-clone)
PR tree-optimization/43801
	* cgraph.c (cgraph_create_virtual_clone): Clear DECL_SECTION_NAME
	if old_decl was DECL_ONE_ONLY.

	* g++.dg/torture/pr43801.C: New test.

From-SVN: r161564
2010-06-29 21:46:05 +02:00
Jakub Jelinek
0287000a9f re PR debug/44668 (class->DW_TAG_typedef is missing DW_AT_accessibility)
PR debug/44668
	* dwarf2out.c (add_accessibility_attribute): New function.
	(gen_subprogram_die, gen_variable_die, gen_field_die): Use it
	instead of adding DW_AT_accessibility manually.
	(gen_enumeration_type_die, gen_struct_or_union_type_die,
	gen_typedef_die): Use it.

	* g++.dg/debug/dwarf2/accessibility1.C: New test.

From-SVN: r161563
2010-06-29 21:37:46 +02:00
Jason Merrill
2d660b7f87 pt.c (dependent_scope_ref_p): Remove.
* pt.c (dependent_scope_ref_p): Remove.
	(value_dependent_expression_p): Don't call it.
	(type_dependent_expression_p): Here either.
	* init.c (build_offset_ref): Set TREE_TYPE on a qualified-id
	if the scope isn't dependent.

	* pt.c (convert_nontype_argument): Use mark_lvalue_use if we want
	a reference.

From-SVN: r161560
2010-06-29 15:29:14 -04:00
Jason Merrill
d3a79fcc3c re PR c++/44587 (ICE in instantiate_decl)
PR c++/44587
	* pt.c (has_value_dependent_address): New.
	(value_dependent_expression_p): Check it.
	(convert_nontype_argument): Likewise.  Call decay_conversion before
	folding if we want a pointer.
	* semantics.c (finish_id_expression): Don't add SCOPE_REF if the
	scope is the current instantiation.

From-SVN: r161559
2010-06-29 15:29:02 -04:00
Joern Rennecke
7ecb00a6e2 m68k.c (targetm.sched.init_global): Update comment.
* config/m68k/m68k.c (targetm.sched.init_global): Update comment.
        (targetm.sched.init): Likewise.

From-SVN: r161558
2010-06-29 20:26:56 +01:00
Douglas B Rupp
6a07b0071f vmsdbgout.c (full_name): Just output the file name if not native.
* vmsdbgout.c (full_name): Just output the file name if not native.

From-SVN: r161557
2010-06-29 19:15:12 +00:00
Douglas B Rupp
6ca4536878 vmsdbgout.c (func_table): Replace with VEC func{nam,num}_tables.
* vmsdbgout.c (func_table): Replace with VEC func{nam,num}_tables.
	(funcnam_table): New static table.
	(funcnum_table): New static table.
	(write_rtnbeg): Write value saved in funcnum_table.
	(write_rtnend): Write value saved in funcnum_table.
	(vmsdbgout_begin_function): Save current function info in
	(vmsdbgout_init): Initialize func{nam,num}_tables. Minor reformatting.
	(vmsdbgout_finish): Iterate over funcnum_table.

From-SVN: r161556
2010-06-29 19:11:47 +00:00
Joern Rennecke
e82a40fcb4 * Makefile.in (s-tm-texi): Remove stray tab / rule.
From-SVN: r161555
2010-06-29 20:09:25 +01:00
Janus Weil
0e3b941e0c re PR fortran/44696 ([OOP] ASSOCIATED fails on polymorphic variables)
2010-06-29  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44696
	* trans-intrinsic.c (gfc_conv_associated): Handle polymorphic variables
	passed as second argument of ASSOCIATED.

2010-06-29  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44696
	* gfortran.dg/associated_target_4.f90: New.

From-SVN: r161554
2010-06-29 21:06:07 +02:00
Douglas B Rupp
528b7aa42d vmsdbgout.c (vmsdbgout_begin_epilogue): Declare
* vmsdbgout.c (vmsdbgout_begin_epilogue): Declare
	(vmsdbgout_type_decl): Declare
	(vmsdbg_debug_hooks): Add entry for type_decl and begin_epilogue.
	(FUNC_EPILOGUE_LABEL): New macro
	(vmsdbgout_begin_epilogue): New function.
	(vmsdbgout_type_decl): New function.

From-SVN: r161553
2010-06-29 19:05:53 +00:00
Douglas B Rupp
cb488ce12e Committed as obvious.
* vmsdbg.h: Update copyright.

From-SVN: r161552
2010-06-29 19:04:12 +00:00
Paul Thomas
42488c1b62 re PR fortran/44582 (gfortran generates wrong results due to wrong ABI in function with array return)
2010-06-29  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/44582
	* trans-expr.c (arrayfunc_assign_needs_temporary): New function
	to determine if a function assignment can be made without a
	temporary.
	(gfc_trans_arrayfunc_assign): Move all the conditions that
	suppress the direct function call to the above new functon and
	call it.

2010-06-29  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/44582
	* gfortran.dg/aliasing_array_result_1.f90 : New test.

From-SVN: r161550
2010-06-29 18:57:43 +00:00
Douglas B Rupp
b313b165a4 vmsdbg.h (DST_K_TBG): New DST constant.
* vmsdbg.h (DST_K_TBG): New DST constant.
	* vmsdbgout.c (addr_const_to_string): Removed, not referenced.
	(write_modbeg): Cast module_language to avoid warning.
	(write_rtnbeg): Use DST_K_TBG vice magic mystery number.
	Minor reformatting.

From-SVN: r161549
2010-06-29 18:53:39 +00:00
Joern Rennecke
38f8b050ed re PR other/44034 (target hooks are hard to maintain)
gcc:
	PR other/44034
	* target.def, doc/tm.texi.in, genhooks.c: New files.
	* target.h: Instead of defining individual hook members,
	define DEFHOOKPOD / DEFHOOK / DEFHOOK_UNDOC / HOOKSTRUCT and
	include target.def.
	* target-def.h: Instead of defining individual hook initializers,
	include target-hooks-def.h.
	* df-scan.c, haifa-sched.c, sel-sched.c: Rename targetm members:
	targetm.live_on_entry -> targetm.extra_live_on_entry
	targetm.sched.md_finish ->targetm.sched.finish
	targetm.sched.md_init -> targetm.sched.init
	targetm.sched.md_init_global -> targetm.sched.init_global
	targetm.asm_out.unwind_label -> targetm.asm_out.emit_unwind_label
	targetm.asm_out.except_table_label ->
	  targetm.asm_out.emit_except_table_label
	targetm.asm_out.visibility -> targetm.asm_out.assemble_visibility
	targetm.target_help -> targetm.help
	targetm.vectorize.builtin_support_vector_misalignment ->
	  targetm.vectorize.support_vector_misalignment
	targetm.file_start_app_off -> targetm.asm_file_start_app_off
	targetm.file_start_file_directive ->
	 targetm.asm_file_start_file_directive
	* dwarf2out.c, opts.c, tree-vect-data-refs.c, except.c: Likewise.
	* varasm.c, config/alpha/alpha.c, config/cris/cris.c: Likewise.
	* gcc/config/spu/spu.c, config/ia64/ia64.c: Rename target macros:
	TARGET_VECTOR_ALIGNMENT_REACHABLE ->
	  TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE
	TARGET_SUPPORT_VECTOR_MISALIGNMENT ->
	  TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT
	TARGET_UNWIND_EMIT -> TARGET_ASM_UNWIND_EMIT
	* config/rs6000/rs6000.c, config/arm/arm.c: Likewise.
	* Makefile.in (TARGET_H): Depend on target.def.
	(TARGET_DEF_H): Depend on target-hooks-def.h.
	(target-hooks-def.h, tm.texi, s-target-hooks-def-h): New rules.
	(s-tm-texi, build/genhooks.o, build/genhooks): Likewise.
	* doc/tm.texi: Regenerate.
gcc/c-family:
	* c-common.c: Rename targetm member:
	targetm.enum_va_list -> targetm.enum_va_list_p
gcc/po:
	* EXCLUDES: Add genhooks.c.
Index: gcc/doc/tm.texi

From-SVN: r161547
2010-06-29 19:22:00 +01:00
Rainer Orth
c75c86636f * lib/lto.exp (lto_prune_warns): Also accept leading single quote.
From-SVN: r161541
2010-06-29 16:35:06 +00:00
Nathan Froyd
3fc7cd185f re PR bootstrap/44713 (Revision 161530 failed bootstrap)
PR bootstrap/44713
	* config/i386/i386.c (type_natural_mode): Const-ify CUM parameter.
	(function_arg_advance_32): Const-ify TYPE parameter.
	(function_arg_advance_64): Likewise.  Change type of NAMED to bool.
	(ix86_function_arg_advance): Change type of NAMED to bool.
	(function_arg_32): Const-ify CUM and TYPE parameters.
	(function_arg_64): Likewise.  Change type of NAMED to bool.
	(function_arg_ms_64): Const-ify CUM parameter. Change type of NAMED
	to bool.
	(ix86_function_arg): Change type of NAMED to bool.
	(ix86_setup_incoming_varargs): Call ix86_function_arg_advance.  Pass
	last argument as a bool.

From-SVN: r161540
2010-06-29 15:57:06 +00:00
Joern Rennecke
9afcc09dee ChangeLog typo fix.
From-SVN: r161539
2010-06-29 16:03:06 +01:00
Joern Rennecke
74f7912ac8 tm.texi (TARGET_OPTION_OVERRIDE): Document.
* doc/tm.texi (TARGET_OPTION_OVERRIDE): Document.
        (OVERRIDE_OPTIONS): Add note of obsolescence.
        Replace references with references to TARGET_OPTION_OVERRIDE.
        (Except for C_COMMON_OVERRIDE_OPTIONS, which remains similar to
         the macro).
        * targhooks.c (default_target_option_override): New function.
        * targhooks.h (default_target_option_override): Declare.
        * target.h (struct gcc_target): Add override member to
        target_option emmber.
        * toplev.c (process_options): Replace OVERRIDE_OPTIONS use with
        targetm.target_option.override call.
        * target-def.h (TARGET_OPTION_OVERRIDE): Define.
        (TARGET_OPTION_HOOKS): Add TARGET_OPTION_OVERRIDE.

From-SVN: r161538
2010-06-29 15:38:13 +01:00
Jan Hubicka
20a6bb5820 * tree-inline.c: Replace incomming by incomin and clonning by cloning.
From-SVN: r161537
2010-06-29 14:26:00 +00:00
Jan Hubicka
b35366ce42 predict.c (propagate_freq): Clear EXIT_BLOCK_PTR frequency if it is unreachable.
* predict.c (propagate_freq): Clear EXIT_BLOCK_PTR frequency if it is
	unreachable.
	(rebuild_frequencies): New function.
	* predict.h (rebuild_frequencies): Declare.
	* tree-inline.c (copy_cfg_body): Compute properly count & frequency of
	entry block and edge reaching new_entry.
	(tree_function_versioning): When doing partial cloning, rebuild frequencies
	when done.
	* passes.c (execute_function_todo): Use rebild_frequencies.

From-SVN: r161536
2010-06-29 14:14:15 +00:00
Richard Guenther
50b56694bb tree-dfa.c (dump_variable): Remove noalias_state dumping.
2010-06-29  Richard Guenther  <rguenther@suse.de>

	* tree-dfa.c (dump_variable): Remove noalias_state dumping.
	* tree-flow.h (enum noalias_state): Remove.
	(struct var_ann_d): Remove noalias_state member.

From-SVN: r161535
2010-06-29 14:02:23 +00:00
Bernd Schmidt
3df41baf91 Revert parts of the change for PR25130.
* cse.c (exp_equiv_p): For MEMs, if for_gcse, only compare
	MEM_ALIAS_SET.

From-SVN: r161534
2010-06-29 13:51:37 +00:00
Bernd Schmidt
810c4bf4f0 re PR target/43902 (suboptimal MIPS widening multiply accumulate)
PR target/43902
	* config/arm/arm.md (maddsidi4, umaddsidi4): New expanders.
	(maddhisi4): Renamed from mulhisi3addsi.  Operands renumbered.
	(maddhidi4): Likewise.

testsuite/
	PR target/43902
	* gcc.target/arm/wmul-1.c: Test for smlabb instead of smulbb.
	* gcc.target/arm/wmul-3.c: New test.
	* gcc.target/arm/wmul-4.c: New test.

From-SVN: r161533
2010-06-29 13:43:57 +00:00
Nathan Froyd
3c07301f6b calls.c, [...]: Call targetm.calls.function_arg...
* calls.c, dse.c, expr.c, function.c: Call targetm.calls.function_arg,
	targetm.calls.function_incoming_arg, and
	targetm.calls.function_arg_advance instead of FUNCTION_ARG,
	FUNCTION_INCOMING_ARG, and FUNCTION_ARG_ADVANCE, respectively.
	* target.h (struct gcc_target): Add function_arg_advance,
	function_arg, and function_incoming_arg fields.
	* target-def.h (TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG):
	(TARGET_FUNCTION_INCOMING_ARG): Define.
	(TARGET_CALLS): Add TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG,
	and TARGET_FUNCTION_INCOMING_ARG.
	* targhooks.h (default_function_arg_advance): Declare.
	(default_function_arg, default_function_incoming_arg): Declare.
	* targhooks.c (default_function_arg_advance): New function.
	(default_function_arg, default_function_incoming_arg): New function.
	* config/i386/i386.c (function_arg_advance): Rename to...
	(ix86_function_arg_advance): ...this.  Make static.
	(function_arg): Rename to...
	(ix86_function_arg): ...this.  Make static.
	(TARGET_FUNCTION_ARG_ADVANCE): Define.
	(TARGET_FUNCTION_ARG): Define.
	* config/i386/i386.h (FUNCTION_ARG_ADVANCE): Delete.
	(FUNCTION_ARG): Delete.
	* config/i386/i386-protos.h (function_arg_advance): Delete prototype.
	(function_arg): Delete prototype.

From-SVN: r161530
2010-06-29 12:24:04 +00:00
Nathan Froyd
0e228dd907 gigi.h (gnat_build_constructor): Take a VEC instead of a TREE_LIST.
* gcc-interface/gigi.h (gnat_build_constructor): Take a VEC instead
	of a TREE_LIST.  Update comment.
	* gcc-interface/trans.c (gigi): Build a VEC instead of a TREE_LIST.
	Adjust call to gnat_build_constructor.
	(Attribute_to_gnu): Likewise.
	(gnat_to_gnu): Likewise.
	(pos_to_constructor): Likewise.
	(extract_values): Likewise.
	* gcc-interface/utils.c (build_template): Likewise.
	(convert_vms_descriptor64): Likewise.
	(convert_vms_descriptor32): Likewise.
	(convert_to_fat_pointer): Likewise.
	(convert): Likewise.
	(unchecked_convert): Likewise.
	* gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
	* gcc-interface/utils2.c (build_allocator): Likewise.
	(fill_vms_descriptor): Likewise.
	(gnat_build_constructor): Take a VEC instead of a TREE_LIST.
	(compare_elmt_bitpos): Adjust for parameters being constructor_elts
	instead of TREE_LISTs.

From-SVN: r161529
2010-06-29 12:21:37 +00:00
Nathan Froyd
079e7538c0 reginfo.c (init_reg_sets_1): Adjust comments.
* reginfo.c (init_reg_sets_1): Adjust comments.
	* combine-stack-adj.c (rest_of_handle_stack_adjustments): Likewise.
	* calls.c (prepare_call_address): Likewise.
	(emit_call_1): Use targetm.calls.return_pops_args.
	(expand_call): Likewise.
	* function.c (assign_parms): Likewise.
	* system.h (RETURN_POPS_ARGS): Add to #pragma poison list.
	* target.h (struct gcc_target) [struct calls]: Add
	return_pops_args field.
	* targhooks.h (default_return_pops_args): Declare.
	* targhooks.c (default_return_pops_args): Define.
	* target-def.h (TARGET_RETURN_POPS_ARGS): Define.
	(TARGET_CALLS): Add TARGET_RETURN_POPS_ARGS.
	* doc/tm.texi (RETURN_POPS_ARGS): Rename to...
	(TARGET_RETURN_POPS_ARGS): ...this.  Use deftypefn.  Adjust
	documentation.
	* config/alpha/alpha.h (RETURN_POPS_ARGS): Delete.
	* config/arc/arc.h (RETURN_POPS_ARGS): Likewise.
	* config/arm/arm.h (RETURN_POPS_ARGS): Likewise.
	* config/avr/avr.h (RETURN_POPS_ARGS): Likewise.
	* config/bfin/bfin.h (RETURN_POPS_ARGS): Likewise.
	* config/cris/cris.h (RETURN_POPS_ARGS): Likewise.
	* config/crx/crx.h (RETURN_POPS_ARGS): Likewise.
	* config/fr30/fr30.h (RETURN_POPS_ARGS): Likewise.
	* config/frv/frv.h (RETURN_POPS_ARGS): Likewise.
	* config/h8300/h8300.h (RETURN_POPS_ARGS): Likewise.
	* config/ia64/ia64.h (RETURN_POPS_ARGS): Likewise.
	* config/iq2000/iq2000.h (RETURN_POPS_ARGS): Likewise.
	* config/lm32/lm32.h (RETURN_POPS_ARGS): Likewise.
	* config/m32c/m32c.h (RETURN_POPS_ARGS): Likewise.
	* config/m32r/m32r.h (RETURN_POPS_ARGS): Likewise.
	* config/m68hc11/m68hc11.h (RETURN_POPS_ARGS): Likewise.
	* config/mcore/mcore.h (RETURN_POPS_ARGS): Likewise.
	* config/mep/mep.h (RETURN_POPS_ARGS): Likewise.
	* config/mips/mips.h (RETURN_POPS_ARGS): Likewise.
	* config/mmix/mmix.h (RETURN_POPS_ARGS): Likewise.
	* config/mn10300/mn10300.h (RETURN_POPS_ARGS): Likewise.
	* config/moxie/moxie.h (RETURN_POPS_ARGS): Likewise.
	* config/pa/pa.h (RETURN_POPS_ARGS): Likewise.
	* config/pdp11/pdp11.h (RETURN_POPS_ARGS): Likewise.
	* config/picochip/picochip.h (RETURN_POPS_ARGS): Likewise.
	* config/rs6000/rs6000.h (RETURN_POPS_ARGS): Likewise.
	* config/rx/rx.h (RETURN_POPS_ARGS): Likewise.
	* config/s390/s390.h (RETURN_POPS_ARGS): Likewise.
	* config/score/score.h (RETURN_POPS_ARGS): Likewise.
	* config/sh/sh.h (RETURN_POPS_ARGS): Likewise.
	* config/sparc/sparc.h (RETURN_POPS_ARGS): Likewise.
	* config/spu/spu.h (RETURN_POPS_ARGS): Likewise.
	* config/stormy16/stormy16.h (RETURN_POPS_ARGS): Likewise.
	* config/v850/v850.h (RETURN_POPS_ARGS): Likewise.
	* config/xtensa/xtensa.h (RETURN_POPS_ARGS): Likewise.
	* config/i386/i386-protos.h (ix86_return_pops_args): Delete.
	* config/i386/i386.h (RETURN_POPS_ARGS): Delete.
	* config/i386/i386.c (ix86_return_pops_args): Make static.
	Constify arguments.
	(TARGET_RETURN_POPS_ARGS): Define.
	* config/m68k/m68k.h (RETURN_POPS_ARGS): Move to...
	* config/m68k/m68k.c (m68k_return_pops_args): ...here.  New function.
	(TARGET_RETURN_POPS_ARGS): Define.
	* config/vax/vax.h (RETURN_POPS_ARGS): Move to...
	* config/vax/vax.c (vax_return_pops_args): ...here.  New function.
	(TARGET_RETURN_POPS_ARGS): Define.

From-SVN: r161528
2010-06-29 12:18:36 +00:00
Richard Guenther
ea184343e7 re PR tree-optimization/44667 (ICE: verify_stmts failed: non-trivial conversion at assignment with -fprofile-generate)
2010-06-29  Richard Guenther  <rguenther@suse.de>

	PR middle-end/44667
	* tree-inline.c (initialize_inlined_parameters): Make sure
	to remap the inlined parameter variable substitutions types.

From-SVN: r161527
2010-06-29 12:12:10 +00:00
Paolo Carlini
6ff7e96435 re PR libstdc++/44708 (Enabling -std=c++0x results in ambiguous function overload in <ext/algorithm> header)
2010-06-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/44708
	* include/ext/algorithm (copy_n): Qualify __copy_n call with
	__gnu_cxx::
	* testsuite/ext/rope/44708.cc: New.

From-SVN: r161524
2010-06-29 10:03:36 +00:00
Eric Botcazou
5dfebe0a55 re PR rtl-optimization/44659 (Combiner fails to match QI cmp patterns with upper 8bit register)
PR rtl-optimization/44659
	* combine.c (make_compound_operation) <SUBREG>: Do not return the
	result of force_to_mode if it partially re-expanded the compound.

From-SVN: r161523
2010-06-29 09:24:34 +00:00
GCC Administrator
4f036d9b3f Daily bump.
From-SVN: r161521
2010-06-29 00:17:05 +00:00