Commit Graph

109439 Commits

Author SHA1 Message Date
Jason Merrill
d784c0d6e6 ref_neg.cc: Remove dg-excess-errors, fix dg-error markup.
2011-06-10  Jason Merrill  <jason@redhat.com>

	* testsuite/20_util/bind/ref_neg.cc: Remove dg-excess-errors,
	fix dg-error markup.

From-SVN: r174906
2011-06-10 13:47:55 +00:00
Jan Hubicka
f1724940a9 ipa-cp.c (ipcp_process_devirtualization_opportunities): Update call of gimple_get_virt_method_for_binfo.
* ipa-cp.c (ipcp_process_devirtualization_opportunities):
	Update call of gimple_get_virt_method_for_binfo.
	* gimple-fold.c (gimple_get_virt_method_for_binfo): Remove
	refuse_thunks parameter.
	(gimple_fold_call): Update.
	* ipa-prop.c (try_make_edge_direct_virtual_call): Update.

From-SVN: r174905
2011-06-10 13:24:30 +00:00
Jan Hubicka
a6f834c5a8 tree-sra.c (all_callers_have_enough_arguments_p): Rename to ...
* tree-sra.c (all_callers_have_enough_arguments_p): Rename to ...
	(not_all_callers_have_enough_arguments_p): ... this one; turn into
	worker for cgraph_for_node_and_aliases.
	(convert_callers_for_node): Break out from ...
	(convert_callers): ... here.
	(modify_function): Use collect_callers_of_node.
	(ipa_early_sra): Use cgraph_for_node_and_aliases.

From-SVN: r174904
2011-06-10 12:53:48 +00:00
Richard Guenther
7871eee372 re PR tree-optimization/49361 (Huge 470.lbm regression)
2011-06-10  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/49361
	* fold-const.c (fold_binary_loc): Only fold x * x to pow (x, 2.0)
	when not already in gimple form.

From-SVN: r174903
2011-06-10 12:19:30 +00:00
Richard Guenther
dae957ae75 re PR bootstrap/49344 (ICE in tree-flow-inline.h:745 while bootstrap)
2011-06-10  Richard Guenther  <rguenther@suse.de>

	PR bootstrap/49344
	* tree-ssa-math-opts.c (convert_mult_to_fma): Use
	FOR_EACH_PHI_OR_STMT_USE.

From-SVN: r174902
2011-06-10 12:18:55 +00:00
Jan Hubicka
a5b1779f81 ipa-inline-transform.c (can_remove_node_now_p): Move out of...
* ipa-inline-transform.c (can_remove_node_now_p): Move out of...
	(clone_inlined_nodes): ... here.
	(inline_call): Use cgraph_function_or_thunk_node; redirect edge
	to real destination prior inlining.
	* ipa-inline.c (caller_growth_limits, can_inline_edge_p,
	can_early_inline_edge_p, want_early_inline_function_p,
	want_early_inline_function_p, want_inline_small_function_p,
	want_inline_self_recursive_call_p, want_inline_function_called_once_p,
	edge_badness, update_all_callee_keys, lookup_recursive_calls,
	add_new_edges_to_heap, inline_small_functions, flatten_function,
	inline_always_inline_functions, early_inline_small_functions): Use
	cgraph_function_or_thunk_node.
	* ipa-inline-analysis.c (evaluate_conditions_for_edge,
	dump_inline_edge_summary, estimate_function_body_sizes): Likewise.
	(do_estimate_edge_growth_1): Break out from ...
	(do_estimate_growth) ... here; walk aliases.
	(inline_generate_summary): Skip aliases.

From-SVN: r174901
2011-06-10 11:43:01 +00:00
Richard Guenther
c1ae3ca5d8 tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Scan stmts forward when combining, visit inserted stmts when a stmt was changed.
2011-06-10  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-forwprop.c (ssa_forward_propagate_and_combine):
	Scan stmts forward when combining, visit inserted stmts when
	a stmt was changed.

From-SVN: r174900
2011-06-10 11:38:14 +00:00
Paolo Carlini
b504a91833 cp-tree.h (error_operand_p): Remove.
/gcc/cp
2011-06-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* cp-tree.h (error_operand_p): Remove.

/gcc
2011-06-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* tree.h (error_operand_p): Add.
	* dbxout.c (dbxout_type_fields): Use the latter.
	* c-decl.c (add_stmt): Likewise.
	* gimplify.c (omp_add_variable, omp_notice_variable,
	gimplify_scan_omp_clauses): Likewise.

From-SVN: r174899
2011-06-10 11:08:14 +00:00
Georg-Johann Lay
3f5ea9dc58 avr.c (avr_function_arg_advance): Fix thinko about when a value is actually passed in regs.
* config/avr/avr.c (avr_function_arg_advance): Fix thinko about
	when a value is actually passed in regs.

From-SVN: r174898
2011-06-10 11:06:36 +00:00
Eric Botcazou
b11b09048d invoke.texi (SPARC options): Add -mflat.
gcc/
	* doc/invoke.texi (SPARC options): Add -mflat.
	* config/sparc/sparc.opt: Likewise.
	* config/sparc/sparc-protos.h (sparc_expand_epilogue): Add parameter.
	(sparc_flat_expand_prologue): Declare.
	(sparc_flat_expand_epilogue): Likewise.
	* config/sparc/sparc.h (CPP_CPU_SPEC): Do not handle -msoft-float.
	(CPP_ENDIAN_SPEC): Replace with...
	(CPP_OTHER_SPEC): ...this.  Also handle -mflat and -msoft-float.
	(CPP_SPEC): Adjust to above change.
	(EXTRA_SPECS): Likewise.
	(SPARC_INCOMING_INT_ARG_FIRST): Add TARGET_FLAT handling.
	(INCOMING_REGNO): Likewise.
	(OUTGOING_REGNO): Likewise.
	(LOCAL_REGNO): Likewise.
	(SETUP_FRAME_ADDRESSES): Likewise.
	(FIXED_REGISTERS): Set 0 for %fp.
	(CALL_USED_REGISTERS): Likewise.
	(INITIAL_ELIMINATION_OFFSET): Pass current_function_is_leaf.
	(EXIT_IGNORE_STACK): Define to 1 unconditionally.
	(RETURN_ADDR_REGNUM): Define.
	(RETURN_ADDR_RTX): Use it.
	(INCOMING_RETURN_ADDR_REGNUM): Define.
	(INCOMING_RETURN_ADDR_RTX): Use it.
	(DWARF_FRAME_RETURN_COLUMN): Likewise.
	(EH_RETURN_REGNUM): Define.
	(EH_RETURN_STACKADJ_RTX): Use it.
	(EH_RETURN_HANDLER_RTX): Delete.
	(EPILOGUE_USES): Use them and add TARGET_FLAT handling.
	* config/sparc/sparc.c (apparent_fsize, actual_fsize, num_gfregs):
	Delete.
	(struct machine_function): Add frame_size, apparent_frame_size,
	frame_base_reg, frame_base_offset, n_global_fp_regs and
	save_local_in_regs_p fields.
	(sparc_frame_size, sparc_apparent_frame_size, sparc_frame_base_reg,
	sparc_frame_base_offset, sparc_n_global_fp_regs,
	sparc_save_local_in_regs_p): New macros.
	(sparc_option_override): Error out if -fcall-saved-REG is specified
	for Out registers.
	(eligible_for_restore_insn): Fix formatting.
	(eligible_for_return_delay): Likewise.  Add TARGET_FLAT handling.
	(eligible_for_sibcall_delay): Likewise.
	(RTX_OK_FOR_OFFSET_P, RTX_OK_FOR_OLO10_P): Add MODE parameter.
	(sparc_legitimate_address_p): Adjust to above change.
	(save_global_or_fp_reg_p): New predicate.
	(return_addr_reg_needed_p): Likewise.
	(save_local_or_in_reg_p): Likewise.
	(sparc_compute_frame_size): Use them.  Add TARGET_FLAT handling.
	(SORR_SAVE, SORR_RESTORE): Delete.
	(sorr_pred_t): New typedef.
	(sorr_act_t): New enum.
	(save_or_restore_regs): Rename to...
	(emit_save_or_restore_regs): ...this.  Change type of LOW and HIGH
	parameters, remove ACTION parameter, add LEAF_FUNCTION_P, SAVE_P,
	ACTION_TRUE and ACTION_FALSE parameters.  Implement more general
	mechanism.  Add CFI information for double-word saves in 32-bit mode.
	(emit_adjust_base_to_offset): New function extracted from...
	(emit_save_or_restore_regs): ...this.  Rename the rest to...
	(emit_save_or_restore_regs_global_fp_regs): ...this.
	(emit_save_or_restore_regs_local_in_regs): New function.
	(gen_create_flat_frame_[123]): New functions.
	(sparc_expand_prologue): Use SIZE local variable.  Adjust.
	(sparc_flat_expand_prologue): New function.
	(sparc_asm_function_prologue): Add TARGET_FLAT handling.
	(sparc_expand_epilogue): Use SIZE local variable.  Adjust.
	(sparc_flat_expand_epilogue): New function.
	(sparc_can_use_return_insn_p): Add TARGET_FLAT handling.
	(output_return): Likewise.
	(output_sibcall): Likewise.
	(sparc_output_mi_thunk): Likewise.
	(sparc_frame_pointer_required): Likewise.
	(sparc_conditional_register_usage): If TARGET_FLAT, disable the leaf
	function optimization.
	* config/sparc/sparc.md (flat): New attribute.
	(prologue): Add TARGET_FLAT handling.
	(save_register_window): Disable if TARGET_FLAT.
	(create_flat_frame_[123]): New patterns.
	(epilogue): Add TARGET_FLAT handling.
	(sibcall_epilogue): Likewise.
	(eh_return): New expander.
	(eh_return_internal): New insn and splitter.
	(return_internal): Add TARGET_FLAT handling.
	(untyped_return): Remove bogus test and use RETURN_ADDR_REGNUM.
	(save_stack_nonlocal): Use RETURN_ADDR_REGNUM.
	(nonlocal_goto): Add TARGET_FLAT handling.
	* config/sparc/t-elf: Add -mflat multilib.
	* config/sparc/t-leon: Likewise.
libgcc/
	* config/sparc/linux-unwind.h (STACK_BIAS): Define.
	(sparc64_fallback_frame_state): Use it.
	(sparc64_frob_update_context): Further adjust context.
	* config/sparc/sol2-unwind.h (sparc64_frob_update_context): Likewise.
	* config/sparc/sol2-ci.S: Add TARGET_FLAT handling.
	* config/sparc/sol2-cn.S: Likewise.

Co-Authored-By: Laurent Rougé <laurent.rouge@menta.fr>

From-SVN: r174897
2011-06-10 10:50:20 +00:00
Daniel Carrera
f5c01f5bde trans-decl.c (gfc_build_builtin_function_decls): Updated declaration of caf_sync_all and caf_sync_images.
gcc/fortran/
2011-06-10  Daniel Carrera  <dcarrera@gmail.com>

        * trans-decl.c (gfc_build_builtin_function_decls):
        Updated declaration of caf_sync_all and caf_sync_images.
        * trans-stmt.c (gfc_trans_sync): Function
        can now handle a "stat" variable that has an integer type
        different from integer_type_node.

libgfortran/
2011-06-10  Daniel Carrera  <dcarrera@gmail.com>

        * caf/mpi.c (_gfortran_caf_sync_all,
        _gfortran_caf_sync_images): Functions have void return type
        and move status into parameter list.
        * caf/single.c (_gfortran_caf_sync_all,
        _gfortran_caf_sync_images): Functions have void return type
        and move status into parameter list.
        * caf/libcaf.h (_gfortran_caf_sync_all,
        _gfortran_caf_sync_images): Functions have void return type
        and move status into parameter list.

gcc/testsuite/
2011-06-10  Daniel Carrera  <dcarrera@gmail.com>

        * gfortran.dg/coarray/sync_1.f90: New test for
        "SYNC ALL", "SYNC MEMORY" and "SYNC IMAGES".

From-SVN: r174896
2011-06-10 12:22:24 +02:00
Jan Hubicka
fede8efad0 ipa-utils.c (searchc): Use cgraph_function_or_thunk_node.
* ipa-utils.c (searchc): Use cgraph_function_or_thunk_node.
	* ipa-pure-const.c (analyze_function): Aliases don't need analysis.
	(self_recursive_p): Use cgraph_function_node.
	(propagate_pure_const): Likewise.
	(propagate_nothrow): Likewise.
	* ipa-reference.c (ipa_reference_get_not_read_global): Use
	cgraph_function_node.
	(propagate_bits): Likewise.
	(propagate): Likewise.

From-SVN: r174895
2011-06-10 10:15:30 +00:00
Ramana Radhakrishnan
0127c76f61 Use mvn properly and consolidate movdi patterns.
2011-06-10  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
	    Richard Earnshaw  <rearnsha@arm.com>

	* config/arm/arm.c (const_ok_for_op): Check to see
	if mvn can be used.
	* config/arm/vfp.md (*arm_movdi_vfp): Delete.
	(*thumb2_movdi_vfp): Delete.
	(*arm_movdi_vfp_cortexa8): Delete.
	(*movdi_vfp): Consolidate from *arm_movdi_vfp and *thumb2_movdi_vfp.
	(*movdi_vfp_cortexa8): Likewise.

Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>

From-SVN: r174894
2011-06-10 10:12:40 +00:00
Richard Guenther
f93fe5a0e6 stor-layout.c (initialize_sizetypes): Give names to all sizetype kinds.
2011-06-10  Richard Guenther  <rguenther@suse.de>

	* stor-layout.c (initialize_sizetypes): Give names to all
	sizetype kinds.

From-SVN: r174893
2011-06-10 08:38:40 +00:00
Richard Guenther
d7fc8c140e c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier to print a IDENTIFIER_NODE.
2011-06-10  Richard Guenther  <rguenther@suse.de>

	c-family/
	* c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
	to print a IDENTIFIER_NODE.

From-SVN: r174892
2011-06-10 08:37:57 +00:00
Ira Rosen
f2164f876f re PR tree-optimization/49318 (177.mesa in SPEC CPU 2000 failed to build)
PR tree-optimization/49318
        * tree-vect-loop.c (vect_determine_vectorization_factor):
        Remove irrelevant pattern statements.

From-SVN: r174891
2011-06-10 07:19:28 +00:00
David Krauss
6904f4b401 re PR c++/49118 (Endless operator-> chain causes infinite loop)
PR c++/49118
	* typeck2.c (build_x_arrow): Push fake template context
	to produce diagnostic on acyclic endless operator-> drill-down.
	* call.c (build_new_op): Change Boolean overload status
	value to a pointer to the overload function.
	* cp-tree.h: Likewise.
	* typeck.c: Likewise.
	* parser.c: Likewise.
	* decl2.c: Likewise.
	* pt.c: Likewise.

From-SVN: r174889
2011-06-10 01:18:36 -04:00
Jason Merrill
0dbe377735 prune.exp: Prune "note"s.
* lib/prune.exp: Prune "note"s.
	* g++.dg/uninit-pred-3_b.C: Remove dg-excess-errors.

	* g++.dg/ext/injected-ttp.C: Specify -std=c++98.
	* g++.dg/template/dependent-expr3.C: Likewise.
	* g++.dg/parse/template7.C: Likewise.
	* g++.old-deja/g++.bugs/900119_01.C: Likewise.
	* g++.old-deja/g++.jason/rfg10.C: Likewise.
	* g++.old-deja/g++.pt/friend38.C: Likewise.
	* g++.old-deja/g++.pt/crash32.C: Likewise.
	* g++.old-deja/g++.other/init4.C: Likewise.
	* g++.old-deja/g++.other/friend8.C: Likewise.

	* g++.dg/ext/complex7.C: Adjust expected output.
	* g++.dg/diagnostic/method1.C: Likewise.
	* g++.dg/parse/parameter-declaration-2.C: Likewise.
	* g++.dg/parse/crash33.C: Likewise.
	* g++.dg/other/warning1.C: Likewise.
	* g++.dg/init/pr29571.C: Likewise.
	* g++.dg/warn/overflow-warn-1.C: Likewise.
	* g++.dg/warn/overflow-warn-3.C: Likewise.
	* g++.dg/warn/overflow-warn-4.C: Likewise.
	* g++.old-deja/g++.oliva/template1.C: Likewise.

From-SVN: r174886
2011-06-09 23:56:17 -04:00
Jason Merrill
793fbf0b48 * semantics.c (maybe_constant_value): Handle overflowed input.
From-SVN: r174885
2011-06-09 23:56:08 -04:00
Jason Merrill
377a536430 prune.exp (libstdc++-dg-prune): Prune notes.
* testsuite/lib/prune.exp (libstdc++-dg-prune): Prune notes.
	* testsuite/20_util/duration/cons/1_neg.cc: Remove dg-excess-errors.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
	* testsuite/20_util/forward/1_neg.cc: Likewise.
	* testsuite/20_util/function/cmp/cmp_neg.cc: Likewise.
	* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
	* testsuite/20_util/reference_wrapper/ref_neg.cc: Likewise.
	* testsuite/20_util/tuple/comparison_operators/35480_neg.cc: Likewise.
	* testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc: Likewise.
	* testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
	* testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
	* testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc: Likewise.
	* testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc: Likewise.
	* testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc: Likewise.
	* testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise.
	* testsuite/23_containers/map/operators/1_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: Likewise.
	* testsuite/decimal/mixed-mode-arith_neg.cc: Likewise.
	* testsuite/decimal/mixed-mode-cmp_neg.cc: Likewise.
	* testsuite/decimal/operator_neg.cc: Likewise.

From-SVN: r174884
2011-06-09 23:56:00 -04:00
Jason Merrill
b82972cae2 * pt.c (build_non_dependent_expr): Use fold_non_dependent_expr_sfinae.
From-SVN: r174883
2011-06-09 23:55:48 -04:00
Jason Merrill
b1623cc545 parser.c (cp_parser_constant_expression): Just return the non-constant expression.
* parser.c (cp_parser_constant_expression): Just return the
	non-constant expression.

From-SVN: r174882
2011-06-09 23:55:41 -04:00
Jason Merrill
8c53f5e2fa * semantics.c (finish_compound_literal): Set TREE_HAS_CONSTRUCTOR.
From-SVN: r174881
2011-06-09 23:55:33 -04:00
Hans-Peter Nilsson
3d223145a5 * system.h (SETJMP_VIA_SAVE_AREA): Poison.
From-SVN: r174880
2011-06-10 03:28:19 +00:00
Hans-Peter Nilsson
3f91c962fd re PR bootstrap/49354 (bootstrap failure)
PR bootstrap/49354
	* ira-costs.c (setup_regno_cost_classes_by_mode): Add missing cast
	to last assignment.

From-SVN: r174878
2011-06-10 01:04:34 +00:00
Jan Hubicka
b125ad45da cgraphunit.c (cgraph_reset_node): Do not set redefined_extern_inline; do not recompute reachable flag.
* cgraphunit.c (cgraph_reset_node): Do not set redefined_extern_inline;
	do not recompute reachable flag.
	(cgraph_finalize_function, cgraph_analyze_functions): Set
	redefined_extern_inline here.

From-SVN: r174877
2011-06-10 00:31:19 +00:00
GCC Administrator
5d4c7c5f6b Daily bump.
From-SVN: r174876
2011-06-10 00:18:05 +00:00
Jan Hubicka
be330ed46a cgraph.h (cgraph_only_called_directly_or_aliased_p): Rename from ...
* cgraph.h (cgraph_only_called_directly_or_aliased_p): Rename from ...
	(cgraph_only_called_directly_p): ... this one; bring offline.
	(resolution_used_from_other_file_p, cgraph_used_from_object_file_p,
	varpool_used_from_object_file_p): Drop names from the declaratoin.
	(cgraph_for_node_thunks_and_aliases, cgraph_for_node_and_aliases,
	collect_callers_of_node): New.
	(cgraph_function_node, cgraph_function_or_thunk_node): New functions.
	(cgraph_edge_recursive_p): Use cgraph_function_node.
	* cgraph.c (cgraph_add_thunk): Check that thunk is not already alias.
	(cgraph_node_cannot_be_local_p_1): Break out from ...
	(cgraph_node_can_be_local_p): ... here; walk aliases.
	(cgraph_for_node_thunks_and_aliases): New function.
	(cgraph_for_node_and_aliases): New function.
	(cgraph_make_node_local_1): Break out from ...
	(cgraph_make_node_local) ... here; use cgraph_for_node_thunks_and_aliases.
	(cgraph_set_nothrow_flag_1): Break out from ...
	(cgraph_set_nothrow_flag) ... here; use cgraph_for_node_thunks_and_aliases.
	(cgraph_set_const_flag_1): Break out from ...
	(cgraph_set_const_flag) ... here; use cgraph_for_node_thunks_and_aliases.
	(cgraph_set_pure_flag_1): Break out from ...
	(cgraph_set_pure_flag) ... here; use cgraph_for_node_thunks_and_aliases.
	(cgraph_propagate_frequency_1): Break out from ...
	(cgraph_propagate_frequency) ... here; use cgraph_for_node_thunks_and_aliases.
	(cgraph_used_from_object_file_p): Do not care about aliases.
	(cgraph_not_only_called_directly_p_1, cgraph_only_called_directly_p): New functions.
	(collect_callers_of_node_1, collect_callers_of_node): New functions.

From-SVN: r174871
2011-06-10 00:08:27 +00:00
Hans-Peter Nilsson
2ea91d6bda re PR rtl-optimization/49154 (build fails on cris-elf in libgcc: ICE in setup_pressure_classes, at ira.c:902)
PR rtl-optimization/49154
	* config/cris/cris.h (FIXED_REGISTERS): Include CRIS_CC0_REGNUM.
	(enum reg_class): Add SRP_REGS and MOF_SRP_REGS.
	(REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS)
	(PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Adjust to fit.
	* config/cris/cris.h (cris_register_move_cost): Remove
	!TARGET_V32 code.  Tweak comments.

From-SVN: r174870
2011-06-09 23:45:45 +00:00
Jan Hubicka
9cf4fb5a36 cgraphbuild.c (record_eh_tables): Mark personality function as having address taken.
* cgraphbuild.c (record_eh_tables): Mark personality function as having
	address taken.

From-SVN: r174869
2011-06-09 23:39:54 +00:00
Hans-Peter Nilsson
c577822ec1 re PR rtl-optimization/49154 (build fails on cris-elf in libgcc: ICE in setup_pressure_classes, at ira.c:902)
PR rtl-optimization/49154
	* ira-costs.c (setup_regno_cost_classes_by_mode): If there
	already is a matching slot in the hashtable, assign it to
	classes_ptr.

From-SVN: r174868
2011-06-09 23:38:35 +00:00
Hans-Peter Nilsson
54e1e4f75c re PR rtl-optimization/49154 (build fails on cris-elf in libgcc: ICE in setup_pressure_classes, at ira.c:902)
PR rtl-optimization/49154
	* doc/tm.texi.in (Register Classes): Document rule for the narrowest
	register classes.
	* doc/tm.texi: Regenerate.
(oops, forgot the PR markers)

From-SVN: r174867
2011-06-09 23:36:22 +00:00
Hans-Peter Nilsson
6049a4c8fb tm.texi.in (Register Classes): Document rule for the narrowest register classes.
* doc/tm.texi.in (Register Classes): Document rule for the narrowest
	register classes.
	* doc/tm.texi: Regenerate.

From-SVN: r174866
2011-06-09 23:32:32 +00:00
Xinliang David Li
1f9081d15d Revert r174848,174849
From-SVN: r174864
2011-06-09 22:49:12 +00:00
Ian Lance Taylor
54466dde74 Use backend interface for zero initialization.
* go-gcc.cc (Gcc_backend::zero_expression): New function.

From-SVN: r174863
2011-06-09 22:41:29 +00:00
Kaz Kojima
3be68b64db Update gcc/ChangeLog for r174861.
From-SVN: r174862
2011-06-09 22:22:15 +00:00
Kaz Kojima
af178dafbc re PR target/49307 (ICE in spill_failure, at reload1.c:2113)
PR target/49307
	* config/sh/sh.md (UNSPEC_CHKADD): New.
	(chk_guard_add): New define_insn_and_split.
	(symGOT_load): Use chk_guard_add instead of blockage.
	* gcc.dg/pr49307.c: New.

From-SVN: r174861
2011-06-09 22:19:20 +00:00
Kai Tietz
bf806a90c9 libgcc2.c (L_trampoline): Include windows.h for mingw targets.
2011-06-09  Kai Tietz  <ktietz@redhat.com>

        * libgcc2.c (L_trampoline): Include windows.h for mingw targets.

From-SVN: r174860
2011-06-09 23:10:25 +02:00
Eric Botcazou
d5a9738b2f * config/sparc/sparc.md (return_internal): Adjust 'length' attribute.
From-SVN: r174855
2011-06-09 19:50:28 +00:00
Wei Guozhi
527e82c267 arm.md (*addsi3_carryin_compare0_<optab>): New pattern.
* config/arm/arm.md (*addsi3_carryin_compare0_<optab>): New pattern.
	(peephole2 for conditional move): Generate 16 bit instructions.

	* gcc.target/arm/pr46975.c: New testcase.

From-SVN: r174854
2011-06-09 18:46:22 +00:00
Nicola Pero
fe6d49b86a In gcc/testsuite/: 2011-06-09 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/testsuite/:
2011-06-09  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc-obj-c++-shared/objc-test-suite-next-encode-assist.h
	(PMETH, arglist_t): Removed.
	(method_get_number_of_arguments): Removed.	
	(method_get_nth_argument): Removed.
	(method_get_first_argument): Removed.
	(method_get_next_argument): Removed.
	(method_get_sizeof_arguments): Removed.
	* objc-obj-c++-shared/objc-test-suite-next-encode-assist-impl.h
	(PMETH): Removed.
	(method_get_number_of_arguments): Removed.
	(method_get_nth_argument): Removed.
	(method_get_first_argument): Removed.
	(method_get_next_argument): Removed.
	(method_get_sizeof_arguments): Removed.	
	* objc-obj-c++-shared/objc-test-suite-types.h (PMETH): Removed.

From-SVN: r174851
2011-06-09 16:34:19 +00:00
Uros Bizjak
b8bc3a43e9 i386.md (*movdi_internal_rex64): Merge alternatives 6 and 8.
* config/i386/i386.md (*movdi_internal_rex64): Merge
	alternatives 6 and 8.

From-SVN: r174850
2011-06-09 18:22:47 +02:00
David Li
4745da6ed7 -fdump-pass implementation
From-SVN: r174849
2011-06-09 16:11:23 +00:00
David Li
bdf67bcba3 Gator cleanup
From-SVN: r174848
2011-06-09 16:09:23 +00:00
Paolo Carlini
0d1d0dc8aa re PR c++/29003 (operator name accepted in typedef)
/cp
2011-06-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/29003
	* decl.c (grokdeclarator): Reject operator names in typedefs.

/testsuite
2011-06-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/29003
	* g++.dg/parse/error38.C: New.

From-SVN: r174846
2011-06-09 15:06:59 +00:00
Bernd Schmidt
547fdef870 re PR target/48673 (GCC generates WAW and RAW conflicts on IA64.)
PR target/48673
	* config/ia64/ia64.c (ia64_reorg): Clear BB_DISABLE_SCHEDULE flag
	in all basic blocks.

From-SVN: r174844
2011-06-09 13:55:41 +00:00
Rainer Orth
10e48e3927 netbsd.h (ENABLE_EXECUTE_STACK): Remove.
2011-05-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
	    Joseph Myers  <joseph@codesourcery.com>

	gcc:
	* config/alpha/netbsd.h (ENABLE_EXECUTE_STACK): Remove.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	* config/alpha/osf5.h (ENABLE_EXECUTE_STACK): Remove.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	* config/darwin.h (ENABLE_EXECUTE_STACK): Remove.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	* config/i386/mingw32.h (MINGW_ENABLE_EXECUTE_STACK): Remove.
	(ENABLE_EXECUTE_STACK): Remove.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	[IN_LIBGCC2]: Don't include <windows.h>.
	* config/i386/netbsd-elf.h (ENABLE_EXECUTE_STACK): Remove.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	* config/i386/netbsd64.h (ENABLE_EXECUTE_STACK): Remove.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	* config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Remove.
	* config/openbsd.h (ENABLE_EXECUTE_STACK): Remove.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	* config/sol2.h (ENABLE_EXECUTE_STACK): Remove.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	* config/sparc/freebsd.h (ENABLE_EXECUTE_STACK): Remove.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	* config/sparc/netbsd-elf.h (ENABLE_EXECUTE_STACK): Remove.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	* config/alpha/alpha.c (alpha_trampoline_init): Test
	HAVE_ENABLE_EXECUTE_STACK.
	* config/i386/i386.c (ix86_trampoline_init): Likewise.
	* config/sparc/sparc.c (sparc32_initialize_trampoline): Likewise.
	(sparc64_initialize_trampoline): Likewise.
	* libgcc2.c [L_enable_execute_stack]: Remove.
	* system.h (ENABLE_EXECUTE_STACK): Poison.
	* doc/tm.texi.in (Trampolines, ENABLE_EXECUTE_STACK): Remove.
	* doc/tm.texi: Regenerate.
	* Makefile.in (LIBGCC2_CFLAGS): Add -fbuilding-libgcc.

	gcc/c-family:
	* c.opt (fbuilding-libgcc): New option.
	* c-cppbuiltin.c (c_cpp_builtins): Define
	__LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.

	libgcc:
	* enable-execute-stack-empty.c: New file.
	* enable-execute-stack-mprotect.c: New file.
	* config/i386/enable-execute-stack-mingw32.c: New file.
	* config.host (enable_execute_stack): New variable.
	Select appropriate variants.
	* configure.ac: Link enable-execute-stack.c to
	$enable_execute_stack.
	* configure: Regenerate.
	* Makefile.in (LIB2ADD): Add enable-execute-stack.c.
	(lib2funcs): Remove _enable_execute_stack.

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>

From-SVN: r174843
2011-06-09 12:30:46 +00:00
Richard Guenther
9ef0b98eb6 trans.c (gfc_allocate_array_with_status): Mark error path as unlikely.
2011-06-09  Richard Guenther  <rguenther@suse.de>

	* trans.c (gfc_allocate_array_with_status): Mark error path
	as unlikely.

From-SVN: r174842
2011-06-09 12:17:17 +00:00
Simon Baldwin
dd27d2fadd extract_symvers.in: Handle processor/OS specific or unknown symbol binding strings from readelf.
* scripts/extract_symvers.in: Handle processor/OS specific or
	unknown symbol binding strings from readelf.

From-SVN: r174841
2011-06-09 11:27:40 +00:00
Paolo Carlini
9b3a81dacd type_traits (__is_copy_assignable_impl, [...]): Fix typos.
2011-06-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (__is_copy_assignable_impl,
	__is_nt_copy_assignable_impl): Fix typos.

From-SVN: r174840
2011-06-09 08:03:14 +00:00