Commit Graph

113786 Commits

Author SHA1 Message Date
Jakub Jelinek
5de62d003b re PR libgomp/51132 (FAIL: libgomp.graphite/force-parallel-[678].c)
PR libgomp/51132
	* testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
	to file scope.
	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.

From-SVN: r182050
2011-12-06 15:32:54 +01:00
Richard Guenther
f748cd6bb4 re PR tree-optimization/49997 (ICE in inline_small_functions with -fnon-call-exceptions)
2011-12-06  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/49997
	* gcc.dg/torture/pr49997.c: New testcase.

From-SVN: r182049
2011-12-06 13:45:19 +00:00
Richard Guenther
f7fb28800d re PR lto/50601 (New LTO failures)
2011-12-06  Richard Guenther  <rguenther@suse.de>

	PR middle-end/50601
	* varasm.c (assemble_alias): Move DECL_EXTERNAL implementation
	quirk adjustjment ...
	* passes.c (rest_of_decl_compilation): ... here.

From-SVN: r182048
2011-12-06 13:26:09 +00:00
Richard Guenther
52f26be409 re PR middle-end/51436 (ICE(segfault) in gimplify_and_update_call_from_tree gimple-fold.c:603)
2011-12-06  Richard Guenther  <rguenther@suse.de>

	PR middle-end/51436
	* gimple-fold.c (gimplify_and_update_call_from_tree): Guard
	vdef check for the fact we do not have virtual operands when
	not optimizing.

	* g++.dg/torture/pr51436.C: New testcase.

From-SVN: r182045
2011-12-06 12:17:31 +00:00
Richard Guenther
b55eb41058 re PR tree-optimization/51245 (ICE in vn_reference_insert_pieces, at tree-ssa-sccvn.c:1983)
2011-12-06  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/51245
	* tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces):
	New function.
	(vn_reference_lookup_3): Use it.  Properly valueize all refs
	we create.

	* gcc.dg/torture/pr51245.c: New testcase.

From-SVN: r182044
2011-12-06 11:41:00 +00:00
Dodji Seketeli
230f834641 PR c++/51427 - Better diagnostic when union/struct tags conflicts
gcc/cp/

	PR c++/51427
	* parser.c (cp_parser_check_class_key): Add note about earlier
	declaration.

gcc/testsuite/

	PR c++/51427
	* g++.dg/diagnostic/wrong-tag-1.C

From-SVN: r182043
2011-12-06 11:06:49 +01:00
Iain Sandoe
aa383ddaea rs6000.c (darwin_rs6000_override_options): Initialize rs6000_current_abi.
gcc:

	* config/rs6000/rs6000.c (darwin_rs6000_override_options): Initialize
	rs6000_current_abi.

From-SVN: r182042
2011-12-06 09:52:11 +00:00
Richard Guenther
d829c408d2 re PR tree-optimization/51363 (ICE: in gimple_rhs_has_side_effects, at gimple.c:2530 with -O -fno-tree-ccp)
2011-12-06  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/51363
	* gimple.c (gimple_rhs_has_side_effects): Remove.
	* gimple.h (gimple_rhs_has_side_effects): Likewise.
	* tree-ssa-dom.c (optimize_stmt): Simplify conditional.

From-SVN: r182041
2011-12-06 09:02:17 +00:00
Alan Modra
59b719ec82 re PR target/50906 (e500 exception unwinding under "-Os" causes SIGSEGV)
PR target/50906
	* config/rs6000/rs6000.c (rs6000_emit_prologue <TARGET_SPE_ABI>):
	Do not mark r11 setup as frame-related.  Pass correct offset to
	rs6000_emit_savres_rtx.  Correct out-of-line rs6000_frame_related
	arguments.  Correct sp_offset.  Remove "offset" fudge from
	in-line rs6000_frame_related call.  Rename misleading variable.
	Fix comments and whitespace.  Tidy some expressions.
	(rs6000_emit_epilogue <TARGET_SPE_ABI>): Always set frame_reg_rtx
	to r11 in out-of-line case.  Correct sp_offset.  Pass correct
	offset to rs6000_emit_savres_rtx.  Rename misleading variable.
	Fix comments and whitespace.  Tidy some expressions.
	(rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Add sp_offset
	adjustment when !saving_GPRs_inline.  Correct register mode
	used in address calcs.
	(rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Similarly when
	!restoring_GPRs_inline.

From-SVN: r182039
2011-12-06 14:11:44 +10:30
Ramana Radhakrishnan
6184a33dce Fix formatting character for vmov.f64 case.
From-SVN: r182038
2011-12-06 01:03:04 +00:00
GCC Administrator
b46f602394 Daily bump.
From-SVN: r182037
2011-12-06 00:18:36 +00:00
Ramana Radhakrishnan
19d13e3e10 Fix earlier Changelog entry to match the
commit.

From-SVN: r182033
2011-12-05 23:56:25 +00:00
Paolo Carlini
8972079e90 initializer_list: Do not declare anything if __GXX_EXPERIMENTAL_CXX0X__ is not defined.
2011-12-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* libsupc++/initializer_list: Do not declare anything if
	__GXX_EXPERIMENTAL_CXX0X__ is not defined.

From-SVN: r182031
2011-12-05 23:16:16 +00:00
Fabien Chêne
be4d41449d Fix cp/ChangeLog
From-SVN: r182030
2011-12-05 23:07:06 +01:00
Fabien Chêne
a9727434c3 re PR c++/51319 (Eigen3 enums not accepted)
gcc/testsuite/ChangeLog

2011-12-05  Fabien Chene  <fabien@gcc.gnu.org>

	PR c++/51319
	* g++.dg/lookup/using50.C: New.
	* g++.dg/lookup/using51.C: New.

gcc/cp/ChangeLog

2011-12-05  Fabien Chene  <fabien@gcc.gnu.org>

	PR c++/51319
	* semantics.c (finish_id_expression): Strip using declarations
	early in the function.

From-SVN: r182029
2011-12-05 23:04:40 +01:00
Jakub Jelinek
0fb808ea7a re PR tree-optimization/51396 (ICE: verify_flow_info failed: BB 4 can not throw but has an EH edge with -O2 -fnon-call-exceptions -mfma4)
PR tree-optimization/51396
	* tree-ssa-math-opts.c (convert_mult_to_fma): Don't optimize
	if MUL_RESULT has zero uses.

	* g++.dg/opt/pr51396.C: New test.

From-SVN: r182028
2011-12-05 21:56:14 +01:00
Jakub Jelinek
17fe0fdbad re PR debug/51410 (duplicate variable DIE)
PR debug/51410
	* c-decl.c (pop_scope): Don't add DECL_EXTERNAL decls
	for debug info if scope is file_scope.

	* gcc.dg/debug/dwarf2/pr51410.c: New test.

From-SVN: r182027
2011-12-05 21:51:07 +01:00
Jakub Jelinek
156030d35f re PR c/51339 (ICE: in convert_move, at expr.c:326 with -fopenmp and parallel for)
PR c/51339
	* c-decl.c (c_finish_incomplete_decl, finish_decl): Call
	relayout_decl instead of layout_decl.

	* gcc.dg/gomp/pr51339.c: New test.

From-SVN: r182026
2011-12-05 21:49:38 +01:00
Paolo Carlini
a9eba00e1b re PR c++/51399 ([c++0x] [4.7 Regression] ICE with invalid initializer list)
/cp
2011-12-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51399
	* init.c (perform_member_init): Early return if init is error_mark_node.

/testsuite
2011-12-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51399
	* g++.dg/cpp0x/initlist62.C: New.

From-SVN: r182025
2011-12-05 20:44:50 +00:00
Thomas Koenig
671b487dc3 re PR fortran/51338 (seg fault in gfc_dep_compare_expr with -O2)
2011-12-05  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/51338
	* dependency.c (are_identical_variables):  Handle case where
	end fields of substring references are NULL.

2011-12-05  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/51338
	* gfortran.dg/assumed_charlen_substring_1.f90:  New test.

From-SVN: r182024
2011-12-05 20:11:44 +00:00
Richard Sandiford
dfa51991ef resource.c (init_resource_info): Only consider EXIT_IGNORE_STACK if there is in epilogue.
gcc/
	* resource.c (init_resource_info): Only consider EXIT_IGNORE_STACK
	if there is in epilogue.

From-SVN: r182023
2011-12-05 19:32:16 +00:00
Richard Sandiford
fae67e1dc4 optabs.c (maybe_emit_sync_lock_test_and_set): Pass a null target to emit_library_call_value.
gcc/
	* optabs.c (maybe_emit_sync_lock_test_and_set): Pass a null target
	to emit_library_call_value.
	(expand_atomic_compare_and_swap): Likewise.

From-SVN: r182021
2011-12-05 19:24:53 +00:00
Richard Sandiford
2b808bd9a8 pr46338.C: Add dg-require-profiling.
gcc/testsuite/
	* g++.dg/debug/pr46338.C: Add dg-require-profiling.
	* g++.dg/torture/pr39732.C: Likewise.
	* g++.dg/torture/pr40642.C: Likewise.
	* gcc.c-torture/compile/pr44686.c: Likewise.
	* gcc.dg/20050309-1.c: Likewise.
	* gcc.dg/20050330-2.c: Likewise.
	* gcc.dg/20051201-1.c: Likewise.
	* gcc.dg/gomp/pr27573.c: Likewise.
	* gcc.dg/pr46255.c: Likewise.
	* gcc.dg/profile-dir-1.c: Likewise.
	* gcc.dg/profile-dir-2.c: Likewise.
	* gcc.dg/profile-dir-3.c: Likewise.
	* gcc.dg/profile-generate-1.c: Likewise.
	* gfortran.dg/gomp/pr27573.f90: Likewise.
	* gcc.dg/profile-generate-3.c: Be specific about the type of
	profiling required.

From-SVN: r182020
2011-12-05 19:24:30 +00:00
Paolo Carlini
ca2507dca9 re PR c++/51414 (Broken diagnostic with invalid use of __underlying_type)
/cp
2011-12-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51414
	* semantics.c (finish_underlying_type): Use %qT, not %qE for the
	error message.

/testsuite
2011-12-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51414
	* g++.dg/ext/underlying_type11.C: New.

From-SVN: r182017
2011-12-05 18:21:18 +00:00
Uros Bizjak
6778ae9d4b re PR testsuite/51128 (New LTO failures)
PR testsuite/51128
	* gcc.dg/torture/pr23821.c: Skip if -fno-fat-lto-objects was passed.
	* gcc.dg/torture/pr39074.c: Ditto.
	* gcc.dg/torture/pr39074-2.c: Ditto.
	* gcc.dg/torture/pr42898.c: Ditto.
	* gcc.dg/torture/pr42898-2.c: Ditto.
	* gcc.dg/torture/pr45704.c: Ditto.
	* gcc.dg/torture/pr50472.c: Ditto.
	* gcc.dg/torture/pta-callused-1.c: Ditto.
	* gcc.dg/torture/pta-ptrarith-1.c: Ditto.
	* gcc.dg/torture/pta-ptrarith-2.c: Ditto.
	* gcc.dg/torture/pta-ptrarith-3.c: Ditto.
	* gcc.dg/torture/pta-escape-1.c: Ditto.
	* gcc.dg/torture/ipa-pta-1.c: Ditto.
	* gcc.dg/torture/ssa-pta-fn-1.c: Ditto.

From-SVN: r182016
2011-12-05 18:59:32 +01:00
Vladimir Makarov
27508f5fa3 re PR other/50775 (Register allocator sets up frame and frame pointer with low register pressure)
2011-12-05  Vladimir Makarov  <vmakarov@redhat.com>

	PR other/50775
	* ira-int.h (struct ira_object): Remove add_data.
	(OBJECT_ADD_DATA): Remove.

	* ira-build.c (ira_create_object): Remove OBJECT_ADD_DATA
	initialization.

	* ira-color.c (object_hard_regs_t, object_hard_regs): Rename to
	allocno_hard_regs_t, allocno_hard_regs.
	(object_hard_regs_node_t, object_hard_regs_node): Rename to
	allocno_hard_regs_node_t and allocno_hard_regs_node.
	(struct allocno_color_data): Add new member last_process.  Move
	profitable_hard_regs, hard_regs_node, and hard_regs_subnodes_start
	from object_color_data.
	(object_color_data_t, object_color_data, OBJECT_COLOR_DATA):
	Remove.
	(curr_allocno_process): New static variable.
	(object_hard_regs_eq, object_hard_regs_htab): Rename to
	allocno_hard_regs_eq and allocno_hard_regs_htab.
	(init_object_hard_regs, finish_object_hard_regs): Rename to
	init_allocno_hard_regs and finish_allocno_hard_regs.
	(object_hard_regs_compare, object_hard_regs_node_t): Rename to
	allocno_hard_regs_compare and allocno_hard_regs_node_t.
	(create_new_object_hard_regs_node): Rename to
	create_new_allocno_hard_regs_node.
	(add_new_object_hard_regs_node_to_forest): Rename to
	add_new_allocno_hard_regs_node_to_forest.
	(add_object_hard_regs_to_forest, collect_object_hard_regs_cover):
	Rename to add_allocno_hard_regs_to_forest and collect_allocno_hard_regs_cover.
	(setup_object_hard_regs_nodes_parent): Rename to setup_allocno_hard_regs_nodes_parent.
	(remove_unused_object_hard_regs_nodes): Rename to remove_unused_allocno_hard_regs_nodes.
	(enumerate_object_hard_regs_nodes, object_hard_regs_nodes_num):
	Rename to enumerate_allocno_hard_regs_nodes and allocno_hard_regs_nodes_num.
	(object_hard_regs_nodes, object_hard_regs_subnode_t): Rename to
	allocno_hard_regs_nodes and allocno_hard_regs_subnode_t.
	(object_hard_regs_subnode, object_hard_regs_subnodes): Rename to
	allocno_hard_regs_subnode and allocno_hard_regs_subnodes.
	(object_hard_regs_subnode_index): Rename to allocno_hard_regs_subnode_index.
	(setup_object_hard_regs_subnode_index): Rename to
	setup_allocno_hard_regs_subnode_index.
	(get_object_hard_regs_subnodes_num): Rename to get_allocno_hard_regs_subnodes_num.
	(form_object_hard_regs_nodes_forest): Rename to form_allocno_hard_regs_nodes_forest.
	(finish_object_hard_regs_nodes_tree): Rename to form_allocno_hard_regs_nodes_forest
	(finish_object_hard_regs_nodes_forest): Rename to
	finish_allocno_hard_regs_nodes_forest.
	(setup_left_conflict_sizes_p): Use allocno data instead of object
	ones.  Process conflict allocnos once.
	(update_left_conflict_sizes_p): Use allocno data instead of object
	ones.  Change prototype signature.
	(empty_profitable_hard_regs): Use allocno data instead of object
	ones.
	(setup_profitable_hard_regs): Ditto.
	(get_conflict_profitable_regs): Rename to
	get_conflict_and_start_profitable_regs.  Use allocno data for
	profitable regs calculation.
	(check_hard_reg_p): Change prototype signature.  Check profitable
	regs for allocno not the objects.
	(assign_hard_reg): Process conflict allocnos only once for
	updating conflict costs.
	(setup_allocno_available_regs_num): Use allocno data instead of
	object ones.  Modify debug output.
	(color_pass): Remove initialization and finalization of object
	color data.

From-SVN: r182015
2011-12-05 17:02:54 +00:00
Kazu Hirata
100ed614f4 re PR target/51408 (Miscompilation in arm.md:*minmax_arithsi)
gcc/
	PR target/51408
	* config/arm/arm.md (*minmax_arithsi): Always require the else
	clause in the MINUS case.

gcc/testsuite/
	PR target/51408
	* gcc.dg/pr51408.c: New.

From-SVN: r182014
2011-12-05 16:11:35 +00:00
Jason Merrill
c4ce224c4b * init.c (expand_default_init): Unshare args in ctor delegation.
From-SVN: r182013
2011-12-05 10:49:34 -05:00
Ville Voutilainen
238e471cad Implement C++11 delegating constructors.
* cp-tree.h (enum cpp0x_warn_str): Add CPP0X_DELEGATING_CTORS.
	* error.c (maybe_warn_cpp0x): Adjust.
	* parser.c (cp_parser_mem_initializer_list): Use it.  Diagnose
	multiple initializers if a delegating initializer is present.
	* call.c (build_special_member_call): Convert an assert into an if.
	* init.c (perform_target_ctor): New.
	(emit_mem_initializers): Use it.
	(expand_member_init, expand_default_init): Adjust.

Co-Authored-By: Pedro Lamarão <pedro.lamarao@gmail.com>

From-SVN: r182012
2011-12-05 10:49:25 -05:00
Paolo Carlini
12c574caf6 re PR c++/51404 ([c++0x] [4.7 Regression] ICE with invalid use of auto)
/cp
2011-12-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51404
	* typeck2.c (build_functional_cast): Early return error_mark_node
	for invalid uses of 'auto'.
	* parser.c (cp_parser_direct_declarator): When
	cp_parser_constant_expression returns error do not produce further
	diagnostic for the bound.

/testsuite
2011-12-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51404
	* g++.dg/cpp0x/auto28.C: New.

From-SVN: r182011
2011-12-05 15:46:30 +00:00
Richard Guenther
546d314cf6 re PR tree-optimization/50904 (pessimization when -fno-protect-parens is enabled by -Ofast)
2011-12-05  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/50904
	* tree-ssa-loop-im.c (struct mem_ref): Remove vops member.
	(MEM_ANALYZABLE): New.
	(memory_references): Remove clobbered_vops and vop_ref_map
	members, add all_refs_stored_in_loop member.
	(memref_free): Adjust.
	(mem_ref_alloc): Likewise.
	(gather_mem_refs_stmt): Do not record clobbers, instead
	record refs for unanalyzable stmts.
	(gather_mem_refs_in_loops): Do not propagate clobbers.
	(struct vop_to_refs_elt, vtoe_hash, vtoe_eq, vtoe_free,
	record_vop_access, get_vop_accesses, get_vop_stores,
	add_vop_ref_mapping): Remove.
	(create_vop_ref_mapping_loop): Adjust to simply record all
	stores.
	(analyze_memory_references): Adjust.
	(refs_independent_p): Check for not analyzable refs.
	(can_sm_ref_p): Likewise.
	(ref_indep_loop_p_1): Simplify.
	(tree_ssa_lim_finalize): Adjust.

	* tree-ssa-loop-im.c (stmt_cost): Simplify, use LIM_EXPENSIVE
	rather than magic constants.  Assign zero cost to PAREN_EXPR
	and SSA_NAME copies.  Assign cost proportional to the vector
	size for vector constructors.

From-SVN: r182010
2011-12-05 14:36:44 +00:00
Richard Guenther
14cd91f923 tree-ssa-alias.h (struct ao_ref_s): Add volatile_p field.
2011-12-05  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-alias.h (struct ao_ref_s): Add volatile_p field.
	* tree-ssa-alias.c (ao_ref_init): Initialize it.
	(ao_ref_init_from_ptr_and_size): Likewise.
	(refs_may_alias_p_1): Two volatile accesses conflict.
	(ref_maybe_used_by_call_p_1): Likewise.
	(call_may_clobber_ref_p_1): Likewise.
	* tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Initialize
	volatile_p field.

From-SVN: r182009
2011-12-05 14:31:44 +00:00
Matthew Gretton-Dann
68872bedca * gcc/testsuite/gcc.dg/torture/vec-cvt-1.c (FLTTEST): Call rand instead of random.
From-SVN: r182008
2011-12-05 12:02:22 +00:00
Richard Guenther
bc590dfb1f tree-ssa.c (verify_ssa): Verify SSA names in the loop over all SSA names.
2011-12-05  Richard Guenther  <rguenther@suse.de>

	* tree-ssa.c (verify_ssa): Verify SSA names in the loop
	over all SSA names.  Remove SSA operand checking, call
	verify_ssa_operands.
	* tree-ssa-operands.h (verify_ssa_operands): Declare.
	* tree-ssa-operands.c (verify_ssa_operands): New function.

From-SVN: r182007
2011-12-05 11:05:24 +00:00
Arnaud Charlet
76264f602a [multiple changes]
2011-12-05  Bob Duff  <duff@adacore.com>

	* sem_ch4.adb: Minor comment fix.

2011-12-05  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Add documentation for -gnatw.e.

2011-12-05  Bob Duff  <duff@adacore.com>

	* treepr.adb (pn): Print something useful for
	Elmt_Ids. Add Write_Eol to 'when others' case, so the output
	will be seen immediately in gdb.

2011-12-05  Ed Schonberg  <schonberg@adacore.com>

	* lib-writ.adb (Output_Main_Program_Line): A generic subprogram
	is never a main program.

2011-12-05  Thomas Quinot  <quinot@adacore.com>

	* par_sco.adb: Various minor adjustments to dominance markers
	generation.

2011-12-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): If the function is
	a completion, generate a body reference for its defining entity,
	before rewriting the node as a body.
	* sem_util.adb (Defining_Entity): Add entry for expression
	function.

From-SVN: r182006
2011-12-05 11:44:58 +01:00
Ramana Radhakrishnan
7f3d8f56e7 Use vcvt from fixed to floating point where applicable.
2011-12-05  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

         * config/arm/arm.c (vfp3_const_double_for_fract_bits): Define.
         * config/arm/arm-protos.h (vfp3_const_double_for_fract_bits): Declare.
         * config/arm/constraints.md ("Dt"): New constraint.
         * config/arm/predicates.md (const_double_vcvt_power_of_two_reciprocal):
          New.
         * config/arm/vfp.md (*arm_combine_vcvt_f32_s32): New.
         (*arm_combine_vcvt_f32_u32): New.

From-SVN: r182005
2011-12-05 10:42:53 +00:00
Arnaud Charlet
3128f9557f [multiple changes]
2011-12-05  Bob Duff  <duff@adacore.com>

	* sem_ch3.adb (Derive_Progenitor_Subprograms): Add Ultimate_Alias
	to the Comes_From_Source check, to deal properly with the case
	of indirect inheritance of "=".

2011-12-05  Thomas Quinot  <quinot@adacore.com>

	PR ada/51307
	* s-oscons-tmplt.c: On HP-UX, CLOCK_REALTIME is an enum literal,
	not a macro.

2011-12-05  Thomas Quinot  <quinot@adacore.com>

	* par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Generate dominance
	information in SCOs.

From-SVN: r182004
2011-12-05 11:31:58 +01:00
Dodji Seketeli
9b554be990 Add 'inline' to prototype of tokens_buff_remove_last_token
libcpp/

	* macro.c (tokens_buff_remove_last_token)
	(tokens_buff_put_token_to): Add an 'inline' function specifier to
	the prototype.

From-SVN: r182002
2011-12-05 10:20:59 +01:00
Richard Guenther
89faf322d8 cgraph.c (cgraph_create_edge_1): Initialize call_stmt_cannot_inline_p from the stmt if possible.
2011-12-05  Richard Guenther  <rguenther@suse.de>

	* cgraph.c (cgraph_create_edge_1): Initialize
	call_stmt_cannot_inline_p from the stmt if possible.
	(cgraph_make_edge_direct): Likewise.
	* gimple-streamer-in.c (input_gimple_stmt): Do not
	call gimple_call_set_cannot_inline.
	* gimple.h (enum gf_mask): Remove GF_CALL_CANNOT_INLINE, shift
	values.
	(gimple_call_set_cannot_inline): Remove.
	(gimple_call_cannot_inline_p): Likewise.
	* ipa-inline-analysis.c (initialize_inline_failed): Look
	at the edge call_stmt_cannot_inline_p flag.
	* ipa-inline.c (can_inline_edge_p): Likewise.
	(early_inliner): Only update the edge flag.
	* ipa-prop.c (update_indirect_edges_after_inlining): Likewise.
	(ipa_modify_call_arguments): Do not call gimple_call_set_cannot_inline.
	* cgraphunit.c (assemble_thunk): Likewise.
	* gimple-fold.c (gimple_fold_call): Likewise.

	* tree.h (CALL_CANNOT_INLINE_P): Remove.
	* tree-mudflap.c (mf_xform_statements): Do not modify alloca calls.
	* builtins.c (expand_builtin_alloca): With -fmudflap do not expand
	alloca calls inline.
	* cfgexpand.c (expand_call_stmt): Do not set CALL_CANNOT_INLINE_P.
	* gimple.c (gimple_build_call_from_tree): Do not read
	CALL_CANNOT_INLINE_P.
	* gimplify.c (gimplify_call_expr): Do not copy CALL_CANNOT_INLINE_P.

From-SVN: r182001
2011-12-05 08:51:53 +00:00
Jakub Jelinek
5275901c43 re PR middle-end/51323 (g++ confuses this with function argument in optimized call)
PR middle-end/51323
	PR middle-end/50074
	* calls.c (internal_arg_pointer_exp_state): New variable.
	(internal_arg_pointer_based_exp_1,
	internal_arg_pointer_exp_scan): New functions.
	(internal_arg_pointer_based_exp): New function.
	(mem_overlaps_already_clobbered_arg_p): Use it.
	(expand_call): Free internal_arg_pointer_exp_state.cache vector
	and clear internal_arg_pointer_exp_state.scan_start.

	* gcc.c-torture/execute/pr51323.c: New test.

Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>

From-SVN: r182000
2011-12-05 09:15:23 +01:00
GCC Administrator
2adac2a72b Daily bump.
From-SVN: r181999
2011-12-05 00:18:48 +00:00
Kaz Kojima
7768ec4c4d linux.h (TARGET_DEFAULT): Add MASK_SOFT_ATOMIC.
* config/sh/linux.h (TARGET_DEFAULT): Add MASK_SOFT_ATOMIC.
	* config/sh/sync.md: New file.
	* config/sh/sh.md: Include sync.md.
	* config/sh/sh.opt (msoft-atomic): New option.
	* doc/invoke.texi (SH Options): Document it.

From-SVN: r181995
2011-12-04 23:05:23 +00:00
Nathan Sidwell
b724567ea6 gcov-io.h (struct gcov_info): Replace trailing array with pointer to array.
* gcov-io.h (struct gcov_info): Replace trailing array with
	pointer to array.
	* profile.c (branch_prob): Only call renamed
	coverage_begin_function once.
	* coverage.h (coverage_begin_output): Rename to ...
	(coverage_begin_function): ... here.
	* coverage.c (struct function_list): Rename to ...
	(struct coverage_data): ... this.  Update all uses.
	(gcov_info_var, gcov_fn_info_type, gcov_fn_info_ptr_type): New
	globals.
	(bbg_file_opened, bbg_function_announced): Remove.
	(get_coverage_counts): Adjust message.
	(coverage_begin_ouput): Rename to ...
	(coverage_begin_function): ... here.  Move file opening to
	coverage_init.  Adjust for being called only once.
	(coverage_end_function): Remove bbg file and inhibit further
	output here on error.
	(build_info_type): Adjust for change to pointer to array.
	(build_info): Receive array of function pointers and adjust.
	(create_coverage): Break into ...
	(coverage_obj_init, coverage_obj_fn, coverage_obj_finish):
	... these, and adjust.
	(coverage_init): Open the notes file here.  Tidy.
	(coverage_finish): Call coverage_obj_init etc.

From-SVN: r181994
2011-12-04 18:27:19 +00:00
Jonathan Wakely
13901e4b28 type_traits: Doxygen improvements.
* include/std/type_traits: Doxygen improvements.
	* include/bits/move.h: Likewise.
	* include/tr1/type_traits:  Likewise.
	* include/tr2/type_traits:  Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
	line numbers
	* testsuite/20_util/forward/c_neg.cc: Likewise.
	* testsuite/20_util/forward/f_neg.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.

From-SVN: r181993
2011-12-04 16:53:17 +00:00
Tobias Burnus
021396710f re PR fortran/51383 ([OOP] arrays of extended types break when associated)
2011-12-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51383
        * resolve.c (find_array_spec): Use ref->u.c.component
        directly without starting from ts.u.derived.

2011-12-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51383
        * gfortran.dg/associate_10.f90: New.

From-SVN: r181992
2011-12-04 17:33:15 +01:00
Iain Sandoe
8f90394af7 t-darwin64 (LIB2ADD): Add fp and gp save routines.
libgcc:

	* config/rs6000/t-darwin64 (LIB2ADD): Add fp and gp save routines.

From-SVN: r181991
2011-12-04 15:46:28 +00:00
Ira Rosen
64d949597c re PR middle-end/51285 (internal compiler error: in check_loop_closed_ssa_use, at tree-ssa-loop-manip.c)
PR middle-end/51285
        * tree-vect-loop.c (vect_create_epilog_for_reduction): Create
        exit phi nodes for outer loop in case of double reduction.

From-SVN: r181990
2011-12-04 14:52:01 +00:00
Markus Trippelsdorf
e13afbace1 stl_heap.h (pop_heap): Check for non-empty range in overload taking a predicate.
* include/bits/stl_heap.h (pop_heap): Check for non-empty range in
	overload taking a predicate.
	* testsuite/25_algorithms/pop_heap/empty2_neg.cc: New.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>

From-SVN: r181987
2011-12-04 13:21:53 +00:00
Uros Bizjak
fcff2e9c26 re PR target/51393 (Wrong parameter type for _mm256_insert_epi64 in avxintrin.h)
PR target/51393
	* config/i386/avxintrin.h (_mm256_insert_epi64): Declare second
	parameter as long long.

testsuite/ChangeLog:

2011-12-04  Uros Bizjak  <ubizjak@gmail.com>
	    Jérémie Detrey  <Jeremie.Detrey@loria.fr>

	PR target/51393
	* gcc.target/i386/pr51393.c: New test.

From-SVN: r181986
2011-12-04 13:47:25 +01:00
Richard Sandiford
ff47a15124 re PR middle-end/51351 (undefined reference to __sync_fetch_and_ior_4)
gcc/
	PR middle-end/51351
	* optabs.c (init_sync_libfuncs): Use "or" rather than "ior"
	in the external names.

From-SVN: r181985
2011-12-04 11:15:26 +00:00