Commit Graph

111566 Commits

Author SHA1 Message Date
Arnaud Charlet
13a0b1e8dd [multiple changes]
2011-09-05  Thomas Quinot  <quinot@adacore.com>

	* exp_intr.adb, s-tasini.adb: Minor reformatting.

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

	* sem_ch3.adb (Access_Definition): If an access type declaration
	appears in a child unit, the scope of whatever anonymous type
	may be generated is the child unit itself.

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

	* sem_ch6.adb (Analyze_Expression_Function): Do not set
	Comes_From_Source on rewritten body.
	(Analyze_Subprogram_Body_Helper): Check that the original node for
	the body comes from source, when determining whether expansion
	of a protected operation is needed.

From-SVN: r178543
2011-09-05 15:58:39 +02:00
Arnaud Charlet
2042872573 [multiple changes]
2011-09-05  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Replace_Type): If the target of the assignment is
	a selected component and the right-hand side is a self-referential
	access, the proper prefix of the rewritten attribute is a copy
	of the left-hand side, not of its prefix.

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

	* sem_ch5.adb: Minor reformatting.
	* sem_ch3.adb: Minor code clean up.

2011-09-05  Jose Ruiz  <ruiz@adacore.com>

	* exp_ch9.adb (Make_Initialize_Protection): The fact that
	restriction No_Dynamic_Attachment is in effect or not should
	not influence the default priority associated to a protected
	object. With this change, when the restriction is in effect (as
	is the case for the Ravenscar profile) the default priority of
	a protected object with an interrupt handler is in the range of
	interrupt priorities (Default_Interrupt_Priority) as required
	by D.3(10).

2011-09-05  Arnaud Charlet  <charlet@adacore.com>

	* a-iteint.ads: Fix header.

2011-09-05  Vincent Celier  <celier@adacore.com>

	* prj-conf.adb (Do_Autoconf): Make sure Obj_Dir always ends
	with a directory separator to avoid output such as:
	  "/path/to/objauto.cgpr" has been deleted.

From-SVN: r178542
2011-09-05 15:53:59 +02:00
Jakub Jelinek
e8b803e6e5 struct-layout-1_test.h: Decrease bitfield size to work even with -fshort-enums.
* gcc.dg/compat/struct-layout-1_test.h: Decrease bitfield size
	to work even with -fshort-enums.

From-SVN: r178540
2011-09-05 15:53:08 +02:00
Arnaud Charlet
4a1bfefb84 [multiple changes]
2011-09-05  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb: Minor reformatting.

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

	* sem_ch5.adb: Better error message.

2011-09-05  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_aggr.adb: Add with and use clause for Exp_Ch6.
	(Expand_Array_Aggregate): Detect a special case of an aggregate
	which contains tasks in the context of an unexpanded return
	statement of a build-in-place function.
	* exp_ch6.adb: Add with and use clause for Exp_Aggr.
	(Expand_N_Extended_Return_Statement): Detect a delayed aggregate
	which contains tasks and expand it now that the original simple
	return statement has been rewritten.
	* exp_ch9.adb (Build_Activation_Chain_Entity): Code
	reformatting. Do not create a chain for an extended return
	statement if one is already available.
	(Has_Activation_Chain): New routine.

From-SVN: r178539
2011-09-05 15:48:16 +02:00
Arnaud Charlet
9ec080cb21 [multiple changes]
2011-09-05  Marc Sango  <sango@adacore.com>

	* sem_ch3.adb (Analyze_Object_Declaration): Remove
	the wrong test and add the correct test to detect the violation
	of illegal use of unconstrained string type in SPARK mode.

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

	* sem_ch5.adb (Analyze_Iteration_Specification): Improve error
	message on an iterator over an array.

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

	* lib-xref-alfa.adb: Minor reformatting.

From-SVN: r178538
2011-09-05 15:40:04 +02:00
Arnaud Charlet
94bbf008ba [multiple changes]
2011-09-05  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb (Write_Field28_Name): Update the choices for
	Extra_Formals.
	* einfo.ads: Update the use of Extra_Formals in various entities.
	* exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call): Code
	reformatting. Handle the case where the function call returns
	an incomplete type coming from a limited with context. Generate
	a reference to the _master when the master id is associated
	with an access type.
	(Is_Build_In_Place_Function_Call): Code
	reformatting. The Alfa mode case must appear first since otherwise
	we will carry out the function name retrieval regardless of the
	compilation mode.
	(Make_Build_In_Place_Call_In_Allocator): Code
	reformatting. Handle the case where the function call returns
	an incomplete type coming from a limited with context. Remove
	the reference creation when adding the task-related actuals,
	this is now done in Add_Task_Actuals_To_Build_In_Place_Call.
	* exp_ch7.adb (Make_Set_Finalize_Address_Call): Remove local
	variable Call. Remove the useless wrapping of Set_Finalize_Address
	when the finalization master is a build-in-place extra formal. The
	whole mechanism of controlled allocation in a build-in-place
	context is already protected by an if statement.
	* sem_aux.adb (Is_Immutably_Limited_Type): Handle the case
	where the type might be related to a function which returns an
	incomplete type coming from a limited with.
	* sem_ch6.adb (Create_Extra_Formals): Comment
	reformatting. Handle the case where the function returns an
	incomplete type coming from a limited with context.

2011-09-05  Johannes Kanig  <kanig@adacore.com>

	* lib-xref-alfa.adb (Is_Alfa_Reference): Improve test for constant
	objects and rewrite case statement as /if/elsif/endif.

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

	* sem_ch3.adb, sem_ch4.adb: Minor reformatting.

From-SVN: r178537
2011-09-05 15:19:04 +02:00
Robert Dewar
aeae67edd7 sem_ch3.adb, [...]: Minor reformatting.
2011-09-05  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_res.adb, par.adb, par-ch6.adb, g-comlin.adb,
	exp_ch6.adb, lib-xref-alfa.adb: Minor reformatting.

From-SVN: r178536
2011-09-05 15:12:33 +02:00
Arnaud Charlet
d72e76282a [multiple changes]
2011-09-05  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch7.adb, exp_ch6.adb: Minor reformatting.

2011-09-05  Johannes Kanig  <kanig@adacore.com>

	* lib-xref-alfa.adb: Update comments.

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

	* sem_res.adb: Minor reformatting

From-SVN: r178535
2011-09-05 15:11:29 +02:00
Ed Schonberg
0d566e0157 exp_ch6.adb (Build_In_Place_Formal): If extra formals are not present, create them now.
2011-09-05  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch6.adb (Build_In_Place_Formal): If extra formals are not
	present, create them now.  Needed in case the return type was
	a limited view in the function declaration.
	(Make_Build_In_Place_Call_In_Allocator): If return type contains
	tasks, build the activation chain for it.  Pass a reference to
	the Master_Id in call to Add_Task_Actuals_To_Build_In_Place call.
	* exp_ch7.adb (Make_Set_Finalize_Address_Call): Clean up interface
	with build_in_place calls.
	* sem_ch9.adb (Analyze_Task_Type_Declaration): If partial view was
	incomplete, inatialize its Corresponding_Record_Type component.
	* sem_ch10.adb (Build_Chain): Initialize Private_Dependents field
	of limited views.

From-SVN: r178534
2011-09-05 15:08:30 +02:00
Arnaud Charlet
fb19dec9b4 Fix typo.
From-SVN: r178533
2011-09-05 15:02:49 +02:00
Arnaud Charlet
ec09f2616d [multiple changes]
2011-09-05  Johannes Kanig  <kanig@adacore.com>

	* lib-xref-alfa.adb (Is_Alfa_Reference): Filter constants from effect
	information.

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

	* par-ch6.adb (P_Subprogram): In Ada2012 mode, if the subprogram
	appears within a package specification and the token after "IS"
	is not a parenthesis, assume that this is an unparenthesized
	expression function, even if the token appears in a line by
	itself.
	* par.adb: Clarify use of Labl field of scope stack in error
	recovery.

From-SVN: r178532
2011-09-05 15:01:17 +02:00
Arnaud Charlet
7109f4f52d [multiple changes]
2011-09-05  Bob Duff  <duff@adacore.com>

	* sem_res.adb (Resolve_Intrinsic_Operator): Use unchecked
	conversions instead of normal type conversions in all cases where a
	type conversion would be illegal. In particular, use unchecked
	conversions when the operand types are private.

2011-09-05  Johannes Kanig  <kanig@adacore.com>

	* lib-xref-alfa.adb (Is_Alfa_Reference): Never declare effects on
	objects of task type or protected type.

From-SVN: r178531
2011-09-05 14:58:26 +02:00
Arnaud Charlet
66dc8075f3 [multiple changes]
2011-09-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): If the expression
	function comes from source, indicate that so does its rewriting,
	so it is compatible with any subsequent expansion of the
	subprogram body (e.g. when it is a protected operation).
	* sem_ch4.adb: minor reformatting

2011-09-05  Hristian Kirtchev  <kirtchev@adacore.com>

	* lib.adb (Check_Same_Extended_Unit): Comment rewriting. Use
	Get_Source_Unit rather than Get_Code_Unit as instantiation unfolding
	may lead to wrong ancestor package in the case of instantiated subunit
	bodies. If a subunit is instantiated, follow the chain of instantiations
	rather than the stub structure.

From-SVN: r178530
2011-09-05 14:51:44 +02:00
Georg-Johann Lay
1e3a7e8662 re PR target/50289 ([avr]: call-prologues saving/restoring global register variables)
PR target/50289
	* config/avr/avr.c (sequent_regs_live): Don't recognize sequences
	that contain global register variable.

From-SVN: r178528
2011-09-05 12:20:03 +00:00
Richard Guenther
e1ab3876d2 tree-cfg.c (replace_uses_by): Use fold_stmt, not fold_stmt_inplace.
2011-09-05  Richard Guenther  <rguenther@suse.de>

	* tree-cfg.c (replace_uses_by): Use fold_stmt, not fold_stmt_inplace.

From-SVN: r178527
2011-09-05 10:31:04 +00:00
Richard Guenther
830c740f17 stor-layout.c (layout_type): Use size_binop for array size calculations.
2011-09-05  Richard Guenther  <rguenther@suse.de>

	* stor-layout.c (layout_type): Use size_binop for array size
	calculations.

	c-family/
	* c-common.c (complete_array_type): Use ssize_int (-1) instead
	of integer_minus_one_node for empty array upper bounds.

From-SVN: r178526
2011-09-05 09:03:08 +00:00
Georg-Johann Lay
c149e48765 avr.h (progmem_section): Remove Declaration.
* config/avr/avr.h (progmem_section): Remove Declaration.
	* config/avr/avr.c (progmem_section): Make static and rename to
	progmem_swtable_section.
	(avr_output_addr_vec_elt): No need to switch sections.
	(avr_asm_init_sections): Use output_section_asm_op as section
	callback for progmem_swtable_section.
	(avr_output_progmem_section_asm_op): Remove Function.
	(TARGET_ASM_FUNCTION_RODATA_SECTION): New Define.
	(avr_asm_function_rodata_section): New static Function.
	* config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Output
	alignment 2**1 for jump tables.

From-SVN: r178525
2011-09-05 08:30:17 +00:00
Jan Hubicka
c5ceeb8763 ipa-inline-analysis.c (set_cond_stmt_execution_predicate): Check that parameter is SSA name.
* ipa-inline-analysis.c (set_cond_stmt_execution_predicate): Check that
	parameter is SSA name.

From-SVN: r178524
2011-09-05 07:39:36 +00:00
Richard Guenther
5b970a1aaf revert: fold-const.c (extract_muldiv_1): Remove bogus TYPE_IS_SIZETYPE special-casing.
2011-09-05  Richard Guenther  <rguenther@suse.de>

        Revert
        2011-08-31  Richard Guenther  <rguenther@suse.de>

	* fold-const.c (extract_muldiv_1): Remove bogus TYPE_IS_SIZETYPE
	special-casing.

From-SVN: r178523
2011-09-05 07:32:37 +00:00
Jason Merrill
1a94ffae36 re PR c++/49267 (Ambiguity with conversion functions "T&" and "T&&", initializing a "T&&")
PR c++/49267
	* call.c (reference_binding): Don't set is_lvalue for an rvalue
	reference rfrom.

From-SVN: r178521
2011-09-05 00:33:57 -04:00
Jason Merrill
0ad2cde83d re PR c++/49267 (Ambiguity with conversion functions "T&" and "T&&", initializing a "T&&")
PR c++/49267
	PR c++/49458
	DR 1328
	* call.c (reference_binding): Set rvaluedness_matches_p properly
	for reference to function conversion ops.
	(compare_ics): Adjust.

From-SVN: r178520
2011-09-05 00:33:48 -04:00
Jason Merrill
fd3faf2b21 class.c (trivial_default_constructor_is_constexpr): Rename from synthesized_default_constructor_is_constexpr.
* class.c (trivial_default_constructor_is_constexpr): Rename from
	synthesized_default_constructor_is_constexpr.
	(type_has_constexpr_default_constructor): Adjust.
	(add_implicitly_declared_members): Call it instead.
	(explain_non_literal_class): Explain about non-constexpr default ctor.
	* cp-tree.h: Adjust.
	* method.c (synthesized_method_walk): Adjust.
	* semantics.c (explain_invalid_constexpr_fn): Handle defaulted
	functions, too.

From-SVN: r178519
2011-09-05 00:33:40 -04:00
Jason Merrill
aee8801251 re PR c++/50248 ([C++0x] unnecessary instantiation of constexpr constructor)
PR c++/50248
	Core 1358
	* init.c (perform_member_init): Don't diagnose missing inits here.
	(emit_mem_initializers): Or here.
	* method.c (process_subob_fn): Don't instantiate constexpr ctors.
	* semantics.c (cx_check_missing_mem_inits): New.
	(explain_invalid_constexpr_fn): Call it.
	(register_constexpr_fundef): Likewise.  Leave
	DECL_DECLARED_CONSTEXPR_P set when the body is unsuitable.
	(cxx_eval_call_expression): Adjust diagnostics.
	(cxx_eval_constant_expression): Catch use of 'this' in a constructor.

From-SVN: r178518
2011-09-05 00:33:08 -04:00
GCC Administrator
e818d3ff68 Daily bump.
From-SVN: r178517
2011-09-05 00:18:52 +00:00
Eric Botcazou
1188818c65 * gnat.dg/specs/debug1.ads: Tweak pattern.
From-SVN: r178513
2011-09-04 20:56:12 +00:00
Iain Sandoe
b90c2c4c0b re PR libffi/49594 (bootstrap failure in libffi:darwin_closure for powerpc-darwin8)
PR libffi/49594
	* src/powerpc/darwin_closure.S (stubs): Make the stub binding
	helper reference track the architecture pointer size.

From-SVN: r178512
2011-09-04 19:19:39 +00:00
Iain Sandoe
c0c19685f7 re PR debug/49901 (gfortran.dg/debug/[pr35154-dwarf2.f/pr37738.f] failures on darwin)
PR debug/49901
	* config/darwin.h (DEBUG_MACRO_SECTION): New macro.

From-SVN: r178510
2011-09-04 18:50:09 +00:00
Janus Weil
30ff79fa55 re PR fortran/50227 ([OOP] ICE-on-valid with allocatable class variable)
2011-09-04  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50227
	* trans-types.c (gfc_sym_type): Check for proc_name.

2011-09-04  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50227
	* gfortran.dg/class_45a.f03: New.
	* gfortran.dg/class_45b.f03: New.

From-SVN: r178509
2011-09-04 12:49:13 +02:00
Jakub Jelinek
ad949bcc5e re PR tree-optimization/50208 (ICE: in vinfo_for_stmt at tree-vectorizer.h:598 with -ftree-vectorize -fno-tree-fre -fno-tree-pre)
PR tree-optimization/50208
        * tree-vect-patterns.c (vect_handle_widen_mult_by_const): Add an
        argument.  Check that def_stmt is inside the loop.
        (vect_recog_widen_mult_pattern): Update calls to
        vect_handle_widen_mult_by_cons.
        (vect_operation_fits_smaller_type): Check that def_stmt is
        inside the loop.


Co-Authored-By: Ira Rosen <ira.rosen@linaro.org>

From-SVN: r178508
2011-09-04 09:22:38 +00:00
Ira Rosen
7cd3603bf9 tree-vectorizer.c (vect_print_dump_info): Print line number when dumping to a file.
* tree-vectorizer.c (vect_print_dump_info): Print line
        number when dumping to a file.
        (vectorize_loops): Add new messages to dump file.

From-SVN: r178507
2011-09-04 08:53:43 +00:00
GCC Administrator
917e2efb87 Daily bump.
From-SVN: r178506
2011-09-04 00:18:34 +00:00
Martin Jambor
606d9a0976 ipa-prop.h (ipa_jump_func_t): New typedef.
2011-09-03  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.h (ipa_jump_func_t): New typedef.
	(struct ipa_edge_args): Removed field argument_count, field
	jump_functions turned into a vector.
	(ipa_set_cs_argument_count): Removed.
	(ipa_get_cs_argument_count): Updated to work on vectors.
	(ipa_get_ith_jump_func): Likewise.
	* ipa-prop.c (ipa_count_arguments): Removed.
	(compute_scalar_jump_functions): Use ipa_get_ith_jump_func to access
	jump functions.  Update caller.
	(compute_pass_through_member_ptrs): Likewise.
	(compute_cst_member_ptr_arguments): Likewise.
	(ipa_compute_jump_functions_for_edge): Get number of arguments from
	the statement, allocate vector.
	(ipa_compute_jump_functions): Do not call ipa_count_arguments.
	(duplicate_ipa_jump_func_array): Removed.
	(ipa_edge_duplication_hook): Use VEC_copy, do not copy argument count.
	(ipa_read_node_info): Allocate vector.

From-SVN: r178502
2011-09-03 21:48:39 +02:00
John David Anglin
8f15b6055f re PR middle-end/50232 (reorg.c:3971: undefined reference to `make_return_insns')
PR middle-end/50232
	Correct log entry for last change.

From-SVN: r178501
2011-09-03 16:30:32 +00:00
John David Anglin
157685833c PR Bug middle-end/50232
PR Bug middle-end/50232
	* config/pa/pa.md (return): Define "return" insn pattern.
	(epilogue): Use it when no epilogue is needed.
	* config/pa/pa.c (pa_can_use_return_insn): New function.
	* config/pa/pa-protos.h (pa_can_use_return_insn): Declare.

From-SVN: r178500
2011-09-03 16:21:27 +00:00
Eric Botcazou
13868f4049 cfgexpand.c (add_stack_var): Assert that the alignment is not zero.
* cfgexpand.c (add_stack_var): Assert that the alignment is not zero.
	* tree-ssa-ccp.c (fold_builtin_alloca_for_var): Revert latest change.
	Force at least BITS_PER_UNIT alignment on the new variable.

From-SVN: r178499
2011-09-03 14:56:53 +00:00
GCC Administrator
1822c31f05 Daily bump.
From-SVN: r178497
2011-09-03 00:18:53 +00:00
Gary Funck
58265ea647 opts.c (print_specific_help): Fix off-by-one compare in assertion check.
2011-09-02  Gary Funck <gary@intrepid.com>

	* opts.c (print_specific_help): Fix off-by-one compare in
	assertion check.
	* opts.h (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER,
	CL_TARGET, CL_COMMON, CL_JOINED, CL_SEPARATE, CL_UNDOCUMENTED):
	Increase by +5 to allow for more languages.
	* optc-gen.awk: Generate #if that ensures that the number of
	languages is within the implementation-defined limit.

From-SVN: r178491
2011-09-02 21:19:17 +00:00
Michael Matz
dde460d482 re PR middle-end/50260 (internal compiler error: Segmentation fault at ../../gcc/gcc/tree-ssa-live.c:88)
PR middle-end/50260
	* ipa-split.c (split_function): Call add_referenced_var.

	* tree-ssa-phiopt.c (cond_store_replacement): Don't call get_var_ann.
	(cond_if_else_store_replacement_1): Ditto.
	* tree-ssa-pre.c (get_representative_for): Ditto.
	(create_expression_by_pieces): Ditto.
	(insert_into_preds_of_block): Ditto.
	* tree-sra.c (create_access_replacement): Ditto.
	(get_replaced_param_substitute): Ditto.

From-SVN: r178489
2011-09-02 18:31:47 +00:00
Bernd Schmidt
6bd9bf4254 c6x.md (collapse-ndfa, [...]): New automata_options.
* config/c6x/c6x.md (collapse-ndfa, no-comb-vect): New
	automata_options.
	(d1, l1, s1, m1, d2, l2, s2, m2): Changed to define_query_cpu_unit.
	(l1w, s1w, l2w, s2w): Define in the main automaton.
	(fps1, fpl1, adddps1, adddpl1, fps2, fpl2, adddps2, adddpl2): New
	units.
	* config/c6x/c6x.c (c6x_sched_insn_info): Add unit_mask member.
	(c6x_unit_names): Add the new units.
	(c6x_unit_codes): New static array.
	(UNIT_QID_D1, UNIT_QID_L1, UNIT_QID_S1, UNIT_QID_M1, UNIT_QID_FPS1,
	UNIT_QID_FPL1, UNIT_QID_ADDDPS1, UNIT_QID_ADDDPL1,
	UNIT_QID_SIDE_OFFSET): New macros.
	(RESERVATION_S2): Adjust value.
	(c6x_option_override): Compute c6x_unit_codes.
	(assign_reservations): Take the unit_mask of the last instruction
	into account.  Detect floating point reservations by looking for
	the new units.  Don't assign reservations if the field is already
	nonzero.
	(struct c6x_sched_context): Add member prev_cycle_state_ctx.
	(init_sched_state): Initialize it.
	(c6x_clear_sched_context): Free it.
	(insn_set_clock): Clear reservation.
	(prev_cycle_state): New static variable.
	(c6x_init_sched_context): Save it.
	(c6x_sched_init): Allocate space for it and clear it.
	(c6x_sched_dfa_pre_cycle_insn): New static function.
	(c6x_dfa_new_cycle): Save state at the start of a new cycle.
	(c6x_variable_issue): Only record units in the unit_mask that
	were not set at the start of the cycle.
	(c6x_variable_issue): Compute and store the unit_mask from the
	current state.
	(reorg_split_calls): Ensure the new information remains correct.
	(TARGET_SCHED_DFA_NEW_CYCLE, TARGET_SCHED_CLEAR_SCHED_CONTEXT,
	TARGET_SCHED_DFA_PRE_CYCLE_INSN): Define.
	* config/c6x/c6x.h (CPU_UNITS_QUERY): Define.
	* config/c6x/c6x-sched.md.in (fp4_ls_N__CROSS_, adddp_ls_N__CROSS_):
	Add special reservations.
	* config/c6x/c6x-sched.md: Regenerate.

From-SVN: r178488
2011-09-02 17:53:54 +00:00
François Dumont
e1f3ce0db1 testsuite_allocator.h (tracker_allocator_counter:: allocate): Update allocation count only if allocation succeeded.
2011-09-02  François Dumont  <fdumont@gcc.gnu.org>

	* testsuite/util/testsuite_allocator.h (tracker_allocator_counter::
	allocate): Update allocation count only if allocation succeeded.

From-SVN: r178486
2011-09-02 15:54:16 +00:00
Martin Jambor
d7da5cc85c ipa-prop.h (ipa_node_params): Removed fields called_with_var_arguments and node_versionable.
2011-09-02  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.h (ipa_node_params): Removed fields
	called_with_var_arguments and node_versionable.
	(ipa_set_called_with_variable_arg): Removed.
	(ipa_is_called_with_var_arguments): Likewise.
	* ipa-cp.c (ipa_get_lattice): Fixed index check in an assert.
	(determine_versionability): Do not check for type attributes and va
	builtins.  Record versionability into inline summary.
	(initialize_node_lattices): Do not check
	ipa_is_called_with_var_arguments.
	(propagate_constants_accross_call): Likewise, ignore arguments we do
	not have PARM_DECLs for, set variable flag for parameters that were
	not passed a value.
	(create_specialized_node): Dump info that we cannot change signature.
	* ipa-prop.c (ipa_compute_jump_functions): Do not care about variable
	number of arguments.
	(ipa_make_edge_direct_to_target): Likewise.
	(ipa_update_after_lto_read): Likewise.
	(ipa_node_duplication_hook): Do not copy called_with_var_arguments flag.
	* tree-inline.c (copy_arguments_for_versioning): Copy PARM_DECLs if
	they were remapped.

	* testsuite/gcc.dg/ipa/ipcp-3.c: New test.

From-SVN: r178485
2011-09-02 17:37:38 +02:00
Richard Guenther
e9e1d143b5 re PR tree-optimization/27460 (Does not vectorize statements with mixed type COND_EXPRs)
2011-09-02  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/27460
	PR middle-end/29269
	* doc/md.texi (vcond): Document.
	* genopinit.c (optabs): Turn vcond{,u}_optab into a conversion
	optab with two modes.
	* optabs.h (enum convert_optab_index): Add COI_vcond, COI_vcondu.
	(enum direct_optab_index): Remove DOI_vcond, DOI_vcondu.
	(vcond_optab): Adjust.
	(vcondu_optab): Likewise.
	(expand_vec_cond_expr_p): Adjust prototype.
	* optabs.c (get_vcond_icode): Adjust.
	(expand_vec_cond_expr_p): Likewise.
	(expand_vec_cond_expr): Likewise.
	* tree-vect-stmts.c (vect_is_simple_cond): Return the comparison
	vector type.
	(vectorizable_condition): Allow differing types for comparison
	and result.

	* config/i386/i386.c (ix86_expand_sse_cmp): Use proper mode
	for the comparison.
	* config/i386/sse.md (vcond<mode>): Split to
	vcond<V_256:mode><VF_256:mode>, vcond<V_128:mode><VF_128:mode>,
	vcond<V_128:mode><VI124_128:mode> and
	vcondu<V_128:mode><VI124_128:mode>.
	(vcondv2di): Change to vcond<VI8F_128:mode>v2di.
	(vconduv2di): Likewise.
	* config/arm/neon.md (vcond<mode>): Change to vcond*<mode><mode>.
	(vcondu<mode>): Likewise.
	* config/ia64/vect.md (vcond<mode>): Likewise.
	(vcondu<mode>): Likewise.
	(vcondv2sf): Likewise.
	* config/mips/mips-ps-3d.md (vcondv2sf): Likewise.
	* config/rs6000/paired.md (vcondv2sf): Likewise.
	* config/rs6000/vector.md (vcond<mode>): Likewise.
	(vcondu<mode>): Likewise.
	* config/spu/spu.md (vcond<mode>): Likewise.
	(vcondu<mode>): Likewise.

	* gcc.dg/vect/vect-cond-7.c: New testcase.

From-SVN: r178480
2011-09-02 13:53:32 +00:00
Richard Guenther
aa547a51da pretty-print.h (pp_unsigned_wide_integer): New.
2011-09-02  Richard Guenther  <rguenther@suse.de>

	* pretty-print.h (pp_unsigned_wide_integer): New.
	* tree-pretty-print.c (dump_generic_node): Print unsigned
	host-wide-int fitting INTEGER_CSTs with pp_unsigned_wide_integer.

From-SVN: r178479
2011-09-02 13:52:12 +00:00
Paolo Carlini
6aa67e7b99 bitset: Trivial formatting fixes.
2011-09-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset: Trivial formatting fixes.

From-SVN: r178478
2011-09-02 13:49:10 +00:00
Joseph Myers
781a318d0d * ja.po: Update.
From-SVN: r178476
2011-09-02 14:45:31 +01:00
Richard Sandiford
42ea8b2790 re PR target/49987 (gcc.c-torture/compile/pr34856.c fails on powerpc-darwin9 from r176228)
gcc/
	PR target/49987
	* config/rs6000/rs6000.c (paired_expand_vector_init): Check for
	valid CONST_VECTOR operands.
	(rs6000_expand_vector_init): Likewise.

From-SVN: r178474
2011-09-02 13:32:10 +00:00
Paolo Carlini
0217ac04cb bitset (_Base_bitset<>::_M_are_all_aux): Remove.
2011-09-02  Paolo Carlini  <paolo.carlini@oracle.com>
	    Marc Glisse  <marc.glisse@normalesup.org>

	* include/std/bitset (_Base_bitset<>::_M_are_all_aux): Remove.
	(_Base_bitset<>::_M_are_all): Add.
	(bitset<>::all): Use the latter, improve implementation.

Co-Authored-By: Marc Glisse <marc.glisse@normalesup.org>

From-SVN: r178473
2011-09-02 13:30:32 +00:00
Martin Jambor
81fa35bd59 cgraph.h (cgraph_indirect_call_info): Removed field thunk_delta.
2011-09-02  Martin Jambor  <mjambor@suse.cz>

	* cgraph.h (cgraph_indirect_call_info): Removed field thunk_delta.
	* gimple-fold.c (gimple_get_virt_method_for_binfo): Rewritten to use
	BINFO_VTABLE.  Parameter delta removed, all callers updated.
	* tree.c (free_lang_data_in_binfo): Clear BINFO_VIRTUALs instead
	BINFO_VTABLE.
	* cgraph.c (cgraph_make_edge_direct): Removed parameter delta, updated
	all calls.
	* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Removed
	handling of thunk_delta.
	* ipa-cp.c (get_indirect_edge_target): Removed parameter delta.
	(devirtualization_time_bonus): Do not handle thunk deltas.
	(ipcp_discover_new_direct_edges): Likewise.
	* ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
	(try_make_edge_direct_simple_call): Likewise.
	(try_make_edge_direct_virtual_call): Likewise.
	* lto-cgraph.c (output_cgraph_opt_summary_p): Likewise.  Mark
	parameter set as unused.
	(output_edge_opt_summary): Likewise.  Mark both parameters as unused.
	* lto-cgraph.c (output_cgraph_opt_summary_p): Likewise.  Mark
	parameter set as unused.
	(output_edge_opt_summary): Likewise.  Mark both parameters as unused.
	(input_edge_opt_summary): Likewise.
	* lto-streamer-out.c (lto_output_ts_binfo_tree_pointers): Do not stream
	BINFO_VIRTUALS at all.
	* lto-streamer-in.c (lto_input_ts_binfo_tree_pointers): Likewise.

	* testsuite/g++.dg/ipa/devirt-3.C: Added a distraction method.
	* testsuite/g++.dg/ipa/ivinline-7.C: Added a test for direct call
	discovery, xfailed test for inlining.
	* testsuite/g++.dg/ipa/ivinline-9.C: Likewise.

From-SVN: r178472
2011-09-02 15:26:30 +02:00
Richard Guenther
5d882cc1da tree-ssa-ccp.c (fold_builtin_alloca_for_var): Do not fold alloca (0).
2011-09-02  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-ccp.c (fold_builtin_alloca_for_var): Do not
	fold alloca (0).
	(ccp_fold_stmt): Continue replacing args when folding
	alloca fails.

From-SVN: r178465
2011-09-02 11:53:55 +00:00
Paolo Carlini
5da7fa30da re PR libstdc++/50268 ([C++0x] bitset doesn't sanitize input)
2011-09-02  Paolo Carlini  <paolo.carlini@oracle.com>
	    Marc Glisse  <marc.glisse@normalesup.org>

	PR libstdc++/50268
	* include/std/bitset (struct _Sanitize_val): Add.
	(bitset<>::bitset(unsigned long long)): Fix.
	* testsuite/23_containers/bitset/cons/50268.cc: New.

Co-Authored-By: Marc Glisse <marc.glisse@normalesup.org>

From-SVN: r178463
2011-09-02 10:28:36 +00:00